Documentation
¶
Index ¶
Constants ¶
const ( // BABEAuthoritiesKeyHex is the hex encoding of: // Twox128Hash("Babe") + Twox128Hash("Authorities") BABEAuthoritiesKeyHex = babePrefixHex + "5e0621c4869aa60c02be9adcc98a0d1d" // BABERandomnessKeyHex is the hex encoding of: // Twox128Hash("Babe") + Twox128Hash("Randomness") BABERandomnessKeyHex = babePrefixHex + "7a414cb008e0e61e46722aa60abdd672" // GrandpaAuthoritiesKeyHex is the hex encoding of the key to the GRANDPA // authority data in the storage trie. GrandpaAuthoritiesKeyHex = "0x3a6772616e6470615f617574686f726974696573" )
Variables ¶
This section is empty.
Functions ¶
Types ¶
type Data ¶
type Data struct {
Name string
ID string
ChainType string
Bootnodes [][]byte
TelemetryEndpoints []*TelemetryEndpoint
ProtocolID string
Properties map[string]interface{}
ForkBlocks []string
BadBlocks []string
ConsensusEngine string
CodeSubstitutes map[string]string
}
Data defines the genesis file data formatted for trie storage
type Fields ¶
type Fields struct {
Raw map[string]map[string]string `json:"raw,omitempty"`
Runtime *Runtime `json:"runtime,omitempty"`
}
Fields stores genesis raw data, and human readable runtime data
type Genesis ¶
type Genesis struct {
Name string `json:"name"`
ID string `json:"id"`
ChainType string `json:"chainType"`
Bootnodes []string `json:"bootNodes"`
TelemetryEndpoints []interface{} `json:"telemetryEndpoints"`
ProtocolID string `json:"protocolId"`
Genesis Fields `json:"genesis"`
Properties map[string]interface{} `json:"properties"`
ForkBlocks []string `json:"forkBlocks"`
BadBlocks []string `json:"badBlocks"`
ConsensusEngine string `json:"consensusEngine"`
CodeSubstitutes map[string]string `json:"codeSubstitutes"`
}
Genesis stores the data parsed from the genesis configuration file
func NewGenesisFromJSON ¶
NewGenesisFromJSON parses Human Readable JSON formatted genesis file.Name. If authCount > 0, then it keeps only `authCount` number of authorities for babe and grandpa.
func NewGenesisFromJSONRaw ¶ added in v0.2.0
NewGenesisFromJSONRaw parses a JSON formatted genesis file
func NewGenesisSpecFromJSON ¶ added in v0.4.0
NewGenesisSpecFromJSON returns a new Genesis (without raw fields) from a human-readable genesis file
func (*Genesis) GenesisData ¶
GenesisData formats genesis for trie storage
func (*Genesis) GenesisFields ¶
GenesisFields returns the genesis fields including genesis raw data
type Runtime ¶ added in v0.8.0
type Runtime struct {
System *System `json:"system,omitempty"`
Babe *babe `json:"babe,omitempty"`
Grandpa *grandpa `json:"grandpa,omitempty"`
Balances *balances `json:"balances,omitempty"`
Sudo *sudo `json:"sudo,omitempty"`
Session *session `json:"session,omitempty"`
Staking *staking `json:"staking,omitempty"`
Indices *indices `json:"indices,omitempty"`
ImOnline *imOnline `json:"imOnline,omitempty"`
AuthorityDiscovery *authorityDiscovery `json:"authorityDiscovery,omitempty"`
Vesting *vesting `json:"vesting"`
NominationPools *nominationPools `json:"nominationPools,omitempty"`
Configuration *configuration `json:"configuration,omitempty"`
Paras *paras `json:"paras"`
Hrmp *hrmp `json:"hrmp"`
Registrar *registrar `json:"registrar,omitempty"`
XcmPallet *xcmPallet `json:"xcmPallet,omitempty"`
}
Runtime is the structure of the genesis runtime field.
type System ¶ added in v0.8.0
type System struct {
Code string `json:"code,omitempty"`
}
System is the system structure inside the runtime field for the genesis.
type TelemetryEndpoint ¶ added in v0.4.1
type TelemetryEndpoint struct {
Endpoint string `mapstructure:",squash"`
Verbosity int `mapstructure:",squash"`
}
TelemetryEndpoint struct to hold telemetry endpoint information