Skip to content

Releases: paradigmxyz/reth

Reth v0.1.0-alpha.14

10 Jan 11:59
573c73f
Compare
Choose a tag to compare

image

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 for eth_getProof (#5695) and performance improvement for eth_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): use alloy-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): use alloy-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 using get_pool_data util method (#5920)
  • feat: restore tx pool after reboot (#5665)
  • feat(tx-pool): add get_transactions_by_sender_and_nonce for TransactionPool 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 for TxPool (#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 of distance (#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 with reth-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 for MockTransactionSet (#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...
Read more

Reth v0.1.0-alpha.13

04 Dec 16:42
b34b0d3
Compare
Choose a tag to compare

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

27 Nov 21:12
3d291ea
Compare
Choose a tag to compare

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

22 Nov 19:25
e5b33db
Compare
Choose a tag to compare

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.
  • 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 or TxHash (#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 and SnapshotProvider (#5283)
  • chore: decriptive panic on non-existing block indices (#5425)
  • feat: add on disk blob pool (#5389)
  • feat: share SnapshotProvider through ProviderFactory (#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 for BlockNumberOrTag 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 for BlockHashOrNumber and BlockId (#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 forNetworkEvents (#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...
Read more

Reth v0.1.0-alpha.10

26 Sep 20:08
1b16d80
Compare
Choose a tag to compare

image

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 behind test-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 in TransactionsCommand (#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

25 Sep 16:58
b701cbc
Compare
Choose a tag to compare

image

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.

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 and BlockExecutionError (#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 to BlockchainTreeError (#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 in SealedBlock (#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 for MockEthProvider (#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: [email protected] (#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...
Read more

Reth v0.1.0-alpha.8

28 Aug 19:30
0f14ec4
Compare
Choose a tag to compare

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

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 in StageEnum (#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 of mdbx_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

21 Aug 18:36
34b68de
Compare
Choose a tag to compare

image

Summary

Regular maintenance release.

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

09 Aug 18:51
88aea63
Compare
Choose a tag to compare

image

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 to BlobTransaction and KZG_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

09 Aug 13:30
058c55c
Compare
Choose a tag to compare

image

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.

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 primitive Transaction 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 on ChainSpec (#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 the TxType 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...
Read more