mirror of
https://github.com/varun-r-mallya/py-libp2p.git
synced 2026-02-12 16:10:57 +00:00
Add basic support for multiaddr addresses and improvement around peer id (#75)
* Improved peer ID construction and usage * peer id object is directly passed to the network no need to cast from a string to an ID * don't base64 encode the peer id when loading from public key * use proper multiaddr address - keep multiaddr object into peerstore instead of string - update network code to use new multiaddr lib - update tests and example * don't instanciate peerstore object in constructor This has side effect where the same peerstore is used for different instance of Libp2p * add connect method to basic_host * use zaibon's fork of sbuss/py-multiaddr * lint
This commit is contained in:
committed by
Robert Zajac
parent
7fa674dee2
commit
611de28aca
9
tests/peer/test_peerid.py
Normal file
9
tests/peer/test_peerid.py
Normal file
@ -0,0 +1,9 @@
|
||||
from Crypto.PublicKey import RSA
|
||||
from peer.id import id_from_private_key, id_from_public_key
|
||||
|
||||
|
||||
def test_id_from_private_key():
|
||||
key = RSA.generate(2048, e=65537)
|
||||
id_from_pub = id_from_public_key(key.publickey())
|
||||
id_from_priv = id_from_private_key(key)
|
||||
assert id_from_pub == id_from_priv
|
||||
11
tests/peer/test_peerinfo.py
Normal file
11
tests/peer/test_peerinfo.py
Normal file
@ -0,0 +1,11 @@
|
||||
import multiaddr
|
||||
from peer.peerinfo import info_from_p2p_addr
|
||||
|
||||
|
||||
def test_info_from_p2p_addr():
|
||||
# pylint: disable=line-too-long
|
||||
m_addr = multiaddr.Multiaddr('/ip4/127.0.0.1/tcp/8000/ipfs/3YgLAeMKSAPcGqZkAt8mREqhQXmJT8SN8VCMN4T6ih4GNX9wvK8mWJnWZ1qA2mLdCQ')
|
||||
info = info_from_p2p_addr(m_addr)
|
||||
assert info.peer_id.pretty() == '3YgLAeMKSAPcGqZkAt8mREqhQXmJT8SN8VCMN4T6ih4GNX9wvK8mWJnWZ1qA2mLdCQ'
|
||||
assert len(info.addrs) == 1
|
||||
assert str(info.addrs[0]) == '/ip4/127.0.0.1/tcp/8000'
|
||||
Reference in New Issue
Block a user