Releases: streamingfast/firehose-solana
v0.2.7
Operators
Important
We have had reports of older versions of this software creating corrupted merged-blocks-files (with duplicate or extra out-of-bound blocks)
This release adds additional validation of merged-blocks to prevent serving duplicate blocks from the firehose or substreams service.
This may cause service outage if you have produced those blocks or downloaded them from another party who was affected by this bug.
- Find the affected files by running the following command (can be run multiple times in parallel, over smaller ranges)
tools check merged-blocks-batch <merged-blocks-store> <start> <stop>
- If you see any affected range, produce fixed merged-blocks files with the following command, on each range:
tools fix-bloated-merged-blocks <merged-blocks-store> <output-store> <start>:<stop>
- Copy the merged-blocks files created in output-store over to the your merged-blocks-store, replacing the corrupted files.
Added
- Firehose logs now include auth information (userID, keyID, realIP) along with blocks + egress bytes sent.
- Added
tools check merged-blocks-batch
to simplify checking blocks continuity in batched mode, optionally writing results to a store - Added the command
tools fix-bloated-merged-blocks
to try to fix merged-blocks that contain duplicates and blocks outside of their range. - Command
tools print one-block and merged-blocks
now supports a new--output-format
jsonl
format. Bytes data can now printed as hex or base58 string instead of base64 string. - Added retry loop for merger when walking one block files. Some use-cases where the bundle reader was sending files too fast and the merger was not waiting to accumulate enough files to start bundling merged files
Fixed
- Bumped
bstream
: thefilesource
will now refuse to read blocks from a merged-files if they are not ordered or if there are any duplicate. - The command
tools download-from-firehose
will now fail if it is being served blocks "out of order", to prevent any corrupted merged-blocks from being created. - The command
tools print merged-blocks
did not print the whole merged-blocks file, the arguments were confusing: now it will parse <start_block> as a uint64. - The command
tools unmerge-blocks
did not cover the whole given range, now fixed
Removed
-
Breaking The
reader-node-log-to-zap
flag has been removed. This was a source of confusion for operators reporting Firehose on bugs because the node's logs where merged within normal Firehose on logs and it was not super obvious.Now, logs from the node will be printed to
stdout
unformatted exactly like presented by the chain. Filtering of such logs must now be delegated to the node's implementation and how it deals depends on the node's binary. Refer to it to determine how you can tweak the logging verbosity emitted by the node. -
Flag
substreams-rpc-endpoints
removed, this was present by mistake and unused actually. -
Flag
substreams-rpc-cache-store-url
removed, this was present by mistake and unused actually. -
Flag
substreams-rpc-cache-chunk-size
removed, this was present by mistake and unused actually.
(Note: release 0.2.6 was never actually released)
v0.2.5
- bump firehose-core to
v0.1.11
with a regression fix for when a substreams has a start block in the reversible segment
v0.2.4
v0.2.3
Important
The Substreams service exposed from this version will send progress messages that cannot be decoded by substreams clients prior to v1.1.12.
Streaming of the actual data will not be affected. Clients will need to be upgraded to properly decode the new progress messages.
Changed
- Bumped firehose-core to
0.1.8
- Bumped substreams to
v1.1.12
to support the new progress message format. Progression now relates to stages instead of modules. You can get stage information using thesubstreams info
command starting at versionv1.1.12
. - Migrated to firehose-core
- change block reader-node block encoding from hex to base64
Removed
- Removed --substreams-tier1-request-stats and --substreams-tier1-request-stats (substreams request-stats are now always sent to clients)
Fixed
- More tolerant retry/timeouts on filesource (prevent "Context Deadline Exceeded")
v0.2.2-rc1
This release candidate is a hotfix for an issue introduced at v0.2.1 and affecting production-mode
where the stream will hang and some map_outputs
will not be produced over some specific ranges of the chains.
Release solana block spkg
Bump solana substreams with latest AddressLookUpTables
message.
v0.2.0
BREAKING CHANGES
Substreams protocol change
- Bumps substreams from v1.0.x to v1.1.1 -> RPC protocol changed from sf.substreams.v1.Stream/Blocks to sf.substreams.rpc.v2.Stream/Blocks. See release notes from github.com/streamingfast/substreams for details.
Added
- Added support for "requester pays" buckets on Google Storage in url, ex:
gs://my-bucket/path?project=my-project-id
Changed
-
Config value
substreams-stores-save-interval
andsubstreams-output-cache-save-interval
have been merged together as a single value to avoid potential bugs that would arise when the value is different for those two. The new configuration value is calledsubstreams-cache-save-interval
.- To migrate, remove usage of
substreams-stores-save-interval: <number>
andsubstreams-output-cache-save-interval: <number>
if defined in your config file and replace withsubstreams-cache-save- interval: <number>
, if you had two different value before, pick the biggest of the two as the new value to put. We are currently setting to1000
for Ethereum Mainnet.
- To migrate, remove usage of
-
Updated to Substreams
v0.2.0
, please refer to release page for further info about Substreams changes. -
Updated
--substreams-output-cache-save-interval
default value to 1000.
Added
-
Added
tools bt blocks --bt-project=<bigtable_project> --bt-instance=<bigtable_instance> <start-block-num> <stop-block-num>
command to scan bigtable rows- Added
--firehose-enabled
flag to output FIRE log
- Added
-
Added
reader-bt
application to sync directly from bigtable- Added
--reader-bt-readiness-max-latency
flag - Added
--reader-bt-data-dir
flag - Added
--reader-bt-debug-firehose-logs
flag - Added
--reader-bt-log-to-zap
flag - Added
--reader-bt-shutdown-delay
flag - Added
--reader-bt-working-dir
flag - Added
--reader-bt-blocks-chan-capacity
flag - Added
--reader-bt-one-block-suffix
flag - Added
--reader-bt-startup-delay
flag - Added
--reader-bt-grpc-listen-addr
flag
- Added
Removed
- Removed
dgraphql
application and all associated flags - Removed
tools reproc
replaced withtools bt blocks
Project Rename
- The repo name has changed from
sf-solana
tofirehose-solana
- The binary name has changed from
sfsol
tofiresol
(aligned with https://firehose.streamingfast.io/references/naming-conventions)
Flags and environment variables rename
-
All config via environment variables that started with
SFSOL_
now starts withFIRESOL_
-
Changed
config-file
default from./sf.yaml
to""
, preventing failure without this flag. -
Renamed
common-blocks-store-url
tocommon-merged-blocks-store-url
-
Renamed
common-oneblock-store-url
tocommon-one-block-store-url
-
Renamed
common-blockstream-addr
tocommon-live-blocks-addr
-
Renamed
common-protocol-first-streamable-block
tocommon-first-streamable-block
-
Added
common-forked-blocks-store-url
-
Renamed the
mindreader
application toreader
- Renamed
mindreaderPlugin
toreaderPlugin
- Renamed
-
Renamed all the
mindreader-node-*
flags toreader-node-*
- Renamed
mindreader-node-start-block-num
toreader-node-start-block-num
- Renamed
mindreader-node-stop-block-num
toreader-node-stop-block-num
- Renamed
mindreader-node-blocks-chan-capacity
toreader-node-blocks-chan-capacity
- Renamed
mindreader-node-wait-upload-complete-on-shutdown
toreader-node-wait-upload-complete-on-shutdown
- Renamed
mindreader-node-oneblock-suffix
toreader-node-one-block-suffix
- Renamed
mindreader-node-deepmind-batch-files-path
toreader-node-firehose-batch-files-path
- Renamed
mindreader-node-purge-account-data
toreader-node-purge-account-data
- Added
reader-node-arguments
- Removed
reader-node-merge-and-store-directly
- Removed
reader-node-block-data-working-dir
- Removed
reader-node-extra-arguments
- Removed
reader-node-merge-threshold-block-age
- Renamed
-
Renamed all instances of
deepmind
tofirehose
- Renamed
path-to-deepmind-batch-files
topath-to-firehose-batch-files
- Renamed
mindreader-node-deepmind-batch-files-path
toreader-node-firehose-batch-files-path
- Renamed
-
Renamed
debug-deepmind
todebug-firehose-logs
- Renamed
mindreader-node-debug-deep-mind
toreader-node-debug-firehose-logs
- Renamed
-
Renamed
dmlog
tofirelog
- Flag
<path_to_dmlog.dmlog>
changed to<path_to_firelog.firelog>
- Flag
-
Renamed
DMLOG
prefix toFIRE
-
Added/Removed
merger-*
flags- Removed
merger-writers-leeway
- Removed
merger-one-block-deletion-threads
- Removed
merger-max-one-block-operations-batch-size
- Added
merger-time-between-store-pruning
- Added
merger-prune-forked-blocks-after
- Added
merger-stop-block
- Removed
-
Added/Removed
firehose-*
flags- Removed
firehose-blocks-store-urls
- Removed
firehose-real-time-tolerance
- Removed
firehose-blocks-store-urls
- Removed
firehose-real-time-tolerance
- Removed
-
Removed
relayer-*
flags- Removed
relayer-source-request-burst
- Removed
relayer-merger-addr
- Removed
relayer-buffer-size
- Removed
relayer-min-start-offset
- Removed
Solana Substreams Packages
v0.1.0 bump solana substreams