Crate beefy_primitives[][src]

Expand description

Primitives for BEEFY protocol.

The crate contains shared data types used by BEEFY protocol and documentation (in a form of code) for building a BEEFY light client.

BEEFY is a gadget that runs alongside another finality gadget (for instance GRANDPA). For simplicity (and the initially intended use case) the documentation says GRANDPA in places where a more abstract “Finality Gadget” term could be used, but there is no reason why BEEFY wouldn’t run with some other finality scheme. BEEFY validator set is supposed to be tracking the Finality Gadget validator set, but note that it will use a different set of keys. For Polkadot use case we plan to use secp256k1 for BEEFY, while GRANDPA uses ed25519.

Modules

BEEFY cryptographic types

BEEFY + MMR utilties.

Primitives for light, 2-phase interactive verification protocol.

Structs

A commitment signed by GRANDPA validators as part of BEEFY protocol.

A commitment with matching GRANDPA validators’ signatures.

A set of BEEFY authorities, a.k.a. validators.

BEEFY vote message.

Enums

A consensus log item for BEEFY.

A SignedCommitment with a version number. This variant will be appended to the block justifications for the block for which the signed commitment has been generated.

Constants

The ConsensusEngineId of BEEFY.

Authority set id starts with zero at genesis

Key type for BEEFY module.

Traits

API necessary for BEEFY voters.

Type Definitions

The index of an authority.

The type used to represent an MMR root hash.

A typedef for validator set id.