Skip to content

v0.12.0

Latest

Choose a tag to compare

@YaroShkvorets YaroShkvorets released this 09 Nov 23:05
784de5d

blobs sink moves to the official Substreams sink library and takes its block range from flags, which allows starting at the chain head. blobs api, blobs migrate-kv and the Substreams package (eth-blobs-v0.10.0.spkg) are unchanged. Image: ghcr.io/pinax-network/eth-blobs:v0.12.0.

Breaking: blobs sink command line

v0.11.0 v0.12.0
blobs sink <endpoint> <spkg> <start>: blobs sink <endpoint> <spkg> --start-block=<start>
blobs sink <endpoint> <spkg> <start>:<stop> … --start-block=<start> --stop-block=<stop> (-s, -t; <stop> stays exclusive)
--infinite-retry --max-retries=-1
--irreversible-only --final-blocks-only

A leftover range argument fails at startup and names the new flags. Update the arguments in the same change that moves a deployment to this image.

New: start at the chain head

A negative --start-block is resolved by the server against the chain head: --start-block=-1 starts at the block below it. A new writer with an empty bucket can start live without anyone looking up a current slot. Starting at the head is also the quickest way to exercise the live path (non-final blocks, undo signals, missed slots) when testing locally.

As before, the start block applies only while the writer has no cursor/<writer> object; with one, the sink resumes from it. A head-relative start is not reproducible, so a writer that must line up with a backfill keeps an absolute start.

Changed: official sink library (#16)

The sink now uses github.com/streamingfast/substreams/sink instead of a fork of the deprecated github.com/streamingfast/substreams-sink. Behaviour is the same: there is still no undo buffer, metrics are still served on --metrics-listen-addr, and --max-retries defaults to 15 (about 5 minutes of backoff), the previous budget.

  • New flags from the library: --max-retries, --force-protocol-version, --proto-path, --proto-descriptor-set.
  • Metrics: substreams_sink_data_message_size_bytes and substreams_sink_progress_message_total_processed_blocks are gone; the closest replacements are substreams_sink_server_egress_bytes and substreams_sink_processed_blocks. The library also adds substreams_sink_processed_bytes, substreams_sink_block_wait_time, substreams_sink_block_time_delta and substreams_sink_local_processing_time. head_block_number, head_block_time_drift, the other substreams_sink_* metrics and the blobs_sink_* metrics are unchanged.

Full changelog: v0.11.0...v0.12.0