Skip to content

Release Candidate v0.15.2-rc1

Pre-release
Pre-release
Compare
Choose a tag to compare
@coderofstuff coderofstuff released this 19 Sep 20:41
· 24 commits to master since this release
b14537f

Note 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 and lowBuckets in IFeerateBucket 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

Full Changelog: v0.15.1...v0.15.2-rc1