v1.2.0
Added
- Added
sf.firehose.v2.Fetch/Block
endpoint on firehose, allows fetching single block by num, num+ID or cursor. - Added
tools firehose-single-block-client
to call that new endpoint.
Changed
- Renamed tools
normalize-merged-blocks
toupgrade-merged-blocks
.
Fixed
- Fixed
common-blocks-cache-dir
flag's description. - Fixed
DELEGATECALL
'scaller
(a.k.afrom
). -> requires upgrade of blocks toversion: 3
Upgrade Procedure
Assuming that you are running a firehose deployment v1.1.0 writing blocks to folders /v2-oneblock
, /v2-forked
and /v2
,
you will deploy a new setup that writes blocks to folders /v3-oneblock
, v3-forked
and /v3
This procedure describes an upgrade without any downtime. With proper parallelization, it should be possible to complete this upgrade within a single day.
- Launch a new reader with this code, running instrumented geth binary: https://github.com/streamingfast/go-ethereum/releases/tag/geth-v1.10.25-fh2.1
(you can start from a backup that is close to head) - Upgrade your merged-blocks from
version: 2
toversion: 3
usingfireeth tools upgrade-merged-blocks /path/to/v2 /path/to/v3 {start} {stop}
(you can run multiple upgrade commands in parallel to cover the whole blocks range) - Create combined indexes from those new blocks with
fireeth start combined-index-builder
(you can run multiple commands in parallel to fill the block range) - When your merged-blocks have been upgraded and the one-block-files are being produced by the new reader, launch a merger
- When the reader, merger and combined-index-builder caught up to live, you can launch the relayer(s), firehose(s)
- When the firehoses are ready, you can now switch traffic to them.