pub struct RemoteNode {
pub version: String,
pub node_id: String,
pub addresses: Vec<NodeAddress>,
pub is_outbound: bool,
pub connected_duration: Uint64,
pub last_ping_duration: Option<Uint64>,
pub sync_state: Option<PeerSyncState>,
pub protocols: Vec<RemoteNodeProtocol>,
}
Expand description
Information of a remote node.
A remote node connects to the local node via the P2P network. It is often called a peer.
§Examples
{
"addresses": [
{
"address": "/ip6/::ffff:18.185.102.19/tcp/8115/p2p/QmXwUgF48ULy6hkgfqrEwEfuHW7WyWyWauueRDAYQHNDfN",
"score": "0x64"
},
{
"address": "/ip4/18.185.102.19/tcp/8115/p2p/QmXwUgF48ULy6hkgfqrEwEfuHW7WyWyWauueRDAYQHNDfN",
"score": "0x64"
}
],
"connected_duration": "0x2f",
"is_outbound": true,
"last_ping_duration": "0x1a",
"node_id": "QmXwUgF48ULy6hkgfqrEwEfuHW7WyWyWauueRDAYQHNDfN",
"protocols": [
{
"id": "0x4",
"version": "0.0.1"
},
{
"id": "0x2",
"version": "0.0.1"
},
{
"id": "0x1",
"version": "0.0.1"
},
{
"id": "0x64",
"version": "1"
},
{
"id": "0x6e",
"version": "1"
},
{
"id": "0x66",
"version": "1"
},
{
"id": "0x65",
"version": "1"
},
{
"id": "0x0",
"version": "0.0.1"
}
],
"sync_state": {
"best_known_header_hash": null,
"best_known_header_number": null,
"can_fetch_count": "0x80",
"inflight_count": "0xa",
"last_common_header_hash": null,
"last_common_header_number": null,
"unknown_header_list_size": "0x20"
},
"version": "0.34.0 (f37f598 2020-07-17)"
}
Fields§
§version: String
The remote node version.
node_id: String
The remote node ID which is derived from its P2P private key.
addresses: Vec<NodeAddress>
The remote node addresses.
is_outbound: bool
Whether this is an outbound remote node.
If the connection is established by the local node, is_outbound
is true.
connected_duration: Uint64
Elapsed time in milliseconds since the remote node is connected.
last_ping_duration: Option<Uint64>
Elapsed time in milliseconds since receiving the ping response from this remote node.
Null means no ping responses have been received yet.
sync_state: Option<PeerSyncState>
Chain synchronization state.
Null means chain sync has not started with this remote node yet.
protocols: Vec<RemoteNodeProtocol>
Active protocols.
CKB uses Tentacle multiplexed network framework. Multiple protocols are running simultaneously in the connection.
Trait Implementations§
Source§impl Clone for RemoteNode
impl Clone for RemoteNode
Source§fn clone(&self) -> RemoteNode
fn clone(&self) -> RemoteNode
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moreSource§impl Debug for RemoteNode
impl Debug for RemoteNode
Source§impl Default for RemoteNode
impl Default for RemoteNode
Source§fn default() -> RemoteNode
fn default() -> RemoteNode
Source§impl<'de> Deserialize<'de> for RemoteNode
impl<'de> Deserialize<'de> for RemoteNode
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Source§impl Hash for RemoteNode
impl Hash for RemoteNode
Source§impl JsonSchema for RemoteNode
impl JsonSchema for RemoteNode
Source§fn schema_name() -> String
fn schema_name() -> String
Source§fn schema_id() -> Cow<'static, str>
fn schema_id() -> Cow<'static, str>
Source§fn json_schema(gen: &mut SchemaGenerator) -> Schema
fn json_schema(gen: &mut SchemaGenerator) -> Schema
Source§fn is_referenceable() -> bool
fn is_referenceable() -> bool
$ref
keyword. Read more