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
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!
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.
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 :)
Explanation by my colleague and security legend @samczsun
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.
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.
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
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