Releases: paradigmxyz/reth
Reth v0.1.0-alpha.14
Summary
Reth alpha.14 release includes:
- Cancun hardfork timestamps for testnets (#5842)
- Ongoing work on static files (#5738, #5765)
- Fixes for critical and moderate bugs in the
BlockchainTree
(#5683, #5879, #5921) - Improved observability for database transactions (#5668, #5703, #5929, #5941, #5973)
- Networking improvements and multiplexer over RLPx Subprotocols (#5559, #5577, #5725)
- RPC: support for
debug_getrawTransactions
(#5682), fix foreth_getProof
(#5695) and performance improvement foreth_getLogs
(#5805) - Trie updates caching for faster FCU processing (#5871)
- Trie performance improvements (#5827)
- Ability to persist and restore txpool state on reboots (#5665)
- Introduction of
NodeBuilder
(#5869)
... and a ton of other fixes & performance, documentation and general devex improvements.
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(storage): gate MDBX HSR with macro (#6000)
- fix: use cfg attributes over macro (#5999)
- feat: make payload builder generic over attributes type (#5948)
- docs: memory profiling and OOM debugging tutorial (#3819)
- Fix lru cache to match docs (#5995)
- chore: remove unnecessary test-utils usage in reth cli (#5993)
- chore: move revm-inspectors to a separate repo (#5992)
- fix(storage): disable MDBX HSR on Windows (#5991)
- chore: move revm inspectors to alloy rpc types (#5990)
- release: v0.1.0-alpha.14 (#5987)
- test(tracing): allow tracer init to fail (#5988)
- feat: preload cachedreads with tip state (#5804)
- add
ChainConfig
utils for block and timestamp comparisons (#5978) - Use text instead of bash for CLI docs (#5977)
- fix(bin): process metrics version mismatch (#5985)
- feat(storage): downgrade tx open log to trace (#5984)
- feat: Support txpool.locals in txpool.cli (#5971)
- chore: add TracingInspector::config (#5982)
- feat(cli): debug replay engine (#5972)
- Json structured logs (#5784)
- docs: update MSRV to 1.75.0 (#5981)
- chore: improve BLS constant documentation (#5976)
- feat(storage): log tx opening location (#5973)
- perf(tree): cache canonical trie updates (#5871)
- feat(storage): handle-slow-readers callback for MDBX (#5941)
- feat: Add random lookup for discv4 (#5975)
- chore: update MSRV to 1.75 (#5974)
- Update full node prune config docs (#5933)
- refactor : Simplify is_some in Header (#5969)
- chore: add non critical spawn with graceful shutdown signal fn (#5962)
- chore: cleanup max block fetching (#5960)
- chore: use existing fn for loading network secret key (#5961)
- feat(header): add
is_zero_difficulty
util function for POS (#5966) - chore(deps): weekly
cargo update
(#5967) - test: enable ignored tests (#5958)
- chore: make clippy happy (#5959)
- chore: use available created_address fn (#5957)
- Improve mapping of MDBX error codes to human-readable errors (#5955)
- chore: bump rpc types (#5953)
- chore: simplify Database impls (#5951)
- add missing documentation for various crates (#5950)
- feat(
rpc-types
): usealloy-trace-rpc-types
crate (#5949) - doc: Improve documentation for
StageEnum
to remove#[allow(missing_docs)]
(#5945) - lints: use rust-2018-idioms to eliminate
#![allow(elided-lifetimes-in-paths)]
(#5944) - feat(cli): enable backtrace on panic by default (#5942)
- feat(
rpc
): usealloy-rpc-types
for ethereum-related types (#5947) - chore: move OP payload builder error to OP crate (#5940)
- add documentation for
SecretKeyError
to remove#[allow(missing_docs)]
(#5946) - chore: use workspace lints for new crate (#5939)
- lints: move top-level lints to [workspace.lints] manifest table (#5935)
- chore: move BeaconConsensus to its own crate (#5937)
- fix(BlockchainTree): remove forked chain receipts/reverts (#5921)
- chore: simplify some features for env (#5928)
- fix: merge_ws doc comment (#5924)
- chore: update licenses to use 2024 (#5926)
- chore: improve forkchoiceUpdated doc comments (#5925)
- chore(storage): warning log about long read db transaction (#5929)
- Update broken links to
docs/crates/discv4.md
(#5923) - docs: improve rlp transaction encoding docs (#5922)
- fix: use unchecked sender recovery when loading from disk (#5919)
- feat(tx-pool): refactor
PoolInner
implementation usingget_pool_data
util method (#5920) - feat: restore tx pool after reboot (#5665)
- feat(tx-pool): add
get_transactions_by_sender_and_nonce
forTransactionPool
trait (#5912) - chore: improve ipc error message (#5908)
- fix: also adjust ipc path (#5909)
- docs: include s/2 value in docs (#5914)
- feat: add
nonce_after_all_transactions
implementation forTxPool
(#5904) - Fix prune docs typo (#5911)
- chore(deps): weekly
cargo update
(#5905) - feat(chain): enable Holesky testnet dns with test (#5898)
- feat: add TaskManager::current (#5900)
- chore: rm redundant serde default (#5902)
- chore: move LogArgs to own mod (#5901)
- chore: move builder to own module (#5899)
- chore: move reth commands to separate folder (#5886)
- refactor(tree): block buffer (#5879)
- doc: improve documentation for trie crate (#5872)
- chore: ignore reth-ethereum-payload-builder in udeps (#5890)
- fix: ::bytes re-export (#5885)
- refactor: move ethereum and op builder into separate crates (#5876)
- fix: better conversion error handling in
block_hash_ref
(#5870) - chore: clean up lints (#5881)
- test: enable arbitrary feature for dependencies (#5882)
- feat: Introduce NodeBuilder (#5869)
- fmt: add a space between inner doc-comments and following items (#5880)
- feat(tree): track state trie updates (#5875)
- chore: add enum helper functions (#5865)
- feat: base sepolia support (#5697)
- refactor: small refactoring and documentation in interfaces crate (#5866)
- Revert "feat: Introduce NodeBuilder" (#5868)
- chore: bump itertools (#5867)
- feat: Introduce NodeBuilder (#5824)
- feat: add
sanity_check implementation
for block headers (#5863) - feat(revm): use GenericRevertReason type (#5854)
- refactor: small refactoring of revm database and documentation (#5864)
- log(downloader): log
count
instead ofdistance
(#5860) - bin: run
reth
by default (#5859) - fix(txpool): missing condition that tx gas limit equal to block gas l… (#5858)
- Trie hash optimizations (#5827)
- chore(primitives): extract trie HashBuilder implementation (#5832)
- chore(transaction): unify the chainId type in different transaction definitions (#5853)
- chore(deps): weekly
cargo update
(#5855) - fix: mark pre-4844 blob txs as invalid in consensus (#5850)
- fix(consensus): correct the fork name for validating 1559 transaction (#5849)
- feat(bin): disable ETA for execution stage (#5839)
- chore(deps): cleanup reth-interfaces deps (#5848)
- chore: remove
BlockBodyRoots
and reduce root calculation times (#5847) - chore: use bug issue template link in README (#5845)
- feat(trie): trie cursor abstraction (#5643)
- feat: add testnet cancun timestamps (#5842)
- chore: improve codec for TxValue (#5838)
- Feature: Support db get for duptables (CLI) (#4653)
- feat: create new methods with Config arguments for existing builders (#5837)
- feat: introduce PrunerBuilder (#5834)
- test: add test for eth_getLogs blockHash (#5831)
- chore: add optimism rpc errors (#5821)
- chore: mbdx → mdbx typos (#5828)
- chore: bump fdlimit (#5819)
- chore: add error struct for checking builder submissions (#5820)
- feat: add validation API endpoints (#5816)
- feat: add submitblock request (#5815)
- refactor: replace
std::fs
usages withreth-primitives
(#5813) - feat: snapshots (#5738)
- feat: make NodeState generic over DB with DatabaseMetadata (#5691)
- feat: add execution payload validator (#5811)
- feat: share decompressor buffer (#5777)
- perf: skip initial transaction lookup during log queries (#5805)
- feat: add SSZ encoding for
SignedBidSubmission
(#5787) - refactor: small refactoring for
Header
structure (#5801) - feat: support no-std for reth-codecs (#5756)
- chore: fix new clippy lint (#5806)
- chore: add note about grammar+typo prs (#5808)
- docs: adjust arm device guide (#5799)
- chore(deps): weekly
cargo update
(#5798) - perf: random changes (#5795)
- chore: log full tx object in assert (#5797)
- feat(grafana): sort stages (#5796)
- refactor(primitives): small refactoring for pooled transactions (#5789)
- feat: better usage of
by_id
methods in transaction pools (#5791) - fix(txpool): correct the EIP2930 Error logger in TxValidator (#5792)
- feat: add
sequential_transactions_by_sender
method forMockTransactionSet
(#5741) - feat(network): added
NetworkConfigBuilder.block_import(..)
(#5783) - refactor(primitives): add documentation and refactor
Genesis
implementation (#5788) - chore: use new aquamarine macro (#5785)
- feat: add PageOps metrics to libmdbx-rs (#5786)
- fix: use the same ProviderFactory in reth node (#5778)
- chore: bump proptest + arbitrary (#5779)
- doc(blockchain-tree): add documentation for
MakeCanonicalAction
enum (#5739) - Archify EthStateCache (#5744)
- More descriptive reorg log (#5671)
- refactor: make sender recovery explicit in provider (#5776)
- refactor: use
BlockWithSenders
in executors (#5771) - chore: add reorg metrics to grafana (#5774)
- feat: use nybbles crate (#5766)
- chore: remove RpcStateCacheArgs value parser (#5773)
- perf: reduce static data size (#5770)
- feat: Report MDBX commit latency metrics (#5668)
- chore: add helper for ge...
Reth v0.1.0-alpha.13
Summary
Reth alpha.13 release fixes a long-standing issue for full node and heavy RPC tracing users in #5614. Block commit times are now consistent at 200–300ms, compared to the previous buggy behavior, of up to 30s in extreme cases.
We recommend all node operators to update to this release to be sure your node is keeping up with the tip in any conditions.
Along with this, RPC and transaction pool had a couple of bug fixes and improvements:
eth_estimateGas
call now supports passing state overrides: #5372- State cache is now configurable via CLI arguments: #5664
- Blob transaction subpool truncation: #5597, #5634
- Transaction eviction based on the number of transactions by sender: #4520
In addition, we continued to improve the performance across the codebase: #5505, #5600, #5629, #5642, #5630, #5641.
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.13 (#5676)
- chore: make trace builder ctrs public (#5672)
- chore: clippy (#5674)
- docs: nit in parity trace builder (#5673)
- chore(deps): weekly
cargo update
(#5667) - feat(cli): eth state cache args (#5664)
- chore: use StageConfig for more reth node methods (#5663)
- feat: add sanity tests for Args Default impls (#5660)
- perf(trie): use smallvec as the Nibbles representation (#5641)
- chore: simplify
Consensus::validate_header_range
with let-else (#5659) - feat: add Default for NetworkArgs and DiscoveryArgs (#5658)
- fix: invert is error check (#5657)
- Granular canonicalization metrics dashboard update (#5454)
- chore: group optimism reexports (#5652)
- chore: cleanup codecs deps (#5650)
- chore: remove unused deps in primitives (#5651)
- chore(evm): use provider errors (#5649)
- reth-ethereum-forks crate (#5621)
- perf(rpc): Use block_with_senders in tracing (#5630)
- feat: add Default for RpcServerArgs (#5646)
- chore(txpool): query header on txpool maintenance bootup (#5648)
- chore: improve Nibbles-related code (#5631)
- perf: misc Codec improvements (#5642)
- fix: fetch missing cached blocks (#5612)
- chore: apply same impl order (#5639)
- docs: more tracing type docs (#5638)
- feat: add MockTransactionSet for easier dependent mock txs (#5633)
- Add stateOverrides-to-estimate-gas-call (#5604)
- feat: truncate blob pool when discarding worst (#5634)
- ci: run clippy on all targets (#5636)
- fix: bench builds (#5635)
- fix: add recover_signer that checks according to EIP-2 (#5618)
- perf(trie): prealloc in
Nibble::unpack
(#5629) - feat(pruner): limit number of blocks to prune per run (#5627)
- feat: discard txs by tx_count of sender (#4520)
- feat(storage): report backtrace only on read transactions (#5625)
- fix: derive job deadline from attributes timestamp (#5626)
- use SealedBlockedWithSenders in block-level tracing (#5620)
- chore: add more payload tracing (#5624)
- perf(storage, mdbx): set rp augment limit (#5614)
- chore(deps): use rustls (#5619)
- feat: add blob truncate pool method (#5597)
- ci: only check --lib with cargo udeps (#5615)
- chore: use U256::is_zero (#5616)
- chore: improve clique signer recovery error (#5613)
- perf: remove redundant collect (#5600)
- fix log argument (#5608)
- docs: misc mdbx docs (#5599)
- perf(provider): compute hashes and trie updates before opening write tx (#5505)
- chore: bump stacksize even more (#5602)
- chore: lower max reload accounts (#5589)
- chore: add more pool maintain metrics (#5590)
- Fix sink implementation (#5594)
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.13-x86_64-unknown-linux-gnu.tar.gz | PGP Signature | |
aarch64 | reth-v0.1.0-alpha.13-aarch64-unknown-linux-gnu.tar.gz | PGP Signature | |
x86_64 | reth-v0.1.0-alpha.13-x86_64-pc-windows-gnu.tar.gz | PGP Signature | |
x86_64 | reth-v0.1.0-alpha.13-x86_64-apple-darwin.tar.gz | PGP Signature | |
aarch64 | reth-v0.1.0-alpha.13-aarch64-apple-darwin.tar.gz | PGP Signature | |
System | Option | - | Resource |
Docker | v0.1.0-alpha.13 | paradigmxyz/reth |
Reth v0.1.0-alpha.12
Summary
- We now support the OP Stack's latest hard-fork, Canyon! Every OP Stack chain can be now supported, except OP Mainnet due to having history as a pre-Bedrock chain.
- Fixed a regression for pruned node operators when trying to fetch a block with its senders.
Update Priority
This table provides priorities for which classes of users should update particular components.
User Class | Priority |
---|---|
Payload Builders | Low |
Non-Payload Builders | Low |
See Update Priorities for more information about this table.
All Changes
- release: v0.1.0-alpha.12 (#5595)
- feat(op-reth): Remove
Canyon
hardfork warning (#5551) - feat(op-reth): Canyon - Dynamic eip1559 params (#5542)
- feat(op-reth): Canyon transition
create2Deployer
force deployment (#5527) - feat(op-reth): Canyon receipts version (#5526)
- chore: use task manager graceful shutdown (#5591)
- feat(op-reth): Canyon receipts root RLP fix (#5504)
- feat(op-reth): Canyon hardfork spec (#5503)
- chore: make
traces
public (#5567) - chore: bump ef-tests stack size (#5585)
- chore: move fee history cache fields to inner type (#5587)
- feat(storage) implement cursor walking functions (#5554)
- fix: always recover senders on mismatch (#5575)
- Feat/improve fee history performance (#5182)
- chore: limited node command cleanup (#5539)
- feat: make PayloadBuilderHandle pub (#5578)
- fix: return net version as number (#5570)
- feat(bin/args): enhance transactionpool with --txpool.nolocals Flag (#5538)
- docs: add panics section (#5574)
- chore(deps): weekly
cargo update
(#5573) - feat: initial relay ssz support (#5568)
- chore: export
StackSnapshotType
(#5566) - feat: add block+receipts iter (#5560)
- feat: add into_registry function (#5565)
- fix(tracing): fix the parity vmTrace stack pushes #5561 (#5563)
- fix: use direct conversion for payload fee metrics (#5564)
- feat: refactor generation of snapshots from the cli (#5464)
- feat: add metrics for best and resolved payloads (#5469)
- chore: some multiplex followup (#5553)
- feat(rpc-types): implement serialization for LocalizedTransactionTrace (#5446)
- feat(rpc-testing-utils) : make replay transactions reponses comparaison in RpcComparer. (#5407)
- feat(rpc-testing-utils) : implement debug_traceCall JSON-RPC method (#5418)
- chore(deps): bump alloy 0.5 (#5557)
- Results to MockEthProvider (#5556)
- chore: phase out reth-primitives from inspectors (#5552)
- feat: add find by offset functions (#5541)
- chore: remove unused imports (#5550)
- chore: reuse alloy Log type (#5548)
- chore: use rpc types Accesslist in inspector (#5549)
- chore: move TracingConfig init to tracing crate (#5546)
- chore: make fields pub (#5545)
- fix: enable missing feature (#5547)
- feat(storage): report backtrace on long-lived transactions (#5537)
- feat: add NetworkProtocols trait (#5543)
- chore: get almost rid of reth-primitives in tracer impl (#5544)
- feat: rlpx multiplexing (#5413)
- feat: add configure network function to cli ext (#5536)
- test(trie): instantiate provider with util function (#5535)
- feat: add graceful shutdown tasks (#5517)
- fix(tracing): reduce stack memory when tracing (#5528)
- chore(execution): rename
EVMProcessor
factory (#5533) - chore(sync): migrate pipeline to
ProviderFactory
(#5532) - test(provider): instantiate provider with util function (#5534)
- chore(tree): migrate tree externals to
ProviderFactory
(#5531) - meta: fix release draft cmd (#5529)
- test(provider): utility functions for initializing provider factory (#5530)
- chore(deps): make c-kzg actually a feature of reth-primitives (#5525)
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.12-x86_64-unknown-linux-gnu.tar.gz | PGP Signature | |
aarch64 | reth-v0.1.0-alpha.12-aarch64-unknown-linux-gnu.tar.gz | PGP Signature | |
x86_64 | reth-v0.1.0-alpha.12-x86_64-pc-windows-gnu.tar.gz | PGP Signature | |
x86_64 | reth-v0.1.0-alpha.12-x86_64-apple-darwin.tar.gz | PGP Signature | |
aarch64 | reth-v0.1.0-alpha.12-aarch64-apple-darwin.tar.gz | PGP Signature | |
System | Option | - | Resource |
Docker | v0.1.0-alpha.12 | paradigmxyz/reth |
Reth v0.1.0-alpha.11
Summary
Reth alpha.11 comes with a lot of features and improvements since our last release. We hope you find them as exciting as we do.
Firstly, Reth is now fully Cancun-ready and has been running in Devnet 9, 10 & 11.
We’re starting to be able to support Layer 2’s. We have merged initial support for OP Stack and added a page on the book, kudos to @clabby, @refcell, @roberto-bayardo, @merklefruit. No plans for chains like BSC/Polygon/Fantom, but if you have a spec for them, please reach out as we’re starting to plan our 2024 roadmap.
Some highlights for node operators from this release:
- We now have an on-disk blobpool for Cancun! #5389
- Improved logging and metrics for further performance debugging and optimization, especially during sync and for tracking freelist growth.
- RPC:
- Introduce
eth_callBundle
opt-in via--http.api eth,eth-call-bundle
#5449 - Introduce
eth_getProof
for the latest block: #5071 - Introduce
trace_filter
support: #4818 - More accurate tracing
- Better caching for frequently queried blocks and for recovered senders from transactions
- Reduced memory and database overhead while tracing
- Faster gas estimation and fee history calculation.
- Introduce
- A lot of work on static files / snapshots…more to share in the coming weeks there as we’re starting to integrate it in more areas: #4513.
For developers:
- Migrated most types to Alloy Core: #4737
- The Reth’s CLI Extensions API is a way to extend the node’s functionality, multiple examples can be found in the repository and in LibEVM’s blog
- Removed lifetime GATs from our Database abstraction, which improves downstream consumer code.
We’re blocking our beta release until we have a sustainable solution for the “Freelist Growth” problem, which you can track here. This is a fundamental problem that plagues BTree-based Databases with workloads like ours. If you know a lot about databases, shoot us a message, or join the chatroom!
Update Priority
This table provides priorities for which classes of users should update particular components.
User Class | Priority |
---|---|
Payload Builders | Medium |
Non-Payload Builders | Medium |
See Update Priorities for more information about this table.
All Changes
- release: v0.1.0-alpha.11 (#5523)
- feat(bin): improve status logs (#5518)
- fix: dont use Stack::default (#5521)
- chore(revm): freeze revm, add Optimism Canyon fork (#5519)
- feat: add getters for tx by origin (#5516)
- fix(op-reth): clear accesslist for Deposit txs (#5513)
- fix: dont skip gas used ratio if empty (#5512)
- feat: add get_block_transactions_ecrecovered (#5500)
- test: add serialize 0x1 test block number (#5511)
- chore: remove duplicate serde helpers (#5508)
- chore: simplify clap next heading and use clap attribute (#5507)
- chore: add Extension heading (#5506)
- (storage): impl some function (#5499)
- chore: add another module parser test (#5496)
- block_with_senders in ethstatecache (#5302)
- chore: preallocate buffer for rlp (#5494)
- ci: add MSRV lint job (#5495)
- chore(deps): weekly
cargo update
(#5492) - feat: get rid of lifetime GATs (#5478)
- chore: add hash+signer fn (#5493)
- feat(provider):
StateRootProvider::state_root_with_updates
(#5485) - chore(tree): minor
Chain
modifications (#5487) - chore: add some capability helper fns (#5486)
- chore(pipeline): stage poll extension trait (#5484)
- fix: track actually requested transactions (#5483)
- chore(downloader): replace database with header provider (#5472)
- pipeline: error on missing buffer in online stages (#5480)
- feat(rpc-testing-utils) : eth node testing (#5475)
- chore: clean up
Self: Sized
bounds (#5481) - chore: shrink ProviderError size (#5482)
- chore: make Cursor iterators depend on the cursor's lifetime (#5479)
- refactor: split async/sync work in stages (#4636)
- feat: get rid of cursor lifetime (#5476)
- feat: add benchmark for blob_tx_priority and fee_delta (#5468)
- chore:
make maxperf
, enable GC profiling on MDBX debug (#5459) - chore: remove cursed env lifetime (#5474)
- chore(provider): migrate providers to
ProviderError
(#5473) - feat(eth-wire) add missing docs (#5467)
- chore: add missing helper fns (#5471)
- feat(provider):
HeaderProvider::sealed_headers_while
(#5470) - chore: add optimism_deposit_tx_signature function (#5457)
- chore: use i64 for blob priority function (#5466)
- feat: add eth-call-bundle module (#5465)
- chore: make decode_enveloped args consistent with other fns (#5456)
- fix: fetch 4844 blob before reinjected reorged blob txs (#5460)
- chore(op-reth): Add temporary
Canyon
warning (#5462) - feat(book):
op-reth
runbook (#5440) - chore: move criterion and pprof to workspace (#5461)
- chore: more libmdbx cleanup (#5455)
- chore: add recovery test (#5453)
- feat(eth-wire): update docs (#5450)
- feat: add rpc-api trait for call bundle (#5449)
- feat: add blobstore file path functions (#5442)
- feat(bin) : refactor auth_jwt_secret function (#5451)
- chore: some blob reinject improvements (#5441)
- chore: make inner private (#5445)
- fix(net): check bounds on message logging (#5448)
- chore: make it harder to misuse raw pointers (#5447)
- feat: search for a snapshot that fulfills a queried
BlockHash
orTxHash
(#5373) - feat: phase out environment trait (#5439)
- refactor: transaction internals (#5437)
- docs: fix spelling mistakes in eth-wire.md (#5438)
- chore: put env types into container type (#5436)
- chore(storage): rebuild MDBX if sources changed (#5435)
- chore: remove unnecessary async_trait usage (#5433)
- use reth_primitives instead of revm_primitives (#5434)
- chore: add a few tx related helper functions (#5430)
- feat:
Snapshotter
triggers segment snapshots (#5287) - feat: add directory paths to
Snapshotter
andSnapshotProvider
(#5283) - chore: decriptive panic on non-existing block indices (#5425)
- feat: add on disk blob pool (#5389)
- feat: share
SnapshotProvider
throughProviderFactory
(#5249) - feat(consensus): support test for
check_gas_limit
function (#5329) - chore: make txn manager private (#5426)
- docs: some tree doc cleanup (#5423)
- fix: network example (#5422)
- Fix wrong check regarding EIP-155 (#5421)
- chore(state):
split_at
refactor (#5419) - feat: add eviction ordering for blob transactions (#5335)
- chore: add rlp codec for Sidecar (#5390)
- chore: remove ckzg dep from rpc types (#5392)
- Mock eth provider implementation for EvmEnvProvider trait (#5414)
- perf: reduce overhead with open state (#5416)
- feat(rpc): implement eth_blobGasPrice (#5403)
- meta: add @joshieDo to snapshot codeowners (#5411)
- feat: changesetreader for mockethprovider (#5410)
- feat(rpc-testing-utils) : test blocks for trace_call_stream method (#5405)
- feat(rpc-type) : make TraceCallRequest with Default Trait (#5394)
- chore: misc tracer changes (#5404)
- chore(deps): weekly
cargo update
(#5402) - feat(bin) : refactor ZeroAsNone struct to a Macro (#5397)
- chore: remove
into_limbs()
call forBlockNumberOrTag
From
impl (#5395) - chore: add @Evalir to CODEOWNERS for rpc types related crates (#5396)
- Feat/enable non namespaces (#5391)
- chore: support MaxU32 on more rpc args (#5393)
- feat(
rpc-types
): from U64 forBlockHashOrNumber
andBlockId
(#5385) - chore: convert connection type to stream (#5384)
- feat(rpc): add blob support for TransactionRequest (#5382)
- fix: use SharedCapabilities (#5383)
- fix(bin) : make rpc_max_response_size as MaxU32 (#5381)
- feat: support additional protocols abstraction (#5360)
- feat(bin) : max_values Macro for CLI args parsing (#5379)
- feat(rpc-builder): test requests params (#5267)
- feat(rpc-testing-utils): implement trace_call streaming (#5347)
- feat(transaction-pool) : impl MockTransaction for Desposit variant (#5321)
- fix: use saturating mul for max response size bytes (#5377)
- chore: move shared capabilities to capabilities.rs (#5375)
- feat: support hello message with protocols (#5371)
- feat:Support BlockHashOrNumber with block_with_senders (#5356)
- implement Stream for Discovery (#5370)
- chore: fix a bunch of features (#5369)
- chore: add blob subpool docs on add_transaction (#5367)
- fix: delete file with invalid name (#5368)
- docs: more shared cap docs (#5365)
- chore: rm default features (#5366)
- feat: support multiple shared caps (#5363)
- chore(meta): manifest maintenance (#5353)
- feat(engine): insert new payloads even when hook is running (#5364)
- chore: support static str in capability (#5362)
- feat(rpc): measure request/call time in seconds (#5361)
- feat(docs): MDBX freelist troubleshooting (#5358)
- chore: add missing txvalue impls (#5357)
- feat: add for peers functions (#5351)
- feat: add trait for
NetworkEvents
(#5354) - feat(bin): report freelist in
db stats
(#5355) - feat: add established timestamp to peerinfo (#5350)
- fix: prevent decoding U256 TxValue on mainnet (#5344)
- feat(rpc): record call metrics per method (#5338)
- chore: serde misc CallRequest (#5345)
- feat: add response type for execution header (#5342)
- restrict --chain flag setting for op-reth node & fix help in...
Reth v0.1.0-alpha.10
Summary
This is a fast-follow to the Alpha.9 release which includes the updated Holesky Genesis file for the upcoming testnet relaunch, as well as updates the Beacon Roots contract address to 000F3df6D732807Ef1319fB7B8bB8522d0Beac02
.
Update Priority
User Class | Priority |
---|---|
Payload Builders | Low unless running Holesky |
Non-Payload Builders | Low unless running Holesky |
See Update Priorities for more information about this table.
All Changes
- release: v0.1.0-alpha.10 (#4781)
- fix: ensure no blob transactions in payloads pre-cancun (#4779)
- chore(tree, engine, prune, stages, storage): improve logs (#4790)
- chore(primitives): move
KeccakHasher
behindtest-utils
feature flag (#4804) - test: replace unused_tcp_udp with port 0 (#4805)
- fix typo as_eip2930 (#4801)
- chore: unhide clippy config file (#4794)
- chore: make proto module pub (#4788)
- chore: add missing builder fn for outbound dials (#4786)
- chore: lower cargo-deny license confidence (#4793)
- chore(primitives): root calculation using
HashBuilder
(#4780) - fix: pass feature flag to iai bench (#4791)
- feat(network): implement
PropagateHashTo
helper inTransactionsCommand
(#4713) - test: flaky geth test (#4800)
- chore(dep): reth db workspace (#4782)
- chore: timestamp fork activation semantics (#4785)
- chore(cancun): beacon root address update (#4784)
- test: disable discovery for test_listener_addr_in_use (#4774)
- feat: update genesis for holesky (#4773)
- chore: add missing builder functions (#4770)
- fix generate-jwt.sh for zsh users (#4769)
- feat(docs): mention brew tap in release.md (#4768)
- fix(book): default identity (#4767)
- chore: add and fix more lints, improve docs (#4765)
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.10-x86_64-unknown-linux-gnu.tar.gz | PGP Signature | |
aarch64 | reth-v0.1.0-alpha.10-aarch64-unknown-linux-gnu.tar.gz | PGP Signature | |
x86_64 | reth-v0.1.0-alpha.10-x86_64-pc-windows-gnu.tar.gz | PGP Signature | |
x86_64 | reth-v0.1.0-alpha.10-x86_64-apple-darwin.tar.gz | PGP Signature | |
aarch64 | reth-v0.1.0-alpha.10-aarch64-apple-darwin.tar.gz | PGP Signature | |
System | Option | - | Resource |
Docker | v0.1.0-alpha.10 | paradigmxyz/reth |
Reth v0.1.0-alpha.9
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 ca...
Reth v0.1.0-alpha.8
Summary
This release introduces the support for full node, custom pruning modes, continued work on Cancun and improvements for Transaction Pool and RPC.
Full Node
To run Reth as a full node, you need to do a sync from scratch with --full
CLI argument. As of August 28th 2023, full node requires 940GB of disk space and takes around 45-50 hours to sync, depending on hardware and bandwidth. Read more about using full node and pruning in the book and check out Grafana dashboard for our public full node.
Highlights
- Pruning & Full Node (#4246, #4301, #4318, #4327, #4328, #4334, #4344, #4358, #4361, #4379, #4383)
- Cancun (#4342, #4345, #4355, #4363)
- Transaction Pool (#4303, #4315, #4317, #4329, #4331, #4343, #4353)
- RPC (#4313, #4322, #4323, #4321, #4347)
Update Priority
This table provides priorities for which classes of users should update particular components.
User Class | Priority |
---|---|
Payload Builders | Medium |
Non-Payload Builders | Medium |
See Update Priorities for more information about this table.
All Changes
- release: v0.1.0-alpha.8 (#4386)
- feat(primitives): increase transaction senders pruning batch size (#4383)
- ref(cli): remove duplicated clap arg (#4336)
- feat(grafana): sort stages (#4373)
- feat(book): add documentation for ports (#4370)
- chore(stages): document index history stages pruning (#4379)
- feat(reth): remove
History
variant inStageEnum
(#4365) - feat(net): rm TODO for
DEFAULT_DISCOVERY_PORT
(#4366) - chore(deps): weekly
cargo update
(#4374) - dep: remove kzg patch (#4363)
- chore(book): sort RPC methods in pruning chapter (#4361)
- feat(book): rpc methods pruning dependencies (#4358)
- feat(book): advise to
tee
the output ofmdbx_chk
(#4360) - chore: use
DEFAULT_DISCOVERY_PORT
constant (#4356) - feat: add validate-blob to extension trait (#4355)
- chore: collect full discarded tx (#4353)
- feat: add eth extension trait for EthValidator (#4343)
- feat: remove finalized blobs (#4342)
- feat(grafana): DB freelist chart (#4349)
- docs: correct
docker compose logs
command (#4189) - fix: compare prev value against new value (#4347)
- feat(book): node sizes (archive, full, pruned) (#4344)
- feat(bin): db freelist metric (#4346)
- chore: change field order (#4348)
- chore: add TxEip4844::validate_blob (#4345)
- feat(rpc): add missing
DebugApi
methods (#4321) - chore(deps): bump enr 0.9 (#4230)
- feat(bin): unhide and enable full flag (#4327)
- feat(book): basic pruning chapter (#4334)
- feat(grafana): filter by instance, bump version (#4333)
- feat(pruner, primitives): move prune batch sizes to
ChainSpec
(#4318) - feat(pruner): respect batch size per run (#4246)
- feat: use get_pooled_transaction_elements in network manager (#4329)
- fix: Update Return Type for eth_getFilterLogs function as per standard schema (#4323)
- feat: make TransactionValidationTaskExecutor generic over V (#4331)
- feat(book):
[prune]
config section (#4328) - fix(bin): make db metrics a gauge instead of counter (#4324)
- chore(trie): proofs should be generic over hashed cursor factory (#4310)
- feat: add shouldOverrideBuilder to ExecutionPayloadEnvelope (#4322)
- chore: add
crates/prune
to CODEOWNERS (#4320) - feat: track active forks (#4315)
- fix: apply state overrides once (#4313)
- feat: add TransactionPool::get_pooled_transaction_elements (#4317)
- feat(bin): expose
db.table_entries
metric (#4316) - docs: add
--dev
flag to book (#4307) - chore: kebab case --dev fields (#4314)
- fix: add docs and serde attrs to ExecutionPayload v3 fields (#4302)
- chore: bump rustls-webpki (#4311)
- fix(pruner): history indices
cursor.prev()
emptiness check (#4301) - feat(bin): show db path when confirming the drop (#4309)
- Docs: Add a guide on how to spin up a private Reth testnet using Kurtosis (#4304)
- feat: add Validator::on_new_head_block (#4303)
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.8-x86_64-unknown-linux-gnu.tar.gz | PGP Signature | |
aarch64 | reth-v0.1.0-alpha.8-aarch64-unknown-linux-gnu.tar.gz | PGP Signature | |
x86_64 | reth-v0.1.0-alpha.8-x86_64-pc-windows-gnu.tar.gz | PGP Signature | |
x86_64 | reth-v0.1.0-alpha.8-x86_64-apple-darwin.tar.gz | PGP Signature | |
aarch64 | reth-v0.1.0-alpha.8-aarch64-apple-darwin.tar.gz | PGP Signature | |
System | Option | - | Resource |
Docker | v0.1.0-alpha.8 | paradigmxyz/reth |
Reth v0.1.0-alpha.7
Summary
Regular maintenance release.
- Pruning work (#4044, #4121, #4140, #4197)
- Ongoing Cancun work (#4085, #4172, #4191, #4245, #4254, #4256, #4266, #4273, #4278, #4286, #4294)
- Transaction Pool fixes (#4164, #4236, #4248, #4251)
- Account proof generation (#4249)
- Support for
debug_backtraceAt
method (#4232) and misc RPC fixes (#4149, #4219, #4264, #4293, #4298) - P2P fixes (#4210, #4224, #4229, #4268)
Update Priority
This table provides priorities for which classes of users should update particular components.
User Class | Priority |
---|---|
Payload Builders | Medium |
Non-Payload Builders | Medium |
See Update Priorities for more information about this table.
All Changes
- release: v0.1.0-alpha.7 (#4297)
- fix: state overrides and call many args (#4298)
- feat: support blob transactions in manager (#4294)
- docs: typos & cleanup (#4296)
- fix: use gas_used from execution result (#4293)
- chore: add additional docs about root call gas limit (#4292)
- feat: provide a way to opt out of pool updates (#4270)
- feat: add blob store canon tracker (#4278)
- feat: add additional conversion trait for pooled tx element (#4279)
- feat: integrate kzg setting in validator (#4286)
- chore: reorder receipt fields (#4291)
- feat: add load_trusted_setup_from_bytes (#4290)
- dep: move
metrics
to workspace (#4289) - chore: rename test mod to make clippy happy (#4285)
- chore: simplify builder fn (#4284)
- chore(deps): weekly
cargo update
(#4281) - dev: use U64 for
transaction_index
(#4261) - feat: integrate blobstore in validator (#4273)
- feat: add TransactionPool blob getters (#4272)
- feat: validate engine cancun fields based on method version (#4256)
- feat: add recovered wrapper type and eth pool conversions (#4267)
- feat: integrate blobstore in pool (#4266)
- feat(pruner): prune receipts based on log emitters during live sync (#4140)
- fix: record geth selfdestructs (#4264)
- feat(trie): account proofs (#4249)
- fix: prevent node info zero address (#4268)
- chore: bump
metrics
(#4265) - feat(transaction-pool): make
EthTransactionValidator
generic over Validator (#4258) - debug_backtraceAt (#4232)
- feat: add blob sidecar extraction to tx validation (#4254)
- chore: rename transaction (#4252)
- perf: remove clones in PooledTransaction encoding (#4251)
- feat: add 4844 config and basic checks (#4245)
- feat: add blob store service (#4191)
- fix: broadcast promoted transactions (#4248)
- feat(doc): enhance
append_blocks_with_post_state
doc (#4195) - feat: refactor PooledTransactionsElement into typed variants (#4241)
- (fix): Impl. Lagged error in pool update channel (#4242)
- fix: return None instead of BlockBodyIndicesNotFound in BlockReader (#4239)
- fix: propagate promoted transactions (#4236)
- feat: implement network encoding for blob transactions (#4172)
- feat: support custom PoolTransaction errors (#4237)
- perf: use futures unordered for active requests (#4231)
- feat(pipeline): prune receipts based on log emitters (#4044)
- chore(deps): bump boa + thiserror (#4234)
- perf: create buffer once (#4226)
- feat: track node record (#4224)
- fix: track established bonds (#4229)
- Move parking_lot dependency to workspace dep (#4228)
- chore: move bitflags to workspace (#4220)
- (fix)db commit on debug_traceCallMany (#4219)
- feat: add
TransactionSigned::recover_signers
with the same order (#4120) - feat(db): add search to
reth db list
command (#4165) - fix(pruner): percentage progress (#4197)
- chore: enforce recommended soft limit for get pooled requests (#4210)
- chore: handle full peer request channel (#4211)
- chore: rm some unused (#4208)
- docs: update table layout (#4194)
- Splitting Reth Node Command Ext (#4158)
- perf: let sync status mirror FCU (#4203)
- chore(txpool): bench requires arbitrary feature (#4204)
- chore(clippy): make clippy happy (#4163)
- fix: return engine on fatal error (#4184)
- feat(doc): document ARM limitations (#4196)
- feat: make build function configurable (#4193)
- feat(interfaces): database write error details (#4190)
- feat(payload): make the actual payload build function generic (#4153)
- chore(tree): log error on unreachable (#4185)
- chore: bump jsonrpsee 0.20 (#4181)
- feat: download blocks in merkle debug script (#4137)
- fix: restrict max active queries (#4178)
- feat: add flag to CLI to disable colour coding of console output (#4033)
- style: use unwrap or default (#4169)
- fix: spawn js service task on blocking pool (#4180)
- chore(cli): remove unused
debug.tip
argument from execution debug script (#4183) - chore(deps): weekly
cargo update
(#4173) - docs: fix smol typo (#4177)
- docs(tx-pool): fix pending tx listener typo (#4171)
- fix(rpc): tracing target (#4161)
- fix: remove discarded transactions (#4164)
- feat(txpool): Make TransactionPool trait object safe (#4156)
- fix(txpool): maintenance tracing target (#4160)
- (feat):add transaction::is_dynamic_fee (#4152)
- fix: sub field is always serialized (#4151)
- fix: exclude single stop vm trace instruction (#4149)
- feat: add kzg_to_versioned_hash (#4085)
- fix: use original bytes (#4150)
- feat: add is eip4844 fn (#4147)
- Signature functions moved to rpc_types_compat (#4143)
- chore(cli): expose registry provider (#4144)
- chore: enable blobtest again (#4139)
- fix: omit output if empty (#4138)
- chore: make unit type default (#4141)
- chore: improve ef-tests readability (#4136)
- feat: add rpc server metrics into dashboard (#4078)
- fix(Makefile): Graceful cargo-nextest install (#4009)
- chore: remove cargo deny rule for c-kzg (#4133)
- fix(storage): fallback lookups for pruned history (#4121)
- feat(pruner, metrics):
skip
attribute for metrics derive macro (#4069) - feat(txpool) modify txpool guard to be for pipeline syncs only (#4075)
- feat(storage): account for pruned account/storage history (#4092)
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.7-x86_64-unknown-linux-gnu.tar.gz | PGP Signature | |
aarch64 | reth-v0.1.0-alpha.7-aarch64-unknown-linux-gnu.tar.gz | PGP Signature | |
x86_64 | reth-v0.1.0-alpha.7-x86_64-pc-windows-gnu.tar.gz | PGP Signature | |
x86_64 | reth-v0.1.0-alpha.7-x86_64-apple-darwin.tar.gz | PGP Signature | |
aarch64 | reth-v0.1.0-alpha.7-aarch64-apple-darwin.tar.gz | PGP Signature | |
System | Option | - | Resource |
Docker | v0.1.0-alpha.7 | paradigmxyz/reth |
Reth v0.1.0-alpha.6
Summary
- Critical: Follow up to critical fix in previous alpha.5 release that handles reorgs (#4130).
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: 0.1.0-alpha.6 (#4132)
- fix(trie): account prefixset unwind (#4130)
- fix: hit database first for lookups (#4127)
- chore: pruner charts in Grafana dashboard (#4094)
- feat: add max_fee_per_blob_gas fn (#4129)
- feat: adds
arbitrary
toBlobTransaction
andKZG_TRUSTED_SETUP
(#4116) - chore: disable eta for headers & bodies (#4065)
- ask for confirmation during reth db drop (#4118)
- feat: add BlobTransaction network type (#4102)
- standalone rpc_types (#4088)
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.6-x86_64-unknown-linux-gnu.tar.gz | PGP Signature | |
aarch64 | reth-v0.1.0-alpha.6-aarch64-unknown-linux-gnu.tar.gz | PGP Signature | |
x86_64 | reth-v0.1.0-alpha.6-x86_64-pc-windows-gnu.tar.gz | PGP Signature | |
x86_64 | reth-v0.1.0-alpha.6-x86_64-apple-darwin.tar.gz | PGP Signature | |
aarch64 | reth-v0.1.0-alpha.6-aarch64-apple-darwin.tar.gz | PGP Signature | |
System | Option | - | Resource |
Docker | v0.1.0-alpha.6 | paradigmxyz/reth |
Reth v0.1.0-alpha.5
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...