Sitelet https://github.com/ethereum/consensus-specs/issues/2138
Skip to content

SSZ implementations list #2138

Description

@protolambda

A non-exhaustive list of SSZ implementations. Not officially endorsed, but maintained by client teams and other members of the ethereum community. Comment in this issue if you like to add/update an entry.

Maintained here to avoid continuous changes to the spec (and not delay table updates till spec release).

Language Project Maintainer License Status Features / Notes Implementation
C++ Prysm Offchain Labs Apache-2.0 Active No dynamic dispatching, minimal memory alloc. OffchainLabs/sszpp
Dafny Eth2 spec/verif. with Dafny ConsenSys Software And Ethereum Foundation (grant) Apache-2.0 Active Formal spec., correctness proofs ConsenSys/eth2.0-dafny
Go ZRNT Diederik Loerakker (@protolambda) MIT Active Generic, caching, datasharing protolambda/ztyp
Go Prysm Ferran Borreguero (@ferranbt) MIT Active Code-gen, fast ferranbt/fastssz
Go SSZ-15 / Go-ethereum Péter Szilágyi (@karalabe) BSD 3-Clause Active Code-gen, fast, 0-alloc karalabe/ssz
Go EF-devops / pk910 @pk910 Apache-2.0 Active Dynamic using type reflection pk910/dynamic-ssz
Java Teku Consensys/PegaSys Eng. Apache-2.0 Active Caching, datasharing PegaSysEng/teku/ssz
Nim Nimbus Status MIT and Apache-2.0 Active In-place decode, Caching status-im/nim-ssz-serialization
Python Trinity Ethereum Foundation MIT Active Pyrsistent, partial caching ethereum/py-ssz
Python Pyspec / Eth2.py Diederik Loerakker (@protolambda) MIT Active Datasharing, caching, streaming protolambda/remerkleable
Rust - Alex Stokes (@ralexstokes) MIT Active Built for light-client usage ralexstokes/ssz-rs
Rust Lighthouse Sigma Prime Apache-2.0 Active Partial caching, fast sigp/ethereum_ssz
Typescript Lodestar Chainsafe Systems Apache-2.0 Active Both Tree & structural, caching ChainSafe/ssz
Typescript Micro-eth-signer Paul Miller (@paulmillr) MIT Active Minimalist paulmillr/micro-eth-signer/src/ssz.ts
Zig - Guillaume Ballet (@gballet) Unlicense Active Zig gballet/ssz.zig
C# - @hexafluoride MIT Active Experimental, serialization only hexafluoride/SszSharp
C# - Nethermind ? Early draft Code-gen, draft NethermindEth/ssz-codegen
C++ Mammon Potuz GPL-3.0 Paused Optimized hash function potuz/mammon
Go Prysm Prysmatic Labs MIT Deprecated Generic, reflection, known bugs prysmaticlabs/go-ssz
Go ZRNT Diederik Loerakker (@protolambda) MIT Deprecated Unsafe Go, fast, streaming protolambda/zssz
Go Go-ethereum @rjl493456442 BSD 3-Clause Discontinued Code-gen, encoding-only rjl493456442/sszgen
Java Harmony Harmony Apache-2.0 Deprecated Partially merged into Teku harmony-dev/beacon-chain-java/ssz
TypeScript Lodestar ChainSafe Systems Apache-2.0 Archived See new Lodestar SSZ ChainSafe/ssz-js
C# Cortex Sly Gryphon (@sgryphon) LGPL-v3.0 Discontinued Experimental sgryphon/cortex-ssz
Rust Shasper ParityTech GPL-3.0 Discontinued No updates paritytech/shasper/ssz
Swift Yeeth Dean Eigenmann (@decanus, @yeeth) MIT Discontinued Incomplete yeeth/SimpleSerialize.swift
Java Cava ConsenSys Apache-2.0 Discontinued Outdated, incomplete ConsenSys/cava/ssz

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    sszSimple Serialize

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions