fevm-test-vectors
generate test vector from geth rpc with debug namespace enabled.
cargo build --release
extract ethereum transaction
Extract transaction detail file through evm tracing
(including contract slot changes, balance changes, and bytecodes, etc.).
RUST_LOG=info fevm-test-vectors extract --geth-rpc-endpoint <GETH_RPC_ENDPOINT> --tx-hash <TX_HASH> --out-dir <OUT_DIR>
generate test vector
Generate test vector from transation detail file.
RUST_LOG=info fevm-test-vectors generate-from-file --input <IN_FILE|IN_DIR> --out-dir <OUT_DIR>
Generate test vector from geth rpc directly.
RUST_LOG=info fevm-test-vectors generate --geth-rpc-endpoint <GETH_RPC_ENDPOINT> --tx-hash <TX_HASH> --out-dir <OUT_DIR>
Use froghub-io/ref-fvm branch testing-evm-vectors
to consume test vectors.
RUST_LOG=info CARGO_PROFILE_BENCH_DEBUG=true VECTOR=fevm-test-vectors/corpus/test_vectors/xxx.json cargo bench --bench bench_conformance -- --nocapture
Dual-licensed under MIT