v0.3.0 - Preliminary Kusama compatibility
Pre-release
Pre-release
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