jbenet的multiaddr的Python实现
项目描述
py-multiaddr
multiaddr的Python实现
用法
简单
from multiaddr import Multiaddr
# construct from a string
m1 = Multiaddr("/ip4/127.0.0.1/udp/1234")
# construct from bytes
m2 = Multiaddr(bytes_addr=m1.to_bytes())
assert str(m1) == "/ip4/127.0.0.1/udp/1234"
assert str(m1) == str(m2)
assert m1.to_bytes() == m2.to_bytes()
assert m1 == m2
assert m2 == m1
assert not (m1 != m2)
assert not (m2 != m1)
协议
from multiaddr import Multiaddr
m1 = Multiaddr("/ip4/127.0.0.1/udp/1234")
# get the multiaddr protocol description objects
m1.protocols()
# [Protocol(code=4, name='ip4', size=32), Protocol(code=17, name='udp', size=16)]
封装/解封装
from multiaddr import Multiaddr
m1 = Multiaddr("/ip4/127.0.0.1/udp/1234")
m1.encapsulate(Multiaddr("/sctp/5678"))
# <Multiaddr /ip4/127.0.0.1/udp/1234/sctp/5678>
m1.decapsulate(Multiaddr("/udp"))
# <Multiaddr /ip4/127.0.0.1>
隧道
Multiaddr允许非常优雅地表达隧道。
printer = Multiaddr("/ip4/192.168.0.13/tcp/80")
proxy = Multiaddr("/ip4/10.20.30.40/tcp/443")
printerOverProxy = proxy.encapsulate(printer)
print(printerOverProxy)
# /ip4/10.20.30.40/tcp/443/ip4/192.168.0.13/tcp/80
proxyAgain = printerOverProxy.decapsulate(printer)
print(proxyAgain)
# /ip4/10.20.30.40/tcp/443
维护者
原作者:@sbuss。
贡献
欢迎贡献。请查看问题。
查看我们的贡献文档,了解我们如何工作以及一般性的贡献信息。请注意,与multiformats相关的所有互动都受IPFS 行为准则的约束。
许可证
双许可
历史
0.0.7 (2019-5-8)
包含子包
重构 util 和 codec
0.0.5 (2019-5-7)
去十六进制化字节
新异常
其他改进 [通过 alexander255 #42]
0.0.2 (2016-5-4)
修复了在decapsulate中抛出IndexError的bug,而不是当原始multiaddr不包含要解封装的multiaddr时,返回Multiaddr的副本。[通过 fredthomsen #9]
增加测试覆盖率 [通过 fredthomsen #9]
0.0.1 (2016-1-22)
首次在PyPI上发布。
项目详情
下载文件
下载适用于您平台的文件。如果您不确定选择哪一个,请了解更多关于安装包的信息。
源代码分发
multiaddr-0.0.9.tar.gz (24.7 kB 查看哈希值)
构建分发
multiaddr-0.0.9-py2.py3-none-any.whl (16.3 kB 查看哈希值)
关闭
multiaddr-0.0.9.tar.gz的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 30b2695189edc3d5b90f1c303abb8f02d963a3a4edf2e7178b975eb417ab0ecf |
|
MD5 | d5bb4acecd28cba4a52221fe0a7146b9 |
|
BLAKE2b-256 | 12f4fa5353022ad8e0fd364bfa8b474f9562c36ce1305fad31fe52b849e30795 |
关闭
multiaddr-0.0.9-py2.py3-none-any.whl的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 5c0f862cbcf19aada2a899f80ef896ddb2e85614e0c8f04dd287c06c69dac95b |
|
MD5 | 78003181e10fcc4fc03b1e54426e7d54 |
|
BLAKE2b-256 | 5159df732566d951c33f00a4022fc5bf9c5d1661b1c2cdaf56e75a1a5fa8f829 |