Summary
- Integration with new REVM State API (#3512).
Important
REVM State integration also mitigates a bug that caused multiple node failures after encountering a selfdestruct in a reorg. Update is highly recommended.
- Finished preparation for upcoming Cancun hardfork (#4299, #4305, #4335, #4388, #4406, #4407, #4408, #4420, #4422, #4425, #4440, #4443, #4447, #4457, #4482, #4487, #4489, #4490, #4495, #4500, #4521, #4524, #4523, #4534, #4608, #4610, #4631, #4633, #4672, #4676, #4680, #4688, #4692, #4699, #4700, #4722)
- Pruning post-release updates (#4382, #4390, #4402, #4410, #4428, #4431, #4488, #4613)
- Started working on snapshots (#4512, #4582)
- Fixed txpool memory leak (#4599)
Update Priority
This table provides priorities for which classes of users should update particular components.
User Class | Priority |
---|---|
Payload Builders | High |
Non-Payload Builders | High |
See Update Priorities for more information about this table.
All Changes
- release: v0.1.0-alpha.9 (#4766)
- perf: remove unnecessary state clone (#4763)
- chore: pin breaking icu releases (#4760)
- Callrequest fee validation (#4685)
- fix: add hive job experimental flag again (#4756)
- fix: block overrides inconsistencies (#4746)
- Example: Manual P2P (#4736)
- (chore) fix reth book dockercmd with correct datadir path for volume (#4753)
- fix: export self::zstd (#4747)
- feat(txpool) add blob transaction sidecar listeners (#4722)
- fix(hive): jobs need experimental flag (#4744)
- perf/refactor: use tokio_util::sync::PollSender for ActiveSession -> SessionManager messages (#4603)
- support EIP-4844 transaction when building pending block (#4688)
- fix: allow unknown fields in ExecutionPayloadV1 (#4733)
- fix: add slash to match only fork suites (#4732)
- feat(CI): add timeout to CI (#4728)
- chore: fix flaky test (#4729)
- feat: add merge and pre-merge pyspec jobs (#4726)
- feat(interfaces): better documentation for
ConsensusError
(#4725) - chore: bump revm (#4723)
- feat: add
nippy-jar
format for snapshots (#4512) - remove deprecated log line (#4719)
- fix: pin revm until we move to crates deps again (#4707)
- feat: enable EIP-7516 hive tests (#4717)
- feat: add updated beacon root contract address (#4665)
- fix(tree): retain
max(additional, max_reorg_depth)
block hashes (#4612) - (chore) Add enode address on startup (#4712)
- fix: make into_transaction fallible (#4710)
- (chore) surface block hash for MissingTotalDifficulty error (#4711)
- feat(interfaces): better doc for
BlockValidationError
andBlockExecutionError
(#4708) - fix: bump revm with breaking change (#4706)
- refactor(engine): update sync state for r/w hooks (#4687)
- chore: fix non_snake_case rust-analyzer warning (#4689)
- feat(interfaces): move
BlockHashNotFoundInChain
toBlockchainTreeError
(#4697) - fix: add excess_blob_gas for first cancun block (#4700)
- chore: simplify get precompiles (#4681)
- fix: add CANCUN to revm_spec_by_timestamp_after_merge (#4699)
- feat: add enough blob fee tx state (#4680)
- feat(book): update CLI section (#4694)
- feat(interfaces): better document
BlockchainTreeError
(#4693) - chore: update revm and map new errors to rpc (#4696)
- feat(primitives): add
calculate_blob_gas_used
function inSealedBlock
(#4692) - refactor(interfaces):
Result
->RethResult
,Error
->RethError
(#4695) - refactor(engine): always connect buffered blocks on r/w hook finish (#4657)
- feat(error): revamp
make_canonical
error (#3899) - feat: validate blob_gas_used in header (#4676)
- feat: add pyspec cancun tests to hive workflow (#4677)
- chore: shorten info interval (#4666)
- add
TransactionsProvider
implementation forMockEthProvider
(#4656) - feat(net): add helper functions to
TransactionsHandle
implementation (#4668) - fix: convert SpecId::Cancun to cancun precompile id (#4675)
- fix: set block env excess blob gas (#4672)
- fix: deny unknown payload fields (#4667)
- feat: Duplicate Withdrawal and move try from impls to rpc-compat (#4186)
- refactor(engine, tree): connect buffered blocks on pruner finish (#4613)
- fix: clear buffered blocks on sync (#4658)
- feat: add pre-block EIP-4788 beacon root contract call (#4457)
- perf: optimize engine poll loop (#4655)
- refactor: remove duplicate RPC namespaces from arguments (#4418)
- fix: typos (#4648)
- feat(rpc): split
test_fee_history
in multiple tests (#4646) - feat: add max logs per response cli arg (#4644)
- refactor(bin): CL events conditions (#4643)
- feat(engine): hooks (#4582)
- feat(prune): add pruner log with
INFO
level (#4573) - feat(bin): log prune config on startup (#4641)
- chore: fix doc lints (#4639)
- fix: use proper type for engine_newPayloadV2 (#4630)
- refactor: use revm blob fee calc (#4637)
- chore: get rid of unreachable (#4638)
- perf(rpc): fetch range of blocks and return empty if unchanged (#4592)
- feat: enable size-limited file logs by default (#4192)
- fix: fill missing eip4844 settings (#4633)
- test: add assert_invariants (#4623)
- chore: demote session established log level (#4564)
- 4844 blob txs (#4631)
- chore(deps): weekly
cargo update
(#4627) - fix: apply FCU on invalid PayloadAttributes (#4591)
- chore(deps): bump jsonrpsee 0.20.1 (#4624)
- feat(revm): Integrate State (#3512)
- feat(cli): allow multiple trusted peers (#4619)
- fix: return UnsupportedFork on V2 endpoints (#4593)
- fix: holesky genesis (#4616)
- Make tx pool mock public (#4611)
- feat: add blob transactions subpool (#4608)
- test: add blob exclusive test e2e (#4606)
- fix(txpool): pending subpool basefee update (#4610)
- fix(ci): valgrind installation (#4605)
- chore(ci): run check and clippy on tests and benches too (#4587)
- test(txpool): add replacement test (#4596)
- fix: remove popped tx from total set (#4599)
- chore: new clippy lints (#4598)
- chore: new lint name (#4597)
- fix: use cached encoded length (#4577)
- fix: limit payload bodies range by best block (#4584)
- feat: add missing caps (#4581)
- chore(ci): different clippy action (#4579)
- chore(clippy): make clippy happy (#4578)
- chore: silence clippy clone warning (#4574)
- fix: ensure final message is always delivered (#4569)
- fix: ensure sender transaction types dont conflict (#4567)
- docs: add note about eip-4844 broadcast (#4570)
- Update network.rs -- typo fix (#4545)
- fix: enforce unsupported fork rules on get_payload_v3 (#4562)
- chore: add missing is empty check (#4565)
- fix: update Status ForkId on new head (#4560)
- perf: limit number of new batch of dials (#4530)
- fix: set trace results root trace's gas used to execution result gas (#4556)
- feat: add blob tx replacement overdraft check (#4534)
- Add inflight transaction requests metric to dashboard (#4554)
- chore: fix warnings (#4553)
- feat: enforce replacements dont conflict (#4539)
- chore: update dependencies with breaking changes (#4555)
- chore: pin git dependencies to specific revs (#4552)
- chore(book): fix imposter USDC address (#4549)
- test: enable geth tests again (#4544)
- feat: add metrics for inflight get pooled tx requests (#4547)
- feat: add discovery port function (#4543)
- chore(deps): weekly
cargo update
(#4542) - chore: bump sale period to 21 days (#4526)
- fix: set trace results root trace's gas used to execution results gas (#4506)
- fix: add missing holesky variant (#4541)
- chore: rm redundant clone (#4540)
- fix: wake future after buffering pong (#4536)
- feat: holesky support (#4359)
- docs: add full node size on installation recs
- docs: bump latitude discount code
- perf: increase refill slots interval (#4528)
- chore: change best unconnected condition (#4527)
- dep: ethers@2.0.10 (#4535)
- test: add backward compat toml test (#4531)
- chore: rm todo about polling jobs (#4532)
- Apply foundry improvements to reth (#4518)
- #2511: extended reth-rpc example with custom rpc ext (#4508)
- fix: use max_fee_per_blob_gas in blob gas cost calc (#4521)
- fix: enable cancun in transaction validator if active at genesis (#4522)
- fix: use
blob_fee
to calculate blob_gas_used in receipts (#4523) - fix: check for parent root before cancun (#4524)
- fix: ensure only canonical state is returned if requested by number/hash (#4517)
- feat: add base fee and blob fields to genesis (#4516)
- chore(ci): cargo check (#4511)
- fix(tasks): use
crate::metrics
to avoid ambiguity (#4509) - fix(primitives): set cancun header fields if active at genesis (#4500)
- perf: small access list perf (#4505)
- chore: add is_empty check before read lock (#4507)
- fix: skip optional fields in parity trace (#4503)
- fix: filter out pre-genesis timestamp forks (#4501)
- chore: bump c-kzg and add serde feature (#4499)
- chore: remove outdated TODOs (#4498)
- feat: support blobs in eth_sendRawTransaction (#4495)
- add metrics counter for finished spawned tasks (#4481)
- fix(rpc-types): do not flatten in ExecutionPayloadV3 (#4492)
- feat(engine): enable v3 endpoints (#4490)
- fix(primitives): map cancun to timestamp fork (#4491)
- feat: enforce no nonce gaps for eip-4844 (#4487)
- feat: add blob costs to cost value (#4489)
- feat(primitives): remove constraints on
SenderRecovery
pruning (#4488) - feat(storage, tree): respect
Sender Recovery
pruning in the blockchain tree (#4431) - feat: delete discarded blob txs from blob store (#4408)
- perf: skip blobs if no blob space available (#4480)
- feat: add get blobs exact (#4482)
- feat(storage): better sender recovery if not found in database (#4471)
- Remove redundant clones (#4485)
- add semaphore to EthStateCacheService (#4477)
- chore: add cancun to hive job (#4478)
- feat(txpool): add
skip_blob_transactions
function toBestTransactions
(#4455) - feat: pass parent beacon block root to payload builder (#4425)
- test(storage): recover senders if not found in database (#4470)
- feat(storage): recover senders if not found in database (#4280)
- chore: fix clippy (#4468)
- docs: add WSL2 Disk allocation (Bus error) (#4463)
- docs(book): mention full node in
mainnet.md
(#4454) - consolidate eip4844 pool errors (#4453)
- Fix: high load RPC putting node in a broken state: avoid running blocking tasks within blocking tasks (#4461)
- chore(deps): weekly
cargo update
(#4464) - chore: fix deps sanity check (#4462)
- chore: do not warn when the chain is syncing normally (#4458)
- feat(stages): respect
PruneModes
inTxLookup
stage (#4390) - feat(storage, tree): respect
Transaction Lookup
pruning in the blockchain tree (#4410) - Remove duplicate in codeowners (#4451)
- feat: add blob count checks (#4447)
- docs: add missing field docs (#4446)
- feat: support pending blob fee (#4443)
- chore: apply same order
- docs: minor fixes/polish to private network docs (#4441)
- feat: add blob fee calc functions (#4440)
- feat: support admin_peers (#4435)
- fix: listen for all transactions (#4436)
- docs: add aquamarine as dep to reth (#4433)
- fix(grafana): peer disconnect reasons chart (#4429)
- fix(pruning): dont check pruning on every storage change for the same block (#4402)
- Add BlobStore metrics to grafana (#4424)
- docs(book): pruning & full node RPC breakdown & improvements (#4428)
- feat(stages): respect
PruneModes
in Index History stages (#4382) - feat: add a CLI flag for secondary nodes (#4029)
- feat: add eip4844 fields to rpc transaction (#4422)
- feat: validate payload versioned hashes (#4417)
- fix: use payload v2 for v2 (#4421)
- feat: add blob fields to receipt type (#4420)
- chore: add eip4844 nonce gap error (#4414)
- chore: add max fee per blob gas to mock transaction (#4416)
- feat(cli): extract more functions from
RpcServerArgs
inRethRpcConfig
(#4412) - feat(primitives): add doc for
parent_beacon_block_root
inHeader
(#4415) - feat(rpc): add documentation for
calculate_reward_percentiles
(#4413) - feat: add max blob fee per gas underpriced check (#4406)
- feat(book): document rpc limitations during pipeline sync (#4411)
- feat: add CancunPayloadFields for engine_newPayloadV3 (#4407)
- chore: introduce versioned
ExecutionPayload
(#4400) - feat: add holesky bootnodes (#4404)
- feat(cli): allow overriding kzg trusted setup (#4335)
- feat: integrate blobs into the payload builder (#4305)
- feat: integrate price bump (#4398)
- feat: add EIP-4788 parent_beacon_block_root to Header (#4299)
- chore: rename price bump arg (#4399)
- bump(revm): with fix (#4389)
- perf: no need to keep track of replaced txs (#4394)
- chore: mention Sepolia changes in Docker Compose files (#4391)
- chore: pin Grafana version in docker-compose.yml (#4395)
- fix: complete vmTrace memory delta recording (#4227)
- feat: validate blobs (#4388)
- fix(txpool): respect propagate setting in the full tx stream (#4362)
- docs: clean up payload builder docs (#4380)
- feat(book): note on pruning (#4387)
- feat(grafana): blockchain tree canonical commit time (#4385)
Binaries
See pre-built binaries documentation.
The binaries are signed with the PGP key: A3AE 097C 8909 3A12 4049 DF1F 5391 A3C4 1005 30B4
System | Architecture | Binary | PGP Signature |
---|---|---|---|
x86_64 | reth-v0.1.0-alpha.9-x86_64-unknown-linux-gnu.tar.gz | PGP Signature | |
aarch64 | reth-v0.1.0-alpha.9-aarch64-unknown-linux-gnu.tar.gz | PGP Signature | |
x86_64 | reth-v0.1.0-alpha.9-x86_64-pc-windows-gnu.tar.gz | PGP Signature | |
x86_64 | reth-v0.1.0-alpha.9-x86_64-apple-darwin.tar.gz | PGP Signature | |
aarch64 | reth-v0.1.0-alpha.9-aarch64-apple-darwin.tar.gz | PGP Signature | |
System | Option | - | Resource |
Docker | v0.1.0-alpha.9 | paradigmxyz/reth |