Skip to content

Releases: erigontech/erigon

2022.03.02-beta

27 Mar 10:37
997846f

Choose a tag to compare

  1. Upgrade to new version of MDBX with a workaround for incoherence flaw of Linux unified page/buffer cache.
  2. Fix for the bug in debug_traceBlock, previously leading to incorrect results. Thanks to external contributor cannium.
  3. Fix for the tx pool cost check for account balance
  4. Enable subscription to event logs in eth_subscribe method when working via WebSockets
  5. Updates to pre-verified hashes for Mainnet, Ropsten, Sepolia, change of skip analysis optimisation parameter

2022.03.01-beta

15 Mar 18:21
25a68e0

Choose a tag to compare

  1. Fixes for erigon_getBlockByTimestamp RPC method
  2. Add timings of the forward (not only unwind) stages into the summary of timings at the end of the stage sync cycle.
  3. Allow any origins to call debug/metrics/prometheus
  4. Allow usage of --miner.sigfile and --miner.etherbase together (they were mutually exclusive by mistake before)
  5. Fixes for p2p peer discovery - should speed up getting new peers when starting from scratch
  6. New mainnet bootnodes
  7. Enable storage overrides for debug_traceCall RPC method
  8. Allow eth_call RPC method to use contract address as “from” field
  9. Updates to pre-verified hashes for Mainnet, Ropsten, change of skip analysis optimisation parameter

2022.02.04-beta

24 Feb 09:47
c4e29e3

Choose a tag to compare

  1. Optimisation for eth_getStorageAt and eth_getBalance to use current plain state and state cache (if available) when executed on “latest”
  2. Automatic detection of “latest” (and appropriate use of plain state and state cache) even if numerical block number is specified, for RPC queries like eth_getStorageAt, eth_getBalance, eth_call, trace_call, trace_callMany etc.
  3. Correctness fix for eth_createAccessList, thanks to external contributor zzh1996 for pointing out the problem
  4. Fix for support of storage overrides in eth_call, thanks to external contributor zzh1996 for pointing out the problem. Storage override also work correctly when transaction reverts
  5. Add debug_traceBlockByNumber and debug_traceBlockByHash - thanks to external contributor bernard-wagner for providing the implementation
  6. Correctness fix for transaction pool, sometimes proper ordering transactions was not updated.
  7. New transaction “poke” functionality for the transaction pool. Designed to help operators who do not see their local transactions propagated even though Erigon logs show annoucement and broadcast. If local transaction is sent to the pool (via eth_sendRawTransaction), and it is not accepted either due to duplicate hash, or due to not enough fee bump, the transaction that exists in the pool gets re-announced and re-broadcast. This can be used as a workaround while we are investigating the root cause.
  8. Updates to pre-verified hashes for Mainnet, Ropsten, change of skip analysis optimisation parameter

2022.02.03-beta

17 Feb 08:11
227bb73

Choose a tag to compare

  1. Support for Sepolia Proof Of Work testnet, available via option --sepolia
  2. Allow RPC daemon to be started when transaction pool is disabled via --txpool.disable option.
  3. Fix for panic “send in closed channel” introduced by an earlier version.
  4. Option --ws on RPC daemon now correctly handles empty http GET requests often used for monitoring.
  5. MDBX utilities updated to match MDBX version in Erigon (0.11.4)
  6. Optimisation for eth_createAccessList, for some cases when it makes sense not to include transaction target into the access list
  7. Header downloader logic changed to use queues instead of insert list, simplifying the code and hopefully preventing stalls due to ommer blocks.
  8. Fix for shutdown panic when tx pool is disabled.
  9. Updates to pre-verified hashes for Mainnet, Ropsten, and Sepolia, change of skip analysis optimisation parameter

2022.02.02-beta

10 Feb 15:10
412464c

Choose a tag to compare

  1. Close node database if erigon fails to start up
  2. Compatibility fix for parity_listStorageKeys, now the last parameter needs to be specified, however, only value “latest” is currently implemented.
  3. Fix the issue when header sync progress was not updated correctly in the database
  4. Compatibility fix for eth_getTransactionByHash - it does not fail when transaction is not found in the database and in the tx pool. Returns nil instead.
  5. Asynchronous state streaming and newHead notifications. In the past, slow receievers of state stream and notifications could slow down Erigon’s stage loop.
  6. Reverted previous change for header downloaded which might have introduced regression (stuck header download)
  7. Updates to pre-verified hashes for Ropsten and Mainnet, change of skip analysis optimisation parameter

2022.02.01-beta

03 Feb 19:40
9a46788

Choose a tag to compare

  1. Fix memory leak in the transaction pool - thanks to external contributor @dmitry123 for bringing attention to it
  2. Memory leak fix in transaction pool also fixes failure in txpool_content RPC method, now it works well even for the large pool sizes.
  3. Fixed the output format of erigon_issuance RPC method.
  4. Asynchronous transaction broadcast in transaction pool to fix slow pending transaction feed for eth_subscribe
  5. Penalise peers for more cases of invalid RLPs
  6. Compatibility fix for eth_getTransactionByBlockHashAndIndex for the cases where transaction index is higher or equal than number of transactions in the block.
  7. Updates to pre-verified hashes for Ropsten and Mainnet, change of skip analysis optimisation parameter

2022.01.03-beta

27 Jan 14:44
d8b0992

Choose a tag to compare

  1. More reliable classification of transactions in the txpool (into pending, basefee, and queued sub pools). Improved performance of pool reprocessing on basefee changes (~10 ms for a pool with 250k transactions).
  2. Further fixes to transaction parsing and encoding - this has been an issue for a few past releases.
  3. txpool_content RPC method now separates pending and basefee sub pools (previously, they were lumped into pending pool). Performance of txpool_content has been significantly improved.
  4. Transactions with gas parameter larger than current block gas limit do get promoted to pending anymore and are not served to the miner / block proposer.
  5. Better txpool documentation, option --txpool.trace.senders is now available when txpool(s) run in a separare process (yes, it is possible!)
  6. MDBX assertion fix that allows databases grow over 4Tb without crashing.
  7. MDBX produces more helpful error messages when DB corruption happens (with some recommendations about what to do).
  8. Added experimental WatchTheBurn stage (disabled by default needs to be turned on with --watch-the-burn command line option). This allows tracking issuance (and burning or ETH) via erigon_issuance RPC method.
  9. p2p sentry propages “peer disconnected” event to Erigon.
  10. Updates to pre-verified hashes for Ropsten and Mainnet, change of skip analysis optimisation parameter

2022.01.02-beta

20 Jan 08:06
5d3c776

Choose a tag to compare

  1. debug_storageRangeAt. Fix for the transaction index being ignored. Thanks to external contributor bgelb. This is the continuation of the fix from the previous release, as one line of the change was not include by mistake.
  2. Penalise peers that send invalid RLP messages over p2p - this is to prevent the invalid RLP warnings to fill up the logs.
  3. No timeout on “Bodies download” stage stall for initial sync. When Erigon is working near tip of the chain, there is a limit of time that it would wait to receive a block body for given header, before it gives up. Now this will not happen during the initial sync to prevent staged sync to be interrupted too early.
  4. Fix of the bug in the transaction pool that led to incorrect RLP for TransactionPackets to be send, containing zero-length strings as transactions. Thanks for details report to aspin from BloXroute.
  5. Fix of the bug in the transaction pool that lead the incorrect parsing of some incoming transactions, leading to them being double-enveloped when propagated. Thanks for details report to aspin from BloXroute.
  6. Implementation of parity_listStorageKeys, but only for the current state (‘latest’ setting).
  7. Simplified miner gas limit post EIP-1559. This follows analogous change in go-ethereum, with two settings, miner.gastarget and miner.gaslimit being replaced with the single setting miner.gaslimit with default 30M.
  8. Fix to the transaction pool to allow transactions to be replaced when bump in both feeCap and tip are more than or equal to the value specified by txpool.pricebump setting. Previously, the bump needed to be more than the setting, which precluded setting bump to 0.
  9. Fix of a bug in the header downloader that led to the current tip of the chain being detected slower than it should.
  10. Method trace_filter now supports intersection mode. For example, to find transactions (and sub-transactions) that originate from certain set of addresses AND sent to certain set of addresses. The default, union mode, finds transactions and sub-transactions that originate from certain set of addresses OR sent to certain set of addresses. Activated by adding mode JSON field with the value intersection to the trace_filter query. Thanks to external contributor awskii.
  11. Removal of the change made in the previous release that increase timeout for block body download from 30 seconds to 60 seconds. Further tests showed this change to be detrimental to the performance of the body download stage.
  12. Updates to pre-verified hashes for Ropsten and Mainnet, change of skip analysis optimisation parameter.

2022.01.01-beta

12 Jan 13:38
5364532

Choose a tag to compare

  1. debug_storageRangeAt. Fix for the transaction index being ignored. Thanks to external contributor bgelb.
  2. Remove noise in the logs for incorrect RLP messages coming from peers
  3. Fix for nil pointer dereference in Sender recovery stage
  4. Added sanity check for new blocks received from peers
  5. MDBX version update - fixing the slow commit related to reclaimable space
  6. Increase timeout for block body download from 30 seconds to 60 seconds. This is the time Erigon waits for a response to a request to get block bodies from peers, before re-requesting.
  7. Updates to pre-verified hashes for Ropsten and Mainnet, change of skip analysis optimisation parameter

2021.12.03-beta

17 Dec 10:28
47c3b9d

Choose a tag to compare

  1. GRPC health check on Erigon and RPC Daemon, activated by --healthcheck command line option (thanks to external contributor “primalcs”). Documentation still needs to be written, but it follows this: https://github.com/grpc/grpc/blob/master/doc/health-checking.md
  2. docker-compose.yml now includes option for RPC Daemon to connect to the transaction pool.
  3. Support for eth/65 p2p protocol is removed, reducing number of internal sentries from 2 to 1, and consequently number of peers by default.
  4. Transaction pool now supports debugging for specific sender addresses using --txpool.trace.senders option. It takes comma-separated list of addresses and prints detailed information about all transactions sent by specified addresses. It can be used for investigation of issues with the transaction pool.
  5. Checks for potential database schema downgrades. Erigon 1 beta and Erigon 2 will soon diverge on their database layout and from now on users will not be able to use the same database with Erigon 1 beta and Erigon 2 interchangeably. Checks in the code are designed to protect from accidental DB upgrades or downgrades.
  6. Transaction broadcasting. Previously, pending transactions were announced (by sending their hashes), but not broadcast. Now they are broadcast to a random subset of peers. For local transactions, the log output now shows how many peers they have been announced and broadcast to.
  7. Fix of a bug in the transaction pool that caused local transactions not being announced or broadcast when their dependent transaction is promoted or replaced by higher fee.
  8. Updates to pre-verified hashes for Ropsten and Mainnet, change of skip analysis optimisation parameter