libp2p.peer package¶
Submodules¶
libp2p.peer.addrbook_interface module¶
-
class
libp2p.peer.addrbook_interface.
IAddrBook
¶ Bases:
abc.ABC
-
abstract
add_addr
(peer_id: libp2p.peer.id.ID, addr: multiaddr.multiaddr.Multiaddr, ttl: int) → None¶ Calls add_addrs(peer_id, [addr], ttl)
- Parameters
peer_id – the peer to add address for
addr – multiaddress of the peer
ttl – time-to-live for the address (after this time, address is no longer valid)
-
abstract
add_addrs
(peer_id: libp2p.peer.id.ID, addrs: Sequence[multiaddr.multiaddr.Multiaddr], ttl: int) → None¶ Adds addresses for a given peer all with the same time-to-live. If one of the addresses already exists for the peer and has a longer TTL, no operation should take place. If one of the addresses exists with a shorter TTL, extend the TTL to equal param ttl.
- Parameters
peer_id – the peer to add address for
addr – multiaddresses of the peer
ttl – time-to-live for the address (after this time, address is no longer valid
-
abstract
addrs
(peer_id: libp2p.peer.id.ID) → List[multiaddr.multiaddr.Multiaddr]¶ - Parameters
peer_id – peer to get addresses of
- Returns
all known (and valid) addresses for the given peer
-
abstract
clear_addrs
(peer_id: libp2p.peer.id.ID) → None¶ Removes all previously stored addresses.
- Parameters
peer_id – peer to remove addresses of
-
abstract
peers_with_addrs
() → List[libp2p.peer.id.ID]¶ - Returns
all of the peer IDs stored with addresses
-
abstract
libp2p.peer.id module¶
-
class
libp2p.peer.id.
ID
(peer_id_bytes: bytes)¶ Bases:
object
-
classmethod
from_base58
(b58_encoded_peer_id_str: str) → libp2p.peer.id.ID¶
-
classmethod
from_pubkey
(key: libp2p.crypto.keys.PublicKey) → libp2p.peer.id.ID¶
-
pretty
() → str¶
-
to_base58
() → str¶
-
to_bytes
() → bytes¶
-
to_string
() → str¶
-
property
xor_id
¶
-
classmethod
-
libp2p.peer.id.
sha256_digest
(data: Union[str, bytes]) → bytes¶
libp2p.peer.peerdata module¶
-
class
libp2p.peer.peerdata.
PeerData
¶ Bases:
libp2p.peer.peerdata_interface.IPeerData
-
add_addrs
(addrs: Sequence[multiaddr.multiaddr.Multiaddr]) → None¶ - Parameters
addrs – multiaddresses to add
-
add_privkey
(privkey: libp2p.crypto.keys.PrivateKey) → None¶ - Parameters
privkey –
-
add_protocols
(protocols: Sequence[str]) → None¶ - Parameters
protocols – protocols to add
-
add_pubkey
(pubkey: libp2p.crypto.keys.PublicKey) → None¶ - Parameters
pubkey –
-
addrs
: List[Multiaddr] = None¶
-
clear_addrs
() → None¶ Clear all addresses.
-
get_addrs
() → List[multiaddr.multiaddr.Multiaddr]¶ - Returns
all multiaddresses
-
get_metadata
(key: str) → Any¶ - Parameters
key – key in KV pair
- Returns
val for key
- Raises
PeerDataError – key not found
-
get_privkey
() → libp2p.crypto.keys.PrivateKey¶ - Returns
private key of the peer
- Raises
PeerDataError – if private key not found
-
get_protocols
() → List[str]¶ - Returns
all protocols associated with given peer
-
get_pubkey
() → libp2p.crypto.keys.PublicKey¶ - Returns
public key of the peer
- Raises
PeerDataError – if public key not found
-
metadata
: Dict[Any, Any] = None¶
-
privkey
: PrivateKey = None¶
-
protocols
: List[str] = None¶
-
pubkey
: PublicKey = None¶
-
put_metadata
(key: str, val: Any) → None¶ - Parameters
key – key in KV pair
val – val to associate with key
-
set_protocols
(protocols: Sequence[str]) → None¶ - Parameters
protocols – protocols to set
-
libp2p.peer.peerdata_interface module¶
-
class
libp2p.peer.peerdata_interface.
IPeerData
¶ Bases:
abc.ABC
-
abstract
add_addrs
(addrs: Sequence[multiaddr.multiaddr.Multiaddr]) → None¶ - Parameters
addrs – multiaddresses to add
-
abstract
add_privkey
(privkey: libp2p.crypto.keys.PrivateKey) → None¶ - Parameters
privkey –
-
abstract
add_protocols
(protocols: Sequence[str]) → None¶ - Parameters
protocols – protocols to add
-
abstract
add_pubkey
(pubkey: libp2p.crypto.keys.PublicKey) → None¶ - Parameters
pubkey –
-
abstract
clear_addrs
() → None¶ Clear all addresses.
-
abstract
get_addrs
() → List[multiaddr.multiaddr.Multiaddr]¶ - Returns
all multiaddresses
-
abstract
get_metadata
(key: str) → libp2p.peer.peermetadata_interface.IPeerMetadata¶ - Parameters
key – key in KV pair
- Returns
val for key
- Raises
PeerDataError – key not found
-
abstract
get_privkey
() → libp2p.crypto.keys.PrivateKey¶ - Returns
private key of the peer
- Raises
PeerDataError – if private key not found
-
abstract
get_protocols
() → List[str]¶ - Returns
all protocols associated with given peer
-
abstract
get_pubkey
() → libp2p.crypto.keys.PublicKey¶ - Returns
public key of the peer
- Raises
PeerDataError – if public key not found
-
abstract
put_metadata
(key: str, val: Any) → None¶ - Parameters
key – key in KV pair
val – val to associate with key
-
abstract
set_protocols
(protocols: Sequence[str]) → None¶ - Parameters
protocols – protocols to set
-
abstract
libp2p.peer.peerinfo module¶
-
exception
libp2p.peer.peerinfo.
InvalidAddrError
¶ Bases:
ValueError
-
class
libp2p.peer.peerinfo.
PeerInfo
(peer_id: libp2p.peer.id.ID, addrs: Sequence[multiaddr.multiaddr.Multiaddr])¶ Bases:
object
-
addrs
: List[multiaddr.Multiaddr] = None¶
-
peer_id
: ID = None¶
-
-
libp2p.peer.peerinfo.
info_from_p2p_addr
(addr: multiaddr.multiaddr.Multiaddr) → libp2p.peer.peerinfo.PeerInfo¶
libp2p.peer.peermetadata_interface module¶
libp2p.peer.peerstore module¶
-
class
libp2p.peer.peerstore.
PeerStore
¶ Bases:
libp2p.peer.peerstore_interface.IPeerStore
-
add_addr
(peer_id: libp2p.peer.id.ID, addr: multiaddr.multiaddr.Multiaddr, ttl: int) → None¶ - Parameters
peer_id – peer ID to add address for
addr –
ttl – time-to-live for the this record
-
add_addrs
(peer_id: libp2p.peer.id.ID, addrs: Sequence[multiaddr.multiaddr.Multiaddr], ttl: int) → None¶ - Parameters
peer_id – peer ID to add address for
addrs –
ttl – time-to-live for the this record
-
add_key_pair
(peer_id: libp2p.peer.id.ID, key_pair: libp2p.crypto.keys.KeyPair) → None¶ - Parameters
peer_id – peer ID to add private key for
key_pair –
-
add_privkey
(peer_id: libp2p.peer.id.ID, privkey: libp2p.crypto.keys.PrivateKey) → None¶ - Parameters
peer_id – peer ID to add private key for
privkey –
- Raises
PeerStoreError – if peer ID or peer privkey not found
-
add_protocols
(peer_id: libp2p.peer.id.ID, protocols: Sequence[str]) → None¶ - Parameters
peer_id – peer ID to add protocols for
protocols – protocols to add
-
add_pubkey
(peer_id: libp2p.peer.id.ID, pubkey: libp2p.crypto.keys.PublicKey) → None¶ - Parameters
peer_id – peer ID to add public key for
pubkey –
- Raises
PeerStoreError – if peer ID and pubkey does not match
-
addrs
(peer_id: libp2p.peer.id.ID) → List[multiaddr.multiaddr.Multiaddr]¶ - Parameters
peer_id – peer ID to get addrs for
- Returns
list of addrs
- Raises
PeerStoreError – if peer ID not found
-
clear_addrs
(peer_id: libp2p.peer.id.ID) → None¶ - Parameters
peer_id – peer ID to clear addrs for
-
get
(peer_id: libp2p.peer.id.ID, key: str) → Any¶ - Parameters
peer_id – peer ID to get peer data for
key – the key to search value for
- Returns
value corresponding to the key
- Raises
PeerStoreError – if peer ID or value not found
-
get_protocols
(peer_id: libp2p.peer.id.ID) → List[str]¶ - Parameters
peer_id – peer ID to get protocols for
- Returns
protocols (as list of strings)
- Raises
PeerStoreError – if peer ID not found
-
peer_data_map
: Dict[ID, PeerData] = None¶
-
peer_ids
() → List[libp2p.peer.id.ID]¶ - Returns
all of the peer IDs stored in peer store
-
peer_info
(peer_id: libp2p.peer.id.ID) → libp2p.peer.peerinfo.PeerInfo¶ - Parameters
peer_id – peer ID to get info for
- Returns
peer info object
-
peers_with_addrs
() → List[libp2p.peer.id.ID]¶ - Returns
all of the peer IDs which has addrs stored in peer store
-
privkey
(peer_id: libp2p.peer.id.ID) → libp2p.crypto.keys.PrivateKey¶ - Parameters
peer_id – peer ID to get private key for
- Returns
private key of the peer
- Raises
PeerStoreError – if peer ID or peer privkey not found
-
pubkey
(peer_id: libp2p.peer.id.ID) → libp2p.crypto.keys.PublicKey¶ - Parameters
peer_id – peer ID to get public key for
- Returns
public key of the peer
- Raises
PeerStoreError – if peer ID or peer pubkey not found
-
put
(peer_id: libp2p.peer.id.ID, key: str, val: Any) → None¶ - Parameters
peer_id – peer ID to put peer data for
key –
value –
-
set_protocols
(peer_id: libp2p.peer.id.ID, protocols: Sequence[str]) → None¶ - Parameters
peer_id – peer ID to set protocols for
protocols – protocols to set
-
libp2p.peer.peerstore_interface module¶
-
class
libp2p.peer.peerstore_interface.
IPeerStore
¶ Bases:
libp2p.peer.addrbook_interface.IAddrBook
,libp2p.peer.peermetadata_interface.IPeerMetadata
-
abstract
add_addr
(peer_id: libp2p.peer.id.ID, addr: multiaddr.multiaddr.Multiaddr, ttl: int) → None¶ - Parameters
peer_id – peer ID to add address for
addr –
ttl – time-to-live for the this record
-
abstract
add_addrs
(peer_id: libp2p.peer.id.ID, addrs: Sequence[multiaddr.multiaddr.Multiaddr], ttl: int) → None¶ - Parameters
peer_id – peer ID to add address for
addrs –
ttl – time-to-live for the this record
-
abstract
add_key_pair
(peer_id: libp2p.peer.id.ID, key_pair: libp2p.crypto.keys.KeyPair) → None¶ - Parameters
peer_id – peer ID to add private key for
key_pair –
- Raises
PeerStoreError – if peer ID already has pubkey or privkey set
-
abstract
add_privkey
(peer_id: libp2p.peer.id.ID, privkey: libp2p.crypto.keys.PrivateKey) → None¶ - Parameters
peer_id – peer ID to add private key for
privkey –
- Raises
PeerStoreError – if peer ID already has privkey set
-
abstract
add_protocols
(peer_id: libp2p.peer.id.ID, protocols: Sequence[str]) → None¶ - Parameters
peer_id – peer ID to add protocols for
protocols – protocols to add
-
abstract
add_pubkey
(peer_id: libp2p.peer.id.ID, pubkey: libp2p.crypto.keys.PublicKey) → None¶ - Parameters
peer_id – peer ID to add public key for
pubkey –
- Raises
PeerStoreError – if peer ID already has pubkey set
-
abstract
addrs
(peer_id: libp2p.peer.id.ID) → List[multiaddr.multiaddr.Multiaddr]¶ - Parameters
peer_id – peer ID to get addrs for
- Returns
list of addrs
-
abstract
clear_addrs
(peer_id: libp2p.peer.id.ID) → None¶ - Parameters
peer_id – peer ID to clear addrs for
-
abstract
get
(peer_id: libp2p.peer.id.ID, key: str) → Any¶ - Parameters
peer_id – peer ID to get peer data for
key – the key to search value for
- Returns
value corresponding to the key
- Raises
PeerStoreError – if peer ID or value not found
-
abstract
get_protocols
(peer_id: libp2p.peer.id.ID) → List[str]¶ - Parameters
peer_id – peer ID to get protocols for
- Returns
protocols (as list of strings)
- Raises
PeerStoreError – if peer ID not found
-
abstract
peer_ids
() → List[libp2p.peer.id.ID]¶ - Returns
all of the peer IDs stored in peer store
-
abstract
peer_info
(peer_id: libp2p.peer.id.ID) → libp2p.peer.peerinfo.PeerInfo¶ - Parameters
peer_id – peer ID to get info for
- Returns
peer info object
-
abstract
peers_with_addrs
() → List[libp2p.peer.id.ID]¶ - Returns
all of the peer IDs which has addrs stored in peer store
-
abstract
privkey
(peer_id: libp2p.peer.id.ID) → libp2p.crypto.keys.PrivateKey¶ - Parameters
peer_id – peer ID to get private key for
- Returns
private key of the peer
- Raises
PeerStoreError – if peer ID not found
-
abstract
pubkey
(peer_id: libp2p.peer.id.ID) → libp2p.crypto.keys.PublicKey¶ - Parameters
peer_id – peer ID to get public key for
- Returns
public key of the peer
- Raises
PeerStoreError – if peer ID not found
-
abstract
put
(peer_id: libp2p.peer.id.ID, key: str, val: Any) → None¶ - Parameters
peer_id – peer ID to put peer data for
key –
value –
-
abstract
set_protocols
(peer_id: libp2p.peer.id.ID, protocols: Sequence[str]) → None¶ - Parameters
peer_id – peer ID to set protocols for
protocols – protocols to set
-
abstract