Documentation
¶
Index ¶
Constants ¶
View Source
const DefaultProposalThreshold uint64 = 3
View Source
const ShortHashSuffixBytes = 3
How many bytes to take from the front of the GenesisDoc hash to append to the ChainName to form the ChainID. The idea is to avoid some classes of replay attack between chains with the same name.
Variables ¶
This section is empty.
Functions ¶
func NewDeterministicGenesis ¶ added in v0.18.0
func NewDeterministicGenesis(seed int64) *deterministicGenesis
Generates deterministic pseudo-random genesis state
Types ¶
type Account ¶ added in v0.18.0
type Account struct {
BasicAccount
Name string
Permissions permission.AccountPermissions
}
func GenesisAccountFromAccount ¶ added in v0.18.0
type BasicAccount ¶
type BasicAccount struct {
// Address is convenient to have in file for reference, but otherwise ignored since derived from PublicKey
Address crypto.Address
PublicKey crypto.PublicKey
Amount uint64
}
func (*BasicAccount) Clone ¶
func (basicAccount *BasicAccount) Clone() BasicAccount
Clone clones the basic account
type GenesisDoc ¶
type GenesisDoc struct {
GenesisTime time.Time
ChainName string
Params params `json:",omitempty" toml:",omitempty"`
Salt []byte `json:",omitempty" toml:",omitempty"`
GlobalPermissions permission.AccountPermissions
Accounts []Account
Validators []Validator
}
func GenesisDocFromJSON ¶
func GenesisDocFromJSON(jsonBlob []byte) (*GenesisDoc, error)
func MakeGenesisDocFromAccounts ¶
func MakeGenesisDocFromAccounts(chainName string, salt []byte, genesisTime time.Time, accounts map[string]*acm.Account, validators map[string]validator.Validator) *GenesisDoc
MakeGenesisDocFromAccounts takes a chainName and a slice of pointers to Account, and a slice of pointers to Validator to construct a GenesisDoc, or returns an error on failure. In particular MakeGenesisDocFromAccount uses the local time as a timestamp for the GenesisDoc.
func (*GenesisDoc) ChainID ¶
func (genesisDoc *GenesisDoc) ChainID() string
func (*GenesisDoc) Hash ¶ added in v0.18.0
func (genesisDoc *GenesisDoc) Hash() []byte
func (*GenesisDoc) JSONBytes ¶ added in v0.18.0
func (genesisDoc *GenesisDoc) JSONBytes() ([]byte, error)
JSONBytes returns the JSON canonical bytes for a given GenesisDoc or an error.
func (*GenesisDoc) JSONString ¶ added in v0.20.0
func (genesisDoc *GenesisDoc) JSONString() string
func (*GenesisDoc) ShortHash ¶ added in v0.18.0
func (genesisDoc *GenesisDoc) ShortHash() []byte
type Validator ¶ added in v0.18.0
type Validator struct {
BasicAccount
NodeAddress *crypto.Address `json:",omitempty" toml:",omitempty" yaml:",omitempty"`
Name string
UnbondTo []BasicAccount
}
Click to show internal directories.
Click to hide internal directories.