// Package blocks contains block processing libraries according to // the eth2spec. package blocks import ( ethpb "github.com/prysmaticlabs/ethereumapis/eth/v1alpha1" "github.com/prysmaticlabs/prysm/shared/params" ) // NewGenesisBlock returns the canonical, genesis block for the beacon chain protocol. func NewGenesisBlock(stateRoot []byte) *ethpb.SignedBeaconBlock { zeroHash := params.BeaconConfig().ZeroHash[:] block := ðpb.SignedBeaconBlock{ Block: ðpb.BeaconBlock{ ParentRoot: zeroHash, StateRoot: stateRoot, Body: ðpb.BeaconBlockBody{ RandaoReveal: make([]byte, 96), Eth1Data: ðpb.Eth1Data{ DepositRoot: make([]byte, 32), BlockHash: make([]byte, 32), }, Graffiti: make([]byte, 32), }, }, Signature: params.BeaconConfig().EmptySignature[:], } return block }