block

package
v0.0.0-...-bc03976 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Sep 8, 2024 License: BSD-3-Clause Imports: 13 Imported by: 0

Documentation

Index

Constants

View Source
const CodecVersion = 0

Variables

Functions

This section is empty.

Types

type Block

type Block interface {
	ID() ids.ID
	ParentID() ids.ID
	Block() []byte
	Bytes() []byte
	// contains filtered or unexported methods
}

func BuildOption

func BuildOption(
	parentID ids.ID,
	innerBytes []byte,
) (Block, error)

BuildOption the option block [parentID] is the ID of this option's wrapper parent block [innerBytes] is the byte representation of a child option block

func Parse

func Parse(bytes []byte, chainID ids.ID) (Block, error)

Parse a block and verify that the signature attached to the block is valid for the certificate provided in the block.

func ParseWithoutVerification

func ParseWithoutVerification(bytes []byte) (Block, error)

ParseWithoutVerification parses a block without verifying that the signature on the block is correct.

type Header interface {
	ChainID() ids.ID
	ParentID() ids.ID
	BodyID() ids.ID
	Bytes() []byte
}

func BuildHeader

func BuildHeader(
	chainID ids.ID,
	parentID ids.ID,
	bodyID ids.ID,
) (Header, error)

func ParseHeader

func ParseHeader(bytes []byte) (Header, error)

type ParseResult

type ParseResult struct {
	Block Block
	Err   error
}

func ParseBlocks

func ParseBlocks(blks [][]byte, chainID ids.ID) []ParseResult

ParseBlocks parses the given raw blocks into tuples of (Block, error). Each ParseResult is returned in the same order as its corresponding bytes in the input.

type SignedBlock

type SignedBlock interface {
	Block

	PChainHeight() uint64
	Timestamp() time.Time

	// Proposer returns the ID of the node that proposed this block. If no node
	// signed this block, [ids.EmptyNodeID] will be returned.
	Proposer() ids.NodeID
}

func Build

func Build(
	parentID ids.ID,
	timestamp time.Time,
	pChainHeight uint64,
	cert *staking.Certificate,
	blockBytes []byte,
	chainID ids.ID,
	key crypto.Signer,
) (SignedBlock, error)

func BuildUnsigned

func BuildUnsigned(
	parentID ids.ID,
	timestamp time.Time,
	pChainHeight uint64,
	blockBytes []byte,
) (SignedBlock, error)

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL