Skip to content

v0.3.0 - Preliminary Kusama compatibility

Pre-release
Pre-release
Compare
Choose a tag to compare
@noot noot released this 25 Feb 19:49
· 1352 commits to development since this release
da8a240

This is a pre-release compatible with the Polkadot v0.8 runtime API and the Kusama network.

New Features

  • compatible with Polkadot v0.8 runtime API (go-wasmer)
  • networking up-to-date with substrate as of Feb 25 2021 (discovery, message exchanges tested and working with Kusama)
  • compatibility with polkadot.js: implement storage and chain updates via websocket; able to query blocks and state; account and extrinsic submission working within node.js
  • add preliminary support for the perlin/life wasm interpreter
  • add BABE secondary slot authorship verification
  • update BABE digests to be compatible with substrate and correctly set next epoch data

Improvements

  • merkle-patricia trie database backing refactored to store trie nodes individually in database
  • fix usage of trie node "dirty" bit, use this when writing to database
  • merkle-patricia trie refactored to allow for "versioned" trie where only updated trie nodes are copied and updated, unmodified trie nodes are no longer duplicated
  • network improvements based on CPU profiling; read/write directly to/from same stream when syncing, improve allocations
  • syncing algorithm improved to queue block data while currently processing data
  • basic scoring and pruning added to sync algorithm; don't disconnect from preferred peers

Bug Fixes

  • runtime upgrades fixed and tested with Kusama
  • runtime bug where values were not being correctly copied before placed into trie fixed
  • use __heap_base as allocator offset for runtime
  • fix BABE threshold calculation to match substrate