Open mojtaba-eshghie opened 7 months ago
A symbolic testing tool for EVM smart contracts https://github.com/a16z/halmos/
A repo to showcase web3 hacks https://github.com/Cyfrin/sc-exploits-minimized
Kontrol combines KEVM and Foundry to grant developers the ability to perform formal verification without learning a new language or tool. https://github.com/runtimeverification/kontrol
K Tutorial https://github.com/runtimeverification/k/tree/master/k-distribution/k-tutorial
Transaction trace_call RPC Method (quicknode) Look at stateDiff parameter: It returns the information on altered Ethereum state due to execution of the given transaction https://www.quicknode.com/docs/ethereum/trace_call
Tracediff allows you to load evm (jsonl) files and find differences. Traceview allows you to analyse an evm trace file https://github.com/holiman/goevmlab
Forking the blockchain using Ganache and Foundry (Anvil): https://www.quicknode.com/guides/ethereum-development/smart-contracts/how-to-fork-ethereum-blockchain-with-foundry https://www.quicknode.com/guides/ethereum-development/smart-contracts/how-to-fork-ethereum-blockchain-with-foundry
Extracting the contract layout from EVM bytecode: https://github.com/smlxl/storage-layout-extractor https://github.com/banteg/storage-layout https://github.com/nevillegrech/gigahorse-toolchain
Go evmlab
This project is inspired by EVMlab, which was written in Python. EVMlab featured a minimal "compiler", along with some tooling to view traces in a UI, and execute scripts against EVMs (parity and geth).
This is a golang rewrite from scratch of that same project, this time in go-lang to be more stable and nice to use.
GETH Tracing GETH Basic traces Built-in tracers Custom EVM tracer