Go-eth-consensus Godoc

Go-eth-consensus is a suite of Go utilities to interact with the Ethereum consensus layer.

The core of this library was initially part of eth2-validator. However, as other projects started to mature, it became necessary to create a unified library to reduce code duplication and increase consistency.


Consensus data types. Full set of data types (up to Bellatrix) in structs.go at root. It includes the SSZ encoding for each one using fastssz. Each type is end-to-end tested with the official consensus spec tests.

Http client. Lightweight implementation for the OpenAPI spec. For usage and examples see the Godoc. The endpoints are tested against a real server that mocks the OpenAPI spec.

Chaintime. Simple utilities to interact with slot times and epochs.

BLS. Abstraction to sign, recover and store (with keystore format) BLS keys.

Builder types. In progress.


$ go get github.com/umbracle/go-eth-consensus


View Github