Bitcoin PeerInfo Structure PeerInfo Per-peer information from getpeerinfo. struct PeerInfo Overview Many fields are optional across Bitcoin Core versions. Note Targets Bitcoin Core v31.x. Topics Initializers init(from: any Decoder) throws Instance Properties let addr: StringThe IP address and port of the peer (host:port). let addrProcessed: Int64?The total number of addresses processed, excluding those dropped due to rate limiting. let addrRateLimited: Int64?The total number of addresses dropped due to rate limiting. let addrRelayEnabled: Bool?Whether we participate in address relay with this peer. let addrbind: String?Bind address of the connection to the peer (ip:port). let addrlocal: String?Local address as reported by the peer (ip:port). let bip152HbFrom: Bool?Whether this peer selected us as a BIP 152 compact blocks high-bandwidth peer. let bip152HbTo: Bool?Whether we selected this peer as a BIP 152 compact blocks high-bandwidth peer. let bytesrecv: Int64The total bytes received. let bytesrecvPerMsg: [String : Int64]?The total bytes received aggregated by message type. When a message type is not listed, the bytes received are 0. Unknown message types are listed under "other". let bytessent: Int64The total bytes sent. let bytessentPerMsg: [String : Int64]?The total bytes sent aggregated by message type. When a message type is not listed, the bytes sent are 0. let connectionType: String?Type of connection: outbound-full-relay, block-relay-only, inbound, manual, addr-fetch, or feeler. let conntime: UnixTimestampThe time of the connection. let id: IntPeer index. let inbound: BoolWhether this is an inbound (true) or outbound (false) connection. let inflight: [Int]?The heights of blocks we’re currently asking from this peer. let invToSend: Int?How many transactions we have queued to announce to this peer. let lastBlock: UnixTimestamp?The time of the last block received from this peer. let lastInvSequence: Int?Mempool sequence number of this peer’s last INV. let lastTransaction: UnixTimestamp?The time of the last valid transaction received from this peer. let lastrecv: UnixTimestampThe time of the last receive. let lastsend: UnixTimestampThe time of the last send. let mappedAs: Int?Mapped AS (Autonomous System) number at the end of the BGP route to the peer, used for diversifying peer selection. Only present if the -asmap config option is set. let minfeefilter: Double?The minimum fee rate for transactions this peer accepts. let minping: Double?The minimum observed ping time in seconds, if any. let network: String?Network type (ipv4, ipv6, onion, i2p, cjdns, or not_publicly_routable). let permissions: [String]?Any special permissions that have been granted to this peer. let pingtime: Double?The last ping time in seconds, if any. let pingwait: Double?The duration in seconds of an outstanding ping (if non-zero). let presyncedHeaders: Int?The current height of header pre-synchronization with this peer, or -1 if no low-work sync is in progress. let relaytxes: BoolWhether we relay transactions to this peer. let services: StringThe services offered, as a hexadecimal string. let servicesnames: [String]?The services offered, in human-readable form. let sessionId: String?The session ID for this connection, or empty if there is none (v2 transport only). let startingheight: Int?The starting height (block) of the peer. Deprecated; only returned if -deprecatedrpc=startingheight is passed. let subver: StringThe peer’s user agent string. let syncedBlocks: IntThe last block we have in common with this peer. let syncedHeaders: IntThe last header we have in common with this peer. let timeoffset: IntThe time offset in seconds. let transportProtocolType: String?Type of transport protocol: detecting, v1, or v2. let version: IntThe peer protocol version, such as 70016.