mirror of
https://github.com/luxfi/node.git
synced 2026-10-30 15:24:05 +00:00
Two packages were named for the same word and meant different things. network/ dialed peers, exchanged keys, throttled and tracked them; nets/ tracked which chains share a validator set and when they have all bootstrapped. One letter apart, and neither name said which was which. The peer layer is mesh — the word this estate already uses for it, in lux-rs/node's own mesh.rs. That frees network for the thing that is actually a network: a set of chains sharing a validator set. A network holds chains; a chain belongs to one network. github.com/luxfi/p2p stays what it is, the gossip library the VMs use. Three concerns, three names, none of them borrowed from another. Co-authored-by: Hanzo Dev <[email protected]>
27 lines
796 B
Go
27 lines
796 B
Go
// Copyright (C) 2019-2025, Lux Industries Inc. All rights reserved.
|
|
// See the file LICENSE for licensing terms.
|
|
|
|
package peer
|
|
|
|
import (
|
|
"net/netip"
|
|
"time"
|
|
|
|
"github.com/luxfi/ids"
|
|
"github.com/luxfi/math/set"
|
|
"github.com/luxfi/node/utils/json"
|
|
)
|
|
|
|
type Info struct {
|
|
IP netip.AddrPort `json:"ip"`
|
|
PublicIP netip.AddrPort `json:"publicIP,omitempty"`
|
|
ID ids.NodeID `json:"nodeID"`
|
|
Version string `json:"version"`
|
|
LastSent time.Time `json:"lastSent"`
|
|
LastReceived time.Time `json:"lastReceived"`
|
|
ObservedUptime json.Uint32 `json:"observedUptime"`
|
|
TrackedChains set.Set[ids.ID] `json:"trackedChains"`
|
|
SupportedLPs set.Set[uint32] `json:"supportedLPs"`
|
|
ObjectedLPs set.Set[uint32] `json:"objectedLPs"`
|
|
}
|