Skip to content

v0.8.7

Compare
Choose a tag to compare
@tyrion70 tyrion70 released this 15 Jun 10:19
fad433b

Added

This release contains a number of features aimed at improving the node's reliability when putting transactions on-chain.

  • An experimental new transaction manager is introduced that delivers reliability improvements compared to the old one, especially when faced with difficult network conditions or spiking gas prices. It also reduces load on the database and makes fewer calls to the eth node compared to the old tx manager.
  • Along with the new transaction manager is a local client command for manually controlling the node nonce - setnextnonce. This should never be necessary under normal operation and is included only for use in emergencies.
  • ethtx tasks now support two new parameters (only available with BulletproofTxManager):
    • minRequiredOutgoingConfirmations - allows you to tune how many confirmations are required before moving on from an ethtx task on a per task basis. If not supplied, the default of MIN_OUTGOING_CONFIRMATIONS is used (same as the old behaviour).
    • fromAddress - enables multikey support by allowing you to peg a job spec to a particular ethereum address.
  • New prometheus metrics for the head tracker:
    • head_tracker_heads_in_queue - The number of heads currently waiting to be executed. You can think of this as the 'load' on the head tracker. Should rarely or never be more than 0.
    • head_tracker_callback_execution_duration - How long it took to execute all callbacks. If the average of this exceeds the time between blocks, your node could lag behind and delay transactions.

Env var changes

  • ENABLE_BULLETPROOF_TX_MANAGER - Experimental feature for transaction manager, do not enable!
  • ETH_GAS_BUMP_PERCENT default value has been increased from 10% to 20%
  • ETH_GAS_BUMP_THRESHOLD default value has been decreased from 12 to 3
  • ETH_FINALITY_DEPTH specifies how deep protection should be against re-orgs. The default is 50. It only applies if BulletproofTxManager is enabled. It is not recommended to change this setting.
  • ETH_HEAD_TRACKER_HISTORY_DEPTH specifies how many heads the head tracker should keep in the database. The default is 100. It is not recommended to change this setting.