genesis

package
v1.1.0 Latest Latest
Warning

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

Go to latest
Published: Aug 25, 2021 License: LGPL-3.0 Imports: 17 Imported by: 0

Documentation

Index

Constants

View Source
const (
	FileName       = "genesis.json"
	InitGasLimit   = 3758096384
	InitDifficulty = 1
)

Variables

This section is empty.

Functions

func New

func New(options ...Option) *core.Genesis

func NewFile

func NewFile(isQuorum bool, options ...Option) string

func NewFileAt

func NewFileAt(dir string, isQuorum bool, options ...Option) string

func Save

func Save(dataDir string, genesis *core.Genesis, isQuorum bool) error

Types

type Option

type Option func(*core.Genesis)

func AddQbftBlock added in v1.1.0

func AddQbftBlock() Option

func Alloc

func Alloc(addrs []common.Address, balance *big.Int) Option

func GasLimit

func GasLimit(limit uint64) Option

func QbftExtraData added in v1.1.0

func QbftExtraData(addrs ...common.Address) Option

func Validators

func Validators(addrs ...common.Address) Option

type QuorumChainConfig

type QuorumChainConfig struct {
	*params.ChainConfig
	IsQuorum bool `json:"isQuorum,omitempty"`
}

type QuorumGenesis

type QuorumGenesis struct {
	Config     *QuorumChainConfig `json:"config"`
	Nonce      uint64             `json:"nonce"`
	Timestamp  uint64             `json:"timestamp"`
	ExtraData  []byte             `json:"extraData"`
	GasLimit   uint64             `json:"gasLimit"   gencodec:"required"`
	Difficulty *big.Int           `json:"difficulty" gencodec:"required"`
	Mixhash    common.Hash        `json:"mixHash"`
	Coinbase   common.Address     `json:"coinbase"`
	Alloc      core.GenesisAlloc  `json:"alloc"      gencodec:"required"`

	// These fields are used for consensus tests. Please don't use them
	// in actual genesis blocks.
	Number     uint64      `json:"number"`
	GasUsed    uint64      `json:"gasUsed"`
	ParentHash common.Hash `json:"parentHash"`
}

func ToQuorum

func ToQuorum(g *core.Genesis, isQuorum bool) *QuorumGenesis

ToQuorum converts standard genesis to quorum genesis

func (QuorumGenesis) MarshalJSON

func (q QuorumGenesis) MarshalJSON() ([]byte, error)

func (*QuorumGenesis) UnmarshalJSON

func (q *QuorumGenesis) UnmarshalJSON(input []byte) error

Jump to

Keyboard shortcuts

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