reth
reth copied to clipboard
feat: bsc sdk
trafficstars
Prototyping BSC SDK changes required to execute blocks:
- [x] Specification
- [x] TxEnv BSC fields
- [x] EVM Handler
- [x] Precompiles
- istanbul adds 2 more precompiles to the standard behaviour
- berlin replaces with plato precompiles
- cancun replaces with feynman
- latest is replaced with bsc latest
- [x] Revm Api
- [x] ConfigureEvm impl
- [x] BscBlock executor: - apply_pre_execution_changes - execute_transaction_with_state_closure - finish - set_state_hook - evm_mut
- [x] Node Apis - BscConsensus (remove extra_data max size validation) - BscEngineVaidator (remove extra_data max size validation)
- [x] Bsc distribute block rewards
- [x] Can sync integration test: - Can sync from file - Can sync from p2p
- [x] Synced blocks via pipeline sync via:
RUST_LOG=info \
cargo run --package example-bsc-sdk \
--bin example-bsc-sdk --all-features \
node \
--chain bsc \
--debug.tip "0xaca533a947b6a4d6f5f34735aaf5d8fdec8a6e356ed83209994ad34674247410" \
@rakita are you familiar with the previous changes for bsc for revm v19?
I am not familiar, do you have doc/link/repo or something that I look at? cc @loocapro
CodSpeed Performance Report
Merging #15089 will not alter performance
Comparing loocapro:bsc-evm (96acf85) with main (256a1eb)
Summary
✅ 77 untouched benchmarks
Closing in favor of:
https://github.com/loocapro/reth-bsc