Skip to content

@ethereumjs/client v0.8.0

Compare
Choose a tag to compare
@holgerd77 holgerd77 released this 18 Jul 08:22
· 600 commits to master since this release
6b23892

Permanent Account, Storage and Trie Node Caches

The client now has integrated persistent caches for accounts and storage as well as trie nodes and a lot less trie reads and writes are needed over time, see PR #2630, #2634, #2667 and #2681. This is a quantum leap for client sync and execution performance leading to the ability sync substantially more extensive networks (no: mainnet not yet 😋).

The new caches are activated by default and stats are provided in regular intervals. Caches can be adopted and resized with the new --accountCache, --storageCache and --trieCache options as well as completely deactivated by setting size to 0, e.g. with --accountCache=0.

EIP-4844 Support (Status: Review, 4844-devnet-7, July 2023)

While there might be last-round final tweaks,, EIP-4844 is closing in on its final format with a lot of spec changes during the last 2-3 months still happening.

This release supports EIP-4844 along this snapshot b9a5a11 from the EIP repository with the EIP being in Review status and features/changes included which made it into 4844-devnet-7.

The following changes are included:

  • Add proofs to engine API BlobsBundleV1, PR #2642
  • Limit blobs as per the maxDataGasPerBlock for block building, PR #2661
  • Add 4844 devnet5 blob post utility, PR #2674
  • De-sszify 4844 blob transaction, PR #2708
  • Extend newPayloadV3 for blob versioned hashes checks, PR #2716
  • Fix double runs of the block execution, PR #2730
  • Merge get blobs engine api into getPayloadV3, PR #2650
  • Update eip4844 blocks/txs to decoupled blobs spec, PR #2567
  • Update the kzg validation and replace trusted setup with latest (devnet6), PR #2756
  • Fix new payload excessDataGas/4844 validation, PR #2784
  • Add shouldOverrideBuilder flag for getPayloadV3, PR #2891

Other Changes

  • Memory logging and memory optimizations, PR #2675 and #2678
  • New --execute option to activate/deactivate VM execution, PR #2675
  • Fix unclean shutdown scenario where SIGINT may come before client fully started, PR #2677
  • Fix PeerPool Memory Leak, PR #2752
  • Allow to disable transports and/or sync, PR #2668
  • Fix eth_getStorage RPC method, PR #2646
  • Fix newPayloadV3 engine API validations, PR #2762
  • Fixes for block and blob building uncovered in devnet6, PR #2763
  • Discard blob txs with missing blobs for block building, PR #2765
  • Remove unused libp2p transport layer (preserved for future re-introduction if there is demand 🙂), PR #2758
  • Optimize engine API newPayload block executions, PR #2787
  • Improve engine API newPayload and forkChoiceUpdated block executions, PR #2880