Skip to content

Releases: bpx-chain/bpx-execution-client

1.3.0

19 Jan 13:25
Compare
Choose a tag to compare

BPX Execution Client 1.3.0 2024-01-19

Added

  • For EIP-4844 'Shard Blob Transactions', this release contains basic type definitions and state transition logic (not used on mainnet yet)
  • Implemented an entirely new mempool -- the blobpool -- for EIP-4844 transactions (not used on mainnet yet)
  • EIP-6780: 'SELFDESTRUCT only in same transaction' (not used on mainnet yet)
  • EIP-5656: 'MCOPY instruction' (not used on mainnet yet)
  • EIP-1153: 'Transient storage opcodes' (not used on mainnet yet)
  • evm blocktest can now output structured logs
  • Geth will now configure GOMAXPROCS based on CPU quota settings. This should improve efficiency when running in Docker containers with a CPU core limit applied.
  • An IPv6 listening address for can now be configured for HTTP/WS
  • JSON transactions now have a yParity fields, as mandated by the RPC API spec
  • Legacy transactions now have a chainID field in RPC responses, like all other transaction types
  • eth_estimateGas now supports state overrides like eth_call
  • eth_estimateGas now handles internal chain reorgs more correctly
  • debug_storageRangeAt now takes a block hash or number as parameter
  • The new debug_getTrieFlushInterval method reports the internal state saving interval
  • Structured EVM logs returned by tracing now contain the returnData
  • GraphQL now supports withdrawals (EIP-4895)
  • The RPC client has multiple new ways to test whether the transport supports real time subscriptions
  • fsync is now enabled for pebble database writes
  • The keystore has improved verification of keys loaded from disk
  • Per-level metrics are now available for LevelDB
  • The p2p networking layer has learned to announce alternate ports returned by UPnP/NAT-PMP
  • Networking initialization now really disables all discovery when --nodiscover is used
  • We now provide additional metrics around p2p dialing, making it possible to measure the efficieny of peer discovery
  • It is now possible to configure certain discovery internals for experimentation
  • Index transactions even if no blocks are received
  • Expose Geth version metadata into the metrics
  • Optimise eth_estimateGas to do fewer runs
  • Add eth_getBlockReceipts RPC API call
  • Support unpacking Solidity panic events
  • Reject GraphQL block queries where both number and hash is specified
  • Optimise logging library to avoid expensive call stack lookups

Changed

  • geth --dev now simulates a PoST-based chain
  • eth_getProof is slight more efficient, and will now return a response in the canonical encoding even for off-spec input parameters
  • eth_getTransactionReceipt now returns null when the transaction is not available. It used return an error in that case.
  • The RPC server now enforces limits on batch requests and responses. This is a potentially breaking change.
    If you use batch requests with geth, and also use the go-ethereum RPC client library, we strongly recommend updating your go-ethereum library dependency as well. The new client version handles invalid batch responses way better than before.
  • Function calls timed by metrics will now run even if metrics are disabled
  • Node.Attach no longer returns an error. This is a breaking Go API change.
  • All block creation activity is now paused while the node is syncing
  • Discovery bootstrap nodes will now be filtered by the netrestrict setting, like all other nodes
  • Metrics names used by the blobpool have been changed to be compatible with Prometheus
  • Increase batch limits for RPC calls on the authenticated endpoint

Removed

  • Block headers returned by RPC no longer report a non-standard size field
  • Geth no longer uses a 'clean cache file' to persist internal caches across restarts. While persistent cache added a small performance boost right after startup, it could cause obscure issues in certain restart scenarios.
  • Obsolete parts of the LES protocol implementation, which is currently non-functional, have been removed
  • On UNIX-like OSes, package rpc no longer uses cgo
  • Building no longer fails when .DS_Store files exist in unexpected locations

Fixed

  • A crash in the prestate tracer is resolved
  • A serious memory leak related to database writes in snap sync is fixed in this release
  • Large transactions (> 4kB) are no longer broadcasted to peers. This resolves a potential network congestion issue
  • A crash related to leveldb metrics is resolved
  • Two minor bugs in the transaction pool are resolved in this release
  • The p2p server now properly tracks all peer goroutines
  • The downloader no longer accumulates goroutines/memory while processing reorgs
  • A very rare crash related to peer connection tracking is resolved
  • On macOS, a build warning related to libusb is resolved
  • An obscure build issue related to the NDEBUG C macro is resolved
  • The c-kzg-4844 and blst libraries have been updated, hopefully fixing some build issues
  • Fix forkid computation for genesis-merged non-zero timestamp networks
  • Fix a potential data race in the websocket ping/pong mechanism
  • Fix js tracers to return the gas price in base 16, not base 10
  • Fix finalized block number in dev (--dev) mode

1.2.0

18 Jul 14:13
Compare
Choose a tag to compare

BPX Execution Client 1.2.0 2023-07-18

⚠️ This release requires Beacon Client version 3.1.0 or higher.
⚠️ To take advantage of the new Pebble database, run bpx-geth removedb command before starting the client, or delete the entire ~/.bpx/execution / C:\Users\YourUserName\.bpx\execution folder

Added

  • Add block overrides to eth_call

Changed

  • Changed default database backend from LevelDB to Pebble if no existing database is found
  • In GraphQL API, all numeric values are now encoded as hex strings

Removed

  • Removed support for proof-of-work based private chains

Fixed

  • Do not ignore null address while iterative dump
  • Fix flatCallTracer crasher
  • Prevent pebble shutdown-panic
  • Make websocket use default "HTTP_PROXY" by default
  • Make eth_estimateGas use latest block by default
  • Add txHash field on txTraceResult
  • Fix crash on querying finalized block

1.1.0

19 Jun 17:55
Compare
Choose a tag to compare

BPX Execution Client 1.1.0 2023-06-19

⚠️ This release requires Beacon Client version 3.1.0 or higher.
⚠️ Replace --syncmode full with --syncmode snap in all your existing startup scripts

Changed

  • Changed default sync mode from full to snap

1.1.0-b1

17 Jun 10:17
Compare
Choose a tag to compare

BPX Execution Client 1.1.0 beta 1 2023-06-17

⚠️ This release requires Beacon Client version 3.1.0-b1 or higher.
⚠️ Replace --syncmode full with --syncmode snap in all your existing startup scripts

Changed

  • Changed default sync mode from full to snap

1.0.0

11 May 10:37
Compare
Choose a tag to compare

BPX Execution Client 1.0.0 2023-05-11

Added

  • Added mainnet bootnodes

1.0.0-a1

24 Apr 10:25
Compare
Choose a tag to compare

BPX Execution Client Testnet alpha 1.0.0a1 2023-04-24