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