Protocol
The Protocol-Engineering Department at ChainSafe Systems hosts all teams that implement specifications of decentralized ledger technologies as well as communication protocols. In general, protocols are clearly specified sets of rules and regulations that determine how data is transmitted and processed, as well as define the interfaces to access and manipulate even those.
Overview
Currently, we are engaged with the following Protocols.
- Ethereum Consensus-Layer Specification
- Polkadot-Host Specification
- Filecoin Protocol Specification
- LibP2P Networking Specifications
We contribute to existing open-source libraries and also maintain our own protocol implementations in-house. Our three main teams are:
- Lodestar: Ethereum Consensus-Layer implementation in TypeScript
- Forest: Filecoin Full-Node implementation in Rust
- Gossamer: Polkadot-Host implementation in Go
Lodestar
Lodestar is a collection of libraries that can be bundled into a fully-fledged Ethereum consensus-layer client. https://lodestar.chainsafe.io/
Among others, the following libraries and projects were published along with the Lodestar client.
- Inspect Ethereum Name Records
- Serialize and deserialize data for Ethereum's SSZ standard
- Generate BLS keypairs for Ethereum testnets
ChainSafe Systems is also the main contributor and co-maintainer of the JavaScript LibP2P implementation. https://github.com/libp2p/js-libp2p
Forest
Forest is a highly efficient Rust implementation of the Filecoin specification. https://chainsafe.github.io/forest
Even though the client is not yet feature complete, it provided the canonical implementation of the Filecoin Virtual Machine and Builtin Actors used by every other client on the Filecoin network.
Initially part of the Forest code, these projects and libraries are now stand-alone components of the Filecoin network and are co-maintained by Filecoin Foundation and the Forest team.
Gossamer
Gossamer is a Polkadot host written in Go, a framework to build and run nodes for different blockchain protocols compatible with the Polkadot ecosystem, mainly but not limited to the Polkadot and Kusama relay chains. A Gossamer node can act as an alternative full node for chains such as Polkadot or Kusama. https://chainsafe.github.io/gossamer
The Polkadot host in Go is capable of running multi-node Polkadot relay-chains. However, the client is not yet feature complete.