Summary
- Critical: Fixed a bug where intermediate storage trie hashes for destroyed accounts were not removed (#4108 & #4126). Added a recovery script for synced nodes (#4109 & #4119).
Important
It is recommended that users run reth recover storage-tries
(provide --datadir
argument if applicable) after installing this release to prevent this bug from occurring in the future.
- Fixed future timestamp check post-merge (#3884).
- Fixed pending transaction ordering (#3955).
- Fixed header validation in block download during live sync (#4034).
- Fixed a bug where best transaction would be removed from the pending subpool when it's full (#4100).
- Started working on upcoming Cancun hardfork (#3807, #3906, #3911, #3928, #3931, #3933, #3940, #3943, #3953, #3972, #4010, #4074, #4084, #4105).
- Improved transaction pool ergonomics (#3967, #4053, #4101) and added support for private transactions (#3977, #4059, #4050).
- Active full (pruned) node work nearing completion (#3728, #3733, #3810, #3892, #3912, #4000, #4006, #4043, #4048, #4061, #4063).
- Various RPC fixes, features, and improvements, tracing in particular (#3852, #3878, #3908, #3914, #3921, #3923, #3997, #4046, #4070, #4076, #4077).
- External contributions for Otterscan support (#3778, #3861, #3886, #4007).
- Improved ergonomics of CLI usage as external dependency, made it extendable (#3983, #4022, #4087).
- Performance (#3950, #4037, #4039, #4062, #4096).
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
- fix(trie): include destroyed accounts in account prefix set (#4126)
- release: 0.1.0-alpha.5 (#4111)
- feat(cli): full storage trie recovery (#4119)
- Revert "feat: add
TransactionSigned::recover_signers
" (#4115) - feat(bin): temporarily disable full node (#4112)
- fix: bad recursion in logs (#4113)
- feat: add
TransactionSigned::recover_signers
(#4098) - feat: do not propagate full 4844 transactions (#4105)
- chore: update cargo.lock (#4110)
- chore: unused deps sanity check (#4106)
- feat(cli): storage tries recovery (#4109)
- fix(trie): dangling storage hashes (#4108)
- fix(txpool): emit events on discarding worst txs (#4101)
- fix(txpool): pending worst transaction (#4100)
- feat(eip4844): include
TxEip4844
in the primitiveTransaction
enum (#4074) - feat: re-export
c-kzg
types and impl rlp traits (#4084) - fix: record push stack as vec u256 (#4077)
- perf: no longer spawn filter tasks (#4096)
- feat: make base fee computation parameters configurable via chain spec (#3992)
- chore: add with ext function (#4087)
- chore(deps): weekly
cargo update
(#4086) - perf(trie): use available pre-loaded prefixsets (#4062)
- chore: add missing op and idx fields (#4076)
- chore: use remaining (#4082)
- RFC: Add rpc method eth_callMany (#4070)
- chore: make ext fns mut (#4081)
- chore: rename command to NodeCommand and make fields pub (#4080)
- chore: relax network blockreader trait bounds (#4079)
- feat(txpool) feed new pending transactions to BestTxns iterator (#4053)
- chore: explicitly set max allowed connections for auth server (#4067)
- chore: make txpool cargo test compile (#4058)
- chore(engine): downgrade new payload buffering log to debug (#4068)
- feat(engine): set
eth_syncing = true
if pruner is active (#4063) - (feat):add private variant in tx origin (#4059)
- fix(pruner): tx number range with genesis (#4061)
- feat: extend RethCliExt with payload builder (#4022)
- fix: only propagate txs that are allowed to be propagated (#4050)
- feat: populate gas cost for vm instructions (#4046)
- chore: move call op match to fn (#4047)
- fix(engine): poll prune first (#4048)
- fix(engine, pruner): prune poll logic, history indices (#4043)
- docs: rm some tracing todos + docs
- perf: improve ipc poll logic (#4037)
- feat: add erigons debugTraceCallMany (#3878)
- perf: spawn ipc requests (#4039)
- feat: use
DepositContract
onChainSpec
(#4041) - Fix: successful execution of 'reth stage --commit' did not write results to the database (#4027)
- chore: dont penalize on dropped connections (#4031)
- chore: ignore ef blobTx test (#4038)
- feat(prune): don't prune changesets if taking an incremental hashing/trie route (#4025)
- fix: validate headers in full block downloader (#4034)
- chore: make ipcpath arg default (#4036)
- feat(pruner): account and storage history metrics (#4035)
- feat(engine): require
VALID
latest FCU status before pruning (#3954) - feat(pruner): storage history (#4006)
- feat(pruner): account history (#4000)
- feat(pruner): metrics (#4023)
- feat(cli): add max peer args (#4024)
- feat(engine): payload cancun fields (#4010)
- fix(primitives): nothing to prune situations for
PruneModes
(#4021) - test(txpool): listener it tests (#4019)
- fix: record selfdstructs properly (#3921)
- chore(stages): remove unnecessary prune configuration from history index stages (#4018)
- fix(txpool): clone impl for
FullTransactionEvent
(#4020) - feat(pruner): transaction senders (#3912)
- feat(rpc): ots_getBlockDetails and ots_getBlockDetailsByHash (#4007)
- chore: fix
PrefixSetMut
doc comment (#4015) - chore: add subkey docs to
StorageEntry
(#4016) - Update lib.rs (#4017)
- chore: add example how to install additional rpc namespace (#4005)
- Fix preState diffMode logic (#4014)
- fix: track full_transactions propagation when packet size limited (#3993)
- feat(bin):
node --full
flag (#3965) - fix: serde rename revertReason (#4002)
- feat: Add RethCliExt (#3983)
- feat(p2p): Add
GetReceipts
eth handler implementation (#3959) - feat(pruning): prune ChangeSets & History during pipeline (#3728)
- feat: reth db diff (#3917)
- feat: store logs in different folders based on the chain (#3948)
- fix(pipeline): clear
MerkleStage
checkpoints on invalid root (#3973) - fix(tracing): extend Parity tracing VmExecutedOperation (#3997)
- fix: prevent child call out of bounds (#3920)
- ci: add weekly cargo update workflow (#3986)
- chore(deps): make jsonrpsee types a feature (#3999)
- chore(deps): bump itertools (#3998)
- docs: add additional documentation to
TxType
(#3996) - chore: bump jsonrpsee 0.19 (#3989)
- chore: cargo update (#3988)
- ci: deny warnings only in lint jobs (#3982)
- feat: add 4844 header fields and consensus checks (#3972)
- feat(txpool) - add flag for local tx propagation (#3977)
- add defaults to some rpc server cli args (#3969)
- chore(txpool): pooled tx constructor (#3980)
- chore(txpool): export validation constants (#3979)
- WIP: Implement prestateTracer (#3923)
- feat(cli): in-memory merkle debug script (#3895)
- refactor(rpc): simplify the inner definitions of topics & address filters (#3876)
- Add price bump config (#3967)
- chore: update link to contributing/code of conduct in bug report (#3978)
- chore(rpc-types): remove EngineRpcError (#3975)
- fix(txpool): pendind pool reordering (#3955)
- perf(rpc): move frame gen into task (#3950)
- feat(eip4844): add
EIP4844
to theTxType
enum (#3953) - fix(cli): eta div by zero (#3971)
- chore: move some tests to engine crate (#3968)
- bench(txpool): reordering (#3882)
- refactor(transactions): move TxEip1559, TxEip1559 and TxEip4844 to separate files (#3946)
- chore: move some functions to Cli struct (#3961)
- chore: make auth-port default (#3962)
- feat(rpc): perform js inspector on
spawn_with_call_at
async tracing task (#3957) - refactor(storage): historical state lookup (better comments) (#3867)
- feat(doc): Document
JsTracerBuilder
(#3949) - feat: more blobtx functions (#3943)
- feat: add fcu v3 skeleton (#3940)
- feat: add eip4844 tx type id (#3928)
- feat: metric of reorg depth of blockchain tree (#3860)
- Revert "test(ethereum): ignore invalid string sequence in ethereum state tests (#3307)" (#3937)
- test: cover index storage history stage with stage_test_suite_ext tests (#3898)
- docs:
db clear
CLI (#3936) - fix(stages): transaction lookup stage checkpoint calculation (#3909)
- feat: add Hardfork::Cancun (#3933)
- feat: _V3 engine api skeletons (#3931)
- feat(pruner): percentage progress and prune only if key exists (#3932)
- feat(bin):
db clear
(#3934) - feat: use tracing pool for tracing calls (#3914)
- chore: simplify workspace = true usage (#3930)
- rpc server metrics impl (#3913)
- Reexport geth pre_state AccountState, DiffMode and PreStateMode (#3922)
- feat(pruner): transaction lookup (#3892)
- feat(prune): take
PruneMode::Full
into account when validating the config (#3810) - feat: add dial metric to dashboard (#3802)
- fix(rpc): support both input and data fields (#3911)
- chore: use ruint 1.9 and remove patch (#3910)
- feat: add Tracing call pool (#3908)
- feat: add alias for max response size (#3902)
- chore: add execution aborted error (#3901)
- chore: add eip4844 constants (#3906)
- chore(storage): format MDBX flags doc comments (#3905)
- feat: add a
--dev
option (#3866) - feat(docs): add primer on all transaction types (#3897)
- chore(trie): clean up in-mem root (#3894)
- feat: add canonicalization latency metric (#3865)
- feat: report different request errors (#3857)
- feat: sidechain length metric (#3864)
- feat: add eip 4844 blob tx type (#3807)
- chore: improve TestConsensusEngineBuilder ergonomics (#3891)
- chore: refactor header stream (#3880)
- feat(pruner, storage): prune receipts & save checkpoints to database (#3733)
- fix: do not perform future timestamp checks post-merge (#3884)
- ci: run bench on large runner (#3889)
- ci: reduce partitions (#3890)
- test: cover index account history stage with stage_test_suite_ext tests (#3383)
- feat(rpc): ots_hasCode implementation (#3886)
- ci: use large runners (#3888)
- chore(ci): build tests in release and filter features (#3885)
- feat(rpc): ots_getApiLevel implementation (#3861)
- docs: add 30303 port to plain docker example (#3877)
- fix(autoseal): calculate logs bloom for block headers (#3869)
- fix: convert empty topic vec to vec None (#3856)
- chore(txpool): move basefee to u64 (#3872)
- ci: add another it partition (#3871)
- docs: describe windows dependencies for source builds (#3786)
- docs: prometheus defaults to target itself at 9090 (#3792)
- docs: add subsection describing build process on arm devices (#3854)
- chore(grafana): make instance selector single-value (#3805)
- chore: reorder fields (#3832)
- chore: bump default max response size (#3850)
- feat: wrap gas limit into a new type (#3841)
- fix(rpc): trace get is index not trace address (#3852)
- chore: refactor autoseal execution into method (#3844)
- feat: add reorg metrics (#3824)
- fix: use empty pipeline and executor by default (#3845)
- ci: re-enable workflows on main (#3849)
- ci: increase number of unit test partitions (#3848)
- docs: rm link to make cargo docs happy (#3843)
- feat(rpc): Add ots_ namespace and trait bindings for Otterscan Endpoints (#3778)
- feat: add key gen util and simple fcu validation test with custom alloc (#3842)
- chore: set trace result to null if non revert or selfdestruct (#3840)
- feat(book): more precise disk requirements (#3838)
- feat: let consensus tests configure pipeline, executor, and client (#3839)
- feat: implement reth_getBalanceChangesInBlock (#3768)
- feat: add builder type for eth tx validator (#3828)
- fix: map more errors to messages (#3837)
- feat: add timestamp to pool update (#3833)
- chore: rename missing_parent to missing_ancestor (#3822)
- feat: build local pending block (#3811)
- chore: add traces for new invalid blocks (#3821)
- chore: make clippy happy (#3827)
- chore(ci): enable docker push on workflow dispatch (#3825)
- chore: fix SessionManagerMetrics typo (#3823)
- chore(deps): bump some deps (#3820)
- chore: use 50M default gas limit for calls in rpc (#3812)
- feat: add network txpool example (#3809)
- feat: add
yParity
to rpc signatures (#3800)
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.5-x86_64-unknown-linux-gnu.tar.gz | PGP Signature | |
aarch64 | reth-v0.1.0-alpha.5-aarch64-unknown-linux-gnu.tar.gz | PGP Signature | |
x86_64 | reth-v0.1.0-alpha.5-x86_64-pc-windows-gnu.tar.gz | PGP Signature | |
x86_64 | reth-v0.1.0-alpha.5-x86_64-apple-darwin.tar.gz | PGP Signature | |
aarch64 | reth-v0.1.0-alpha.5-aarch64-apple-darwin.tar.gz | PGP Signature | |
System | Option | - | Resource |
Docker | v0.1.0-alpha.5 | paradigmxyz/reth |