* update
* update
* update
+ cfg "github.com/vapor/config"
"github.com/vapor/errors"
"github.com/vapor/netsync/peers"
"github.com/vapor/p2p"
"github.com/vapor/errors"
"github.com/vapor/netsync/peers"
"github.com/vapor/p2p"
Listening bool `json:"listening"`
Syncing bool `json:"syncing"`
Mining bool `json:"mining"`
Listening bool `json:"listening"`
Syncing bool `json:"syncing"`
Mining bool `json:"mining"`
+ NodeXPub string `json:"node_xpub"`
PeerCount int `json:"peer_count"`
CurrentBlock uint64 `json:"current_block"`
HighestBlock uint64 `json:"highest_block"`
PeerCount int `json:"peer_count"`
CurrentBlock uint64 `json:"current_block"`
HighestBlock uint64 `json:"highest_block"`
// GetNodeInfo return net information
func (a *API) GetNodeInfo() *NetInfo {
// GetNodeInfo return net information
func (a *API) GetNodeInfo() *NetInfo {
+ nodeXPub := cfg.CommonConfig.PrivateKey().XPub()
info := &NetInfo{
Listening: a.sync.IsListening(),
Syncing: !a.sync.IsCaughtUp(),
Mining: a.blockProposer.IsProposing(),
info := &NetInfo{
Listening: a.sync.IsListening(),
Syncing: !a.sync.IsCaughtUp(),
Mining: a.blockProposer.IsProposing(),
+ NodeXPub: nodeXPub.String(),
PeerCount: a.sync.PeerCount(),
CurrentBlock: a.chain.BestBlockHeight(),
NetWorkID: a.sync.GetNetwork(),
PeerCount: a.sync.PeerCount(),
CurrentBlock: a.chain.BestBlockHeight(),
NetWorkID: a.sync.GetNetwork(),