Skip to content

Transaction status plugin upgrade

Łukasz Bujak requested to merge transaction-status-plugin-overhaul into develop

This MR replaces legacy cumbersome method of determining the moment that transaction status plugin starts actual tracking of transactions - transaction-status-track-after-block config option is no longer used.
The replacement mechanism is that the tracking starts when hived is close enough to catch up with blockchain head block (close enough to live sync) - transaction-status-block-depth config option is still used here.

  • A new method of chain plugin is introduced (get_time_gap_to_live_sync) to keep consistency between transaction status and chain plugins.
  • When calculating and checking the gap to live sync, timestamps (of the blocks) are used instead of block numbers to avoid problems with missing blocks.
  • The idea of rebuilding plugin state is dropped. Tracking is not extended into the past blocks/transactions even if it was enabled at live sync.
  • Plugin's state is extended to allow plugin for relying on its own state only, as it should be for all plugins.
  • Decoupling the plugin from e.g. irreversible block storage (aka block log) allows for further improvements of the latter.

Corresponding test-tools MR: test-tools!189 (merged)

Edited by Łukasz Bujak

Merge request reports