Documentation ¶
Index ¶
- func AwaitBootstrapped(ctx context.Context, c Client, chainID string, freq time.Duration, ...) (bool, error)
- func NewService(parameters Parameters, log logging.Logger, validators validators.Manager, ...) (http.Handler, error)
- type ACP
- type ACPsReply
- type Client
- type GetBlockchainIDArgs
- type GetBlockchainIDReply
- type GetNetworkIDReply
- type GetNetworkNameReply
- type GetNodeIDReply
- type GetNodeIPReply
- type GetNodeVersionReply
- type GetTxFeeResponse
- type GetVMsReply
- type Info
- func (i *Info) Acps(_ *http.Request, _ *struct{}, reply *ACPsReply) error
- func (i *Info) GetBlockchainID(_ *http.Request, args *GetBlockchainIDArgs, reply *GetBlockchainIDReply) error
- func (i *Info) GetNetworkID(_ *http.Request, _ *struct{}, reply *GetNetworkIDReply) error
- func (i *Info) GetNetworkName(_ *http.Request, _ *struct{}, reply *GetNetworkNameReply) error
- func (i *Info) GetNodeID(_ *http.Request, _ *struct{}, reply *GetNodeIDReply) error
- func (i *Info) GetNodeIP(_ *http.Request, _ *struct{}, reply *GetNodeIPReply) error
- func (i *Info) GetNodeVersion(_ *http.Request, _ *struct{}, reply *GetNodeVersionReply) error
- func (i *Info) GetTxFee(_ *http.Request, _ *struct{}, reply *GetTxFeeResponse) error
- func (i *Info) GetVMs(_ *http.Request, _ *struct{}, reply *GetVMsReply) error
- func (i *Info) IsBootstrapped(_ *http.Request, args *IsBootstrappedArgs, reply *IsBootstrappedResponse) error
- func (i *Info) Peers(_ *http.Request, args *PeersArgs, reply *PeersReply) error
- func (i *Info) Uptime(_ *http.Request, args *UptimeRequest, reply *UptimeResponse) error
- type IsBootstrappedArgs
- type IsBootstrappedResponse
- type Parameters
- type Peer
- type PeersArgs
- type PeersReply
- type UptimeRequest
- type UptimeResponse
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func AwaitBootstrapped ¶
func AwaitBootstrapped(ctx context.Context, c Client, chainID string, freq time.Duration, options ...rpc.Option) (bool, error)
AwaitBootstrapped polls the node every [freq] to check if [chainID] has finished bootstrapping. Returns true once [chainID] reports that it has finished bootstrapping. Only returns an error if [ctx] returns an error.
Types ¶
type Client ¶
type Client interface { GetNodeVersion(context.Context, ...rpc.Option) (*GetNodeVersionReply, error) GetNodeID(context.Context, ...rpc.Option) (ids.NodeID, *signer.ProofOfPossession, error) GetNodeIP(context.Context, ...rpc.Option) (netip.AddrPort, error) GetNetworkID(context.Context, ...rpc.Option) (uint32, error) GetNetworkName(context.Context, ...rpc.Option) (string, error) GetBlockchainID(context.Context, string, ...rpc.Option) (ids.ID, error) Peers(context.Context, ...rpc.Option) ([]Peer, error) IsBootstrapped(context.Context, string, ...rpc.Option) (bool, error) GetTxFee(context.Context, ...rpc.Option) (*GetTxFeeResponse, error) Uptime(context.Context, ids.ID, ...rpc.Option) (*UptimeResponse, error) GetVMs(context.Context, ...rpc.Option) (map[ids.ID][]string, error) }
Client interface for an Info API Client. See also AwaitBootstrapped.
type GetBlockchainIDArgs ¶
type GetBlockchainIDArgs struct {
Alias string `json:"alias"`
}
GetBlockchainIDArgs are the arguments for calling GetBlockchainID
type GetBlockchainIDReply ¶
GetBlockchainIDReply are the results from calling GetBlockchainID
type GetNetworkIDReply ¶
GetNetworkIDReply are the results from calling GetNetworkID
type GetNetworkNameReply ¶
type GetNetworkNameReply struct {
NetworkName string `json:"networkName"`
}
GetNetworkNameReply is the result from calling GetNetworkName
type GetNodeIDReply ¶
type GetNodeIDReply struct { NodeID ids.NodeID `json:"nodeID"` NodePOP *signer.ProofOfPossession `json:"nodePOP"` }
GetNodeIDReply are the results from calling GetNodeID
type GetNodeIPReply ¶
GetNodeIPReply are the results from calling GetNodeIP
type GetNodeVersionReply ¶
type GetNodeVersionReply struct { Version string `json:"version"` DatabaseVersion string `json:"databaseVersion"` RPCProtocolVersion json.Uint32 `json:"rpcProtocolVersion"` GitCommit string `json:"gitCommit"` VMVersions map[string]string `json:"vmVersions"` }
GetNodeVersionReply are the results from calling GetNodeVersion
type GetTxFeeResponse ¶
type GetTxFeeResponse struct { TxFee json.Uint64 `json:"txFee"` CreateAssetTxFee json.Uint64 `json:"createAssetTxFee"` CreateSubnetTxFee json.Uint64 `json:"createSubnetTxFee"` TransformSubnetTxFee json.Uint64 `json:"transformSubnetTxFee"` CreateBlockchainTxFee json.Uint64 `json:"createBlockchainTxFee"` AddPrimaryNetworkValidatorFee json.Uint64 `json:"addPrimaryNetworkValidatorFee"` AddPrimaryNetworkDelegatorFee json.Uint64 `json:"addPrimaryNetworkDelegatorFee"` AddSubnetValidatorFee json.Uint64 `json:"addSubnetValidatorFee"` AddSubnetDelegatorFee json.Uint64 `json:"addSubnetDelegatorFee"` }
type GetVMsReply ¶
GetVMsReply contains the response metadata for GetVMs
type Info ¶
type Info struct { Parameters // contains filtered or unexported fields }
Info is the API service for unprivileged info on a node
func (*Info) GetBlockchainID ¶
func (i *Info) GetBlockchainID(_ *http.Request, args *GetBlockchainIDArgs, reply *GetBlockchainIDReply) error
GetBlockchainID returns the blockchain ID that resolves the alias that was supplied
func (*Info) GetNetworkID ¶
func (i *Info) GetNetworkID(_ *http.Request, _ *struct{}, reply *GetNetworkIDReply) error
GetNetworkID returns the network ID this node is running on
func (*Info) GetNetworkName ¶
func (i *Info) GetNetworkName(_ *http.Request, _ *struct{}, reply *GetNetworkNameReply) error
GetNetworkName returns the network name this node is running on
func (*Info) GetNodeID ¶
func (i *Info) GetNodeID(_ *http.Request, _ *struct{}, reply *GetNodeIDReply) error
GetNodeID returns the node ID of this node
func (*Info) GetNodeIP ¶
func (i *Info) GetNodeIP(_ *http.Request, _ *struct{}, reply *GetNodeIPReply) error
GetNodeIP returns the IP of this node
func (*Info) GetNodeVersion ¶
func (i *Info) GetNodeVersion(_ *http.Request, _ *struct{}, reply *GetNodeVersionReply) error
GetNodeVersion returns the version this node is running
func (*Info) GetTxFee ¶
func (i *Info) GetTxFee(_ *http.Request, _ *struct{}, reply *GetTxFeeResponse) error
GetTxFee returns the transaction fee in nLUX.
func (*Info) GetVMs ¶
func (i *Info) GetVMs(_ *http.Request, _ *struct{}, reply *GetVMsReply) error
GetVMs lists the virtual machines installed on the node
func (*Info) IsBootstrapped ¶
func (i *Info) IsBootstrapped(_ *http.Request, args *IsBootstrappedArgs, reply *IsBootstrappedResponse) error
IsBootstrapped returns nil and sets [reply.IsBootstrapped] == true iff [args.Chain] exists and is done bootstrapping Returns an error if the chain doesn't exist
func (*Info) Uptime ¶
func (i *Info) Uptime(_ *http.Request, args *UptimeRequest, reply *UptimeResponse) error
type IsBootstrappedArgs ¶
type IsBootstrappedArgs struct { // Alias of the chain // Can also be the string representation of the chain's ID Chain string `json:"chain"` }
IsBootstrappedArgs are the arguments for calling IsBootstrapped
type IsBootstrappedResponse ¶
type IsBootstrappedResponse struct { // True iff the chain exists and is done bootstrapping IsBootstrapped bool `json:"isBootstrapped"` }
IsBootstrappedResponse are the results from calling IsBootstrapped
type Parameters ¶
type Parameters struct { Version *version.Application NodeID ids.NodeID NodePOP *signer.ProofOfPossession NetworkID uint32 TxFee uint64 CreateAssetTxFee uint64 CreateSubnetTxFee uint64 TransformSubnetTxFee uint64 CreateBlockchainTxFee uint64 AddPrimaryNetworkValidatorFee uint64 AddPrimaryNetworkDelegatorFee uint64 AddSubnetValidatorFee uint64 AddSubnetDelegatorFee uint64 VMManager vms.Manager }
type PeersReply ¶
type PeersReply struct { // Number of elements in [Peers] NumPeers json.Uint64 `json:"numPeers"` // Each element is a peer Peers []Peer `json:"peers"` }
PeersReply are the results from calling Peers
type UptimeRequest ¶
type UptimeResponse ¶
type UptimeResponse struct { // RewardingStakePercentage shows what percent of network stake thinks we're // above the uptime requirement. RewardingStakePercentage json.Float64 `json:"rewardingStakePercentage"` // WeightedAveragePercentage is the average perceived uptime of this node, // weighted by stake. // Note that this is different from RewardingStakePercentage, which shows // the percent of the network stake that thinks this node is above the // uptime requirement. WeightedAveragePercentage is weighted by uptime. // i.e If uptime requirement is 85 and a peer reports 40 percent it will be // counted (40*weight) in WeightedAveragePercentage but not in // RewardingStakePercentage since 40 < 85 WeightedAveragePercentage json.Float64 `json:"weightedAveragePercentage"` }
UptimeResponse are the results from calling Uptime