8 "github.com/vapor/toolbar/precog/common"
17 LantencyMS sql.NullInt64
18 ActiveBeginTime time.Time
24 func (n *Node) MarshalJSON() ([]byte, error) {
25 status := common.StatusMap[n.Status]
27 var activeTime time.Duration
28 if n.Status != common.NodeOfflineStatus {
29 lantency = n.LantencyMS
30 activeTime = time.Since(n.ActiveBeginTime)
33 return json.Marshal(&struct {
34 Alias string `json:"alias"`
35 PubKey chainkd.XPub `json:"pubkey"`
36 Host string `json:"host"`
37 Port uint16 `json:"port"`
38 BestHeight uint64 `json:"best_height"`
39 LantencyMS uint64 `json:"lantency_ms,omitempty"`
40 ActiveTime time.Duration `json:"active_time,omitempty"`
41 Status string `json:"status"`
47 BestHeight: n.BestHeight,
49 activeTime: activeTime,