info

package
v1.2.4 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jul 4, 2022 License: BSD-3-Clause Imports: 19 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func NewService

func NewService(
	parameters Parameters,
	log logging.Logger,
	chainManager chains.Manager,
	vmManager vms.Manager,
	myIP *utils.DynamicIPDesc,
	network network.Network,
	versionParser version.ApplicationParser,
	validators validators.Set,
	benchlist benchlist.Manager,
) (*common.HTTPHandler, error)

NewService returns a new admin API service

Types

type Client

type Client interface {
	GetNodeVersion(context.Context) (*GetNodeVersionReply, error)
	GetNodeID(context.Context) (string, error)
	GetNodeIP(context.Context) (string, error)
	GetNetworkID(context.Context) (uint32, error)
	GetNetworkName(context.Context) (string, error)
	GetBlockchainID(context.Context, string) (ids.ID, error)
	Peers(context.Context) ([]Peer, error)
	IsBootstrapped(context.Context, string) (bool, error)
	GetTxFee(context.Context) (*GetTxFeeResponse, error)
	Uptime(context.Context) (*UptimeResponse, error)
	GetVMs(context.Context) (map[ids.ID][]string, error)
}

Client interface for an Info API Client

func NewClient

func NewClient(uri string) Client

NewClient returns a new Info API Client

type GetBlockchainIDArgs

type GetBlockchainIDArgs struct {
	Alias string `json:"alias"`
}

GetBlockchainIDArgs are the arguments for calling GetBlockchainID

type GetBlockchainIDReply

type GetBlockchainIDReply struct {
	BlockchainID ids.ID `json:"blockchainID"`
}

GetBlockchainIDReply are the results from calling GetBlockchainID

type GetNetworkIDReply

type GetNetworkIDReply struct {
	NetworkID json.Uint32 `json:"networkID"`
}

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 string `json:"nodeID"`
}

GetNodeIDReply are the results from calling GetNodeID

type GetNodeIPReply

type GetNodeIPReply struct {
	IP string `json:"ip"`
}

GetNodeIPReply are the results from calling GetNodeIP

type GetNodeVersionReply

type GetNodeVersionReply struct {
	Version         string            `json:"version"`
	DatabaseVersion string            `json:"databaseVersion"`
	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"`
	// TODO: remove [CreationTxFee] after enough time for dependencies to update
	CreationTxFee         json.Uint64 `json:"creationTxFee"`
	CreateAssetTxFee      json.Uint64 `json:"createAssetTxFee"`
	CreateSubnetTxFee     json.Uint64 `json:"createSubnetTxFee"`
	CreateBlockchainTxFee json.Uint64 `json:"createBlockchainTxFee"`
}

type GetVMsReply

type GetVMsReply struct {
	VMs map[ids.ID][]string `json:"vms"`
}

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 (service *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 (service *Info) GetNetworkID(_ *http.Request, _ *struct{}, reply *GetNetworkIDReply) error

GetNetworkID returns the network ID this node is running on

func (*Info) GetNetworkName

func (service *Info) GetNetworkName(_ *http.Request, _ *struct{}, reply *GetNetworkNameReply) error

GetNetworkName returns the network name this node is running on

func (*Info) GetNodeID

func (service *Info) GetNodeID(_ *http.Request, _ *struct{}, reply *GetNodeIDReply) error

GetNodeID returns the node ID of this node

func (*Info) GetNodeIP

func (service *Info) GetNodeIP(_ *http.Request, _ *struct{}, reply *GetNodeIPReply) error

GetNodeIP returns the IP of this node

func (*Info) GetNodeVersion

func (service *Info) GetNodeVersion(_ *http.Request, _ *struct{}, reply *GetNodeVersionReply) error

GetNodeVersion returns the version this node is running

func (*Info) GetTxFee

func (service *Info) GetTxFee(_ *http.Request, args *struct{}, reply *GetTxFeeResponse) error

GetTxFee returns the transaction fee in nDJTX.

func (*Info) GetVMs

func (service *Info) GetVMs(_ *http.Request, _ *struct{}, reply *GetVMsReply) error

GetVMs lists the virtual machines installed on the node

func (*Info) IsBootstrapped

func (service *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) Peers

func (service *Info) Peers(_ *http.Request, args *PeersArgs, reply *PeersReply) error

Peers returns the list of current validators

func (*Info) Uptime

func (service *Info) Uptime(_ *http.Request, _ *struct{}, 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.ShortID
	NetworkID             uint32
	TxFee                 uint64
	CreateAssetTxFee      uint64
	CreateSubnetTxFee     uint64
	CreateBlockchainTxFee uint64
	VMManager             vms.Manager
}

type Peer

type Peer struct {
	peer.Info

	Benched []ids.ID `json:"benched"`
}

type PeersArgs

type PeersArgs struct {
	NodeIDs []string `json:"nodeIDs"`
}

PeersArgs are the arguments for calling Peers

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 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

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL