Announcing Anvil, a blazing-fast local testnet node implementation, in Rust!

You can consider Anvil a drop-in replacement for `ganache-cli` or `hardhat node`, for deploying & testing your contracts from frontends or interacting over RPC. 1/N Image
In the spirit of all Foundry tools, Anvil is fast! ~3.5x faster than Hardhat on @uniswap/v3-periphery.

This is still an early release, so more testing is welcome here, so that we can further improve performance and/or identify edge cases!

github.com/foundry-rs/fou… Image
Anvil supports all major eth namespace RPC APIs, as well as Hardhat's state overrides, evm_mine, evm_snapshot, geth/parity style traces & more!

@MattssE built it to be as backwards compatible as possible, so that it can act as a drop-in replacement for Ganache & Hardhat nodes!
You can get Anvil on all Foundry-supported platforms with the latest `foundryup`.

1. Update foundryup: `curl -L foundry.paradigm.xyz | bash`
2. Run it: `foundryup`

Boom! No third party dependencies, ~6MB binary! Image
Anvil is modular, meaning the RPC types & handlers are split in a way that they're reusable in third party packages, e.g. a Rust JSON-RPC proxy.

It's built using Axum, which is the next-generation library for building web applications in Rust github.com/tokio-rs/axum
Next steps now that we have Anvil:

Build a Hardhat plugin which injects the Foundry toolchain to improve the devex of Hardhat users:
* Launch Anvil instead of Hardhat node
* Use `forge build` instead of `hardhat compile`

Both resulting in faster builds and testing!
Anvil was built by @MattssE who over the last ~4-5 weeks has been solely focused on it, building on @rohitnarurkar's previous work.

The commits & review comments are a great way to get ramped up in Foundry development and would recommend taking a look.

We've been non-stop developing Foundry to improve the Ethereum developer experience.

If you like the work, consider starring the Github repository!

Onwards! /fin

yikes typo twitter.com/mattsse_, follow this guy

• • •

Missing some Tweet in this thread? You can try to force a refresh

Keep Current with Georgios Konstantopoulos

Georgios Konstantopoulos Profile picture

Stay in touch and get notified when new unrolls are available from this author!

Read all threads

This Thread may be Removed Anytime!


Twitter may remove this content at anytime! Save it as PDF for later use!

Try unrolling a thread yourself!

how to unroll video
  1. Follow @ThreadReaderApp to mention us!

  2. From a Twitter thread mention us with a keyword "unroll"
@threadreaderapp unroll

Practice here first or read more on our help page!

More from @gakonst

Feb 2
Domino effect of now uncollateralized loans against wormhole ETH severely undermentioned
Worth noting that criticisms against @wormholecrypto security model are quite irrelevant here. This is a smart contract bug, can happen to anything, whether it is a multisig or a rollup bridge. We need better critics as usual :)
Read 5 tweets
Dec 22, 2021
IMO problem is that there's too many junior tutorials (any dev can learn basic Solidity syntax in a weekend) vs more advanced ones for senior ppl, some examples being gas optimizations, patterns for vault/staking/governance/asset transfer contracts, fuzzing/testing workflows etc.
Fullstack intro to Solidity + React tutorials = missing the point

Solidity guides CANNOT include "btw here's how you learn to write mocha tests in javascript"
Why has this been the case? Because the toolchain is so Javascript & web dev heavy, when the job is a backend eng job! Worry not, we'll fix this :)
Read 7 tweets
Dec 8, 2021
Excited to announce Foundry!

Foundry is a portable, fast and modular toolkit for Ethereum application development 🧵

Foundry is a reimplementation of the testing framework @dapptools, written in Rust to be blazing fast, easy to install, and friendly to a wider set of contributors.

While our codebase is not a fork, a huge THANK YOU to the DappHub team for creating and maintaining DappTools.
Foundry is FAST, some benchmarks below.

We can do better with parallel testing & compilation, both being worked on.
Read 10 tweets
Sep 3, 2021
I’m excited to announce LootLoose.com.

LootLoose lets you unbundle your @lootproject bags into individual ERC1155 NFTs or rebundle them into their original Loot bags.

@_anishagnihotri built the frontend, and I did the smart contracts.

⬇️Thread 1/10.
Each @lootproject bag is an ERC721 NFT containing 8 individual items.

However, we’ve seen user demand gravitate towards select items like Divine Robes or Katanas.

With LootLoose, you can open a bag and unbundle its items into individual ERC1155 NFTs. 2/10
Now, you can choose to keep your Divine Robe, and sell or trade your other items.

Because we use ERC1155, this also means that you can own more than 1 copy of the same item!

The tokens can be filtered by attribute, e.g. letting you find all hand slots or augmented items. 3/10
Read 10 tweets
May 27, 2021
Sober thread on EIP-1559 by Taylor, agree & disagree with many of the points brought up. Thoughts below..
It indeed smooths out gasprice vol, not 'make fees low'

Periods of rapidly increasing demand are controlled via the BASEFEE's exp. increase

Miner incentives remain the same, the EIP does not introduce any new attacks! That's a good thing!


The proposal's implementation is simple (thanks to EIP2718), there's been stable testnets with it running smoothly.

As for the incentives, that's what @algo_class's report analyzed to a great extent timroughgarden.org/papers/eip1559…

Read 13 tweets
Mar 4, 2021
The Berlin Ethereum network upgrade (aka hard fork) is scheduled to happen on mainnet in block 12,244,000, ~41 days from now (etherscan.io/block/countdow…)

Here's a thread with everything you need to know about the changes in the accepted Ethereum Improvement Proposals (EIPs) ⬇️ 1/14
EIP-2929: Gas cost increases for state access opcodes (eips.ethereum.org/EIPS/eip-2929)

State access opcodes have historically been underpriced as found by @danhper in arxiv.org/pdf/1909.07220….

This EIP increases the gas cost for the first time a slot or account is accessed. 2/14
EIP-2929 reprices the “cold” cost of account access opcodes (BALANCE, *CALL, EXT*) to 2600, and reprices state access costs (SLOAD) from 800 to 2100, while setting the “warm” access costs to 100. 3/14
Read 15 tweets

Did Thread Reader help you today?

Support us! We are indie developers!

This site is made by just two indie developers on a laptop doing marketing, support and development! Read more about the story.

Become a Premium Member ($3/month or $30/year) and get exclusive features!

Become Premium

Don't want to be a Premium member but still want to support us?

Make a small donation by buying us coffee ($5) or help with server cost ($10)

Donate via Paypal

Or Donate anonymously using crypto!


0xfe58350B80634f60Fa6Dc149a72b4DFbc17D341E copy


3ATGMxNzCUFzxpMCHL5sWSt4DVtS8UqXpi copy

Thank you for your support!

Follow Us on Twitter!