Release Candidate v0.15.2-rc1
Pre-releaseNote to Integrators using GetVirtualChainFromBlock
IMPORTANT: If you do not use GetVirtualChainFromBlock
in your integration, you do not need to update to this version.
This release updates the GetVirtualChainFromBlock
so that it operates in batches. This solves an issue where the call to GetVirtualChainFromBlock
would previously take a long time to complete if the client has to sync virtual chain state from a deep chain block after a period of being unsynced. Each call will now return very promptly, but it also means you now have to call GetVirtualChainFromBlock multiple times if you're syncing from a deep chain block.
To take advantage of this new batching mechanism, you only need to make sure that you continue calling GetVirtualChainFromBlock
until your software has caught up to the tips of the network. For reference, the pseudo-code is:
startHash = <the_last_hash_you_synced_from>
isCatchingUp = true
// Catch-Up code. Expecting to do faster catch up logic here
while isCatchingUp:
batch = GetVirtualChainFromBlock(startHash, includeTransactionIds: true)
// Do your processing with batch
// ...
startHash = batch.added[<last_element_index>]
if len(batch.added) < 10:
// if the response was batched it will contain at least 10 chain blocks
// (because we limit the number of merged blocks by mergeset limit x 10),
// otherwise, we've caught up and can proceed with normal batch processing
isCatchingUp = false
// Continue your normal pace of processing next batches with GetVirtualChainFromBlock
// ...
What's Changed
- Fix WASM interface typo for
normalBuckets
andlowBuckets
inIFeerateBucket
by @Cryptok777 in #557 - Fix new gRPC methods to use camel case (non-breaking change) by @michaelsutton in #560
virtual chain from block
batching. by @D-Stacks in #454
New Contributors
- @Cryptok777 made their first contribution in #557
Full Changelog: v0.15.1...v0.15.2-rc1