Documentation ¶
Overview ¶
Package bls implements a go-wrapper around a library implementing the the BLS12-381 curve and signature scheme. This package exposes a public API for verifying and aggregating BLS signatures used by Ethereum 2.0.
Index ¶
Constants ¶
const CurveOrder = "52435875175126190479447740508185965837690552500527637822603658699938581184513"
CurveOrder for the BLS12-381 curve.
const DomainByteLength = 4
DomainByteLength length of domain byte array.
Variables ¶
var ErrImplementationNotFound = errors.New("the implementation requested is not found")
ErrImplementationNotFound returns when selecting another bls implementation
var ErrInfinitePubKey = common.ErrInfinitePubKey
ErrInfinitePubKey describes an error due to an infinite public key.
var ErrZeroKey = common.ErrZeroKey
ErrZeroKey describes an error due to a zero secret key.
var InfinitePublicKey = common.InfinitePublicKey
InfinitePublicKey represents an infinite public key.
var Prefix = params.MainNet.AccountPrefixes
var ZeroSecretKey = common.ZeroSecretKey
ZeroSecretKey represents a zero secret key.
Functions ¶
func AggregateSignatures ¶
AggregateSignatures converts a list of signatures into a single, aggregated sig.
func Initialize ¶
func Initialize(c *params.ChainParams, impl string)
func NewAggregateSignature ¶
NewAggregateSignature creates a blank aggregate signature.
Types ¶
type PublicKey ¶
PublicKey represents a BLS public key.
func AggregatePublicKeys ¶
AggregatePublicKeys aggregates the provided raw public keys into a single key.
func PublicKeyFromBytes ¶
PublicKeyFromBytes creates a BLS public key from a BigEndian byte slice.
type SecretKey ¶
SecretKey represents a BLS secret or private key.
func SecretKeyFromBigNum ¶
SecretKeyFromBigNum takes in a big number string and creates a BLS private key.
func SecretKeyFromBytes ¶
SecretKeyFromBytes creates a BLS private key from a BigEndian byte slice.
Directories ¶
Path | Synopsis |
---|---|
Package common provides the BLS interfaces that are implemented by the various BLS wrappers.
|
Package common provides the BLS interfaces that are implemented by the various BLS wrappers. |
Code generated by fastssz.
|
Code generated by fastssz. |