Documentation ¶
Index ¶
- Variables
- func LoadLocalGenesis() (map[string]interface{}, error)
- func NewMetalGoGenesis(networkID uint32, xChainBalances []AddrAndBalance, ...) ([]byte, error)
- type AddrAndBalance
- type BlockchainSpec
- type Config
- type ElasticSubnetSpec
- type Network
- type PermissionlessValidatorSpec
- type RemoveSubnetValidatorSpec
- type SubnetSpec
Constants ¶
This section is empty.
Variables ¶
Functions ¶
func LoadLocalGenesis ¶
LoadLocalGenesis loads the local network genesis from disk and returns it as a map[string]interface{}
func NewMetalGoGenesis ¶
func NewMetalGoGenesis( networkID uint32, xChainBalances []AddrAndBalance, cChainBalances []AddrAndBalance, genesisVdrs []ids.NodeID, ) ([]byte, error)
Return a genesis JSON where: The nodes in [genesisVdrs] are validators. The C-Chain and X-Chain balances are given by [cChainBalances] and [xChainBalances]. Note that many of the genesis fields (i.e. reward addresses) are randomly generated or hard-coded.
Types ¶
type AddrAndBalance ¶
AddrAndBalance holds both an address and its balance
type BlockchainSpec ¶
type Config ¶
type Config struct { // Must not be empty Genesis string `json:"genesis"` // May have length 0 // (i.e. network may have no nodes on creation.) NodeConfigs []node.Config `json:"nodeConfigs"` // Flags that will be passed to each node in this network. // It can be empty. // Config flags may also be passed in a node's config struct // or config file. // The precedence of flags handling is, from highest to lowest: // 1. Flags defined in a node's node.Config // 2. Flags defined in a network's network.Config // 3. Flags defined in a node's config file // For example, if a network.Config has flag W set to X, // and a node within that network has flag W set to Y, // and the node's config file has flag W set to Z, // then the node will be started with flag W set to Y. Flags map[string]interface{} `json:"flags"` // Binary path to use per default, if not specified in node config BinaryPath string `json:"binaryPath"` // Chain config files to use per default, if not specified in node config ChainConfigFiles map[string]string `json:"chainConfigFiles"` // Upgrade config files to use per default, if not specified in node config UpgradeConfigFiles map[string]string `json:"upgradeConfigFiles"` // Subnet config files to use per default, if not specified in node config SubnetConfigFiles map[string]string `json:"subnetConfigFiles"` }
Config that defines a network when it is created.
type ElasticSubnetSpec ¶ added in v1.5.0
type ElasticSubnetSpec struct { SubnetID *string AssetName string AssetSymbol string InitialSupply uint64 MaxSupply uint64 MinConsumptionRate uint64 MaxConsumptionRate uint64 MinValidatorStake uint64 MaxValidatorStake uint64 MinStakeDuration time.Duration MaxStakeDuration time.Duration MinDelegationFee uint32 MinDelegatorStake uint64 MaxValidatorWeightFactor byte UptimeRequirement uint32 }
type Network ¶
type Network interface { // Returns nil if all the nodes in the network are healthy. // A stopped network is considered unhealthy. // Timeout is given by the context parameter. Healthy(context.Context) error // Stop all the nodes. // Returns ErrStopped if Stop() was previously called. Stop(context.Context) error // Start a new node with the given config. // Returns ErrStopped if Stop() was previously called. AddNode(node.Config) (node.Node, error) // Stop the node with this name. // Returns ErrStopped if Stop() was previously called. RemoveNode(ctx context.Context, name string) error // Pause the node with this name. // Returns ErrStopped if Stop() was previously called. PauseNode(ctx context.Context, name string) error // Resume the node with this name. // Returns ErrStopped if Stop() was previously called. ResumeNode(ctx context.Context, name string) error // Return the node with this name. // Returns ErrStopped if Stop() was previously called. GetNode(name string) (node.Node, error) // Return all the nodes in this network. // Node name --> Node. // Returns ErrStopped if Stop() was previously called. GetAllNodes() (map[string]node.Node, error) // Returns the names of all nodes in this network. // Returns ErrStopped if Stop() was previously called. GetNodeNames() ([]string, error) // Save network snapshot // Network is stopped in order to do a safe preservation // Returns the full local path to the snapshot dir SaveSnapshot(context.Context, string) (string, error) // Remove network snapshot RemoveSnapshot(string) error // Get name of available snapshots GetSnapshotNames() ([]string, error) // Restart a given node using the same config, optionally changing binary path, plugin dir, // track subnets, a map of chain configs, a map of upgrade configs, and // a map of subnet configs RestartNode(context.Context, string, string, string, string, map[string]string, map[string]string, map[string]string) error // Create the specified blockchains CreateBlockchains(context.Context, []BlockchainSpec) ([]ids.ID, error) // Create the given numbers of subnets CreateSubnets(context.Context, []SubnetSpec) ([]ids.ID, error) // Transform subnet into elastic subnet TransformSubnet(context.Context, []ElasticSubnetSpec) ([]ids.ID, []ids.ID, error) // Add a validator into an elastic subnet AddPermissionlessValidators(context.Context, []PermissionlessValidatorSpec) error // Remove a validator from a subnet RemoveSubnetValidators(context.Context, []RemoveSubnetValidatorSpec) error // Get the elastic subnet tx id for the given subnet id GetElasticSubnetID(context.Context, ids.ID) (ids.ID, error) }
Network is an abstraction of an Metal network
type PermissionlessValidatorSpec ¶ added in v1.6.0
type RemoveSubnetValidatorSpec ¶ added in v1.6.0
type SubnetSpec ¶ added in v1.4.1
Click to show internal directories.
Click to hide internal directories.