Documentation ¶
Overview ¶
Package api defines the Oasis genesis block.
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Document ¶
type Document struct { // Height is the block height at which the document was generated. Height int64 `json:"height"` // Time is the time the genesis block was constructed. Time time.Time `json:"genesis_time"` // ChainID is the ID of the chain. ChainID string `json:"chain_id"` // Registry is the registry genesis state. Registry registry.Genesis `json:"registry"` // RootHash is the roothash genesis state. RootHash roothash.Genesis `json:"roothash"` // Staking is the staking genesis state. Staking staking.Genesis `json:"staking"` // KeyManager is the key manager genesis state. KeyManager keymanager.Genesis `json:"keymanager"` // Scheduler is the scheduler genesis state. Scheduler scheduler.Genesis `json:"scheduler"` // Beacon is the beacon genesis state. Beacon beacon.Genesis `json:"beacon"` // Governance is the governance genesis state. Governance governance.Genesis `json:"governance"` // Consensus is the consensus genesis state. Consensus consensus.Genesis `json:"consensus"` // HaltEpoch is the epoch height at which the network will stop processing // any transactions and will halt. HaltEpoch beacon.EpochTime `json:"halt_epoch"` // Extra data is arbitrary extra data that is part of the // genesis block but is otherwise ignored by the protocol. ExtraData map[string][]byte `json:"extra_data"` }
Document is a genesis document.
func (*Document) CanonicalJSON ¶ added in v0.2012.5
CanonicalJSON returns the canonical form of the genesis document serialized into a file.
This is a pretty-printed JSON file with 2-space indents following Go encoding/json package's JSON marshalling rules with a newline at the end.
func (*Document) ChainContext ¶
ChainContext returns a string that can be used as a chain domain separation context. Changing this (or any data it is derived from) invalidates all signatures that use chain domain separation.
Currently this uses the hex-encoded cryptographic hash of the encoded genesis document.
func (*Document) SanityCheck ¶
SanityCheck does basic sanity checking on the contents of the genesis document.
func (*Document) SetChainContext ¶
func (d *Document) SetChainContext()
SetChainContext configures the global chain domain separation context.
This method can only be called once during the application's lifetime and will panic otherwise.
func (*Document) WriteFileJSON ¶
WriteFileJSON writes the canonical form of genesis document into a file.