Gossamer Update: November 2020

Gossamer Update: November 2020

Authored by Edward Mack
Since we published our last blog post, Gossamer Update: September 2020, we've finished implementing all functionality specified by The Polkadot Host Protocol Specification. We've also tagged release version 0.2.0.

For those who are unfamiliar, Gossamer is an implementation of the Polkadot Host, formerly known as the Polkadot Runtime Environment. To learn more about what exactly that is, watch our introductory talk from DotCon during Berlin Blockchain Week.

The implementation of the Polkadot Host Protocol Specification helps to ensure that the Gossamer node will be able to interact with other nodes that also implement this specification. This sets the groundwork for our ultimate goal of fully interacting with other Polkadot nodes.

Gossamer 0.2.0 New Features

  • Compatible with Polkadot v0.6 runtime API.

  • Complete GRANDPA implementation, including networking and catch-up.

  • Preliminary polkadot.js compatibility with v1.34.1; able to query node.

  • Support for multiple Wasm interpreters; currently supports go-wasmer and go-wasmtime.

  • Transaction pool maintenance on chain re-orgs.

  • Add noise support to the networking layer.

  • Handle runtime-to-consensus engine digests.

  • Add profiling options - cpuprof and - memprof.


  • Use network sub-protocols for block requests and responses (/sync/2) and block announces (/block-announces/1).

  • Update built-in keys to match subkey; eg. - key alice now matches subkey inspect //Alice.

  • Maximum block response size for syncing increased to 128 from 16.

  • Add configuration options for package log levels.

Next Steps

The team is currently hard at work updating code so our node will work with Polkadot runtime API v0.8. Updating the node's runtime API to v0.8 sets the foundation for interaction with the Kusama network. We will also continue to add functionality for integrating via Polkadot.js API. The team is also in the midst of updating the networking protocols.


This is an open source project, so we're open and eager to hear from you. You can reach us on Discord, or check out our progress on github. Better yet, why not contribute directly to this project? The git repository outlines steps for getting started.