 Documentation
      ¶
      Documentation
      ¶
    
    
  
    
  
    Index ¶
Constants ¶
      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 ptypes.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
	Salt              []byte `json:",omitempty" toml:",omitempty"`
	GlobalPermissions ptypes.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]acm.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 (not-yet) canonical bytes for a given GenesisDoc or an error.
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"`
	Name        string
	UnbondTo    []BasicAccount
}
     Click to show internal directories. 
   Click to hide internal directories.