IPFS群集的HTTP客户端。
ipfscluster的Python项目详细描述
IPFS群集HTTP API
这是一个python包,用于与ipfs的http rest api交互 集群。Full API documentation 在gitlab页面上提供。
安装
ipfscluster可从pypi存储库获得:
pip install ipfscluster
使ipfs集群运行
要试用api,需要有一个正在运行的ipfs集群。最容易 要得到其中一个,方法是使用docker。在 docker-compose.yml文件如下所示,您需要调整 volumes标记引用主机上的实际文件夹。这个 ipfs_clusterservice makes的environment变量中的更改 按服务名称使用Docker网络DNS解析。自从我们的码头工人 代理名为ipfs,我们可以在内部获取它的IP地址, backend网络,使用ipfs作为其DNS名称。
将此yml复制到某个文件夹中的docker-compose.yml文件中,然后 运行docker-compose up。
version:"3.7"services:ipfs:image:ipfs/go-ipfs:latestports:-"4001:4001"-"5001:5001"networks:-backendvolumes:-~/ipfs/ipfs:/data/ipfsipfs_cluster:image:ipfs/ipfs-cluster:latestports:-"9094:9094"-"9095:9094"-"9096:9096"volumes:-~/ipfs/ipfs-cluster:/data/ipfs-clusternetworks:-backenddepends_on:-ipfsenvironment:-CLUSTER_IPFSHTTP_NODEMULTIADDRESS=/dns4/ipfs/tcp/5001-CLUSTER_IPFSPROXY_NODEMULTIADDRESS=/dns4/ipfs/tcp/5001networks:backend:
试用api
既然已经有一个集群在运行,就可以尝试api了。打开 python cli并尝试:
client=connect()m={'name':'bytes','cid':{'/':'QmZfF6C9j4VtoCsTp4KSrhYH47QMd3DNXVZBKaxJdhaPab'},'size':30}withclient:r=client.add_bytes(b"Mary had a little lamb")assertr==m
运行单元测试
运行单元测试可能会带来巨大的痛苦,因为gitlab ci 跑步者在码头上跑步。对于这样一个使用 docker-compose,我们必须根据 他们的指示。但是,文档是稀疏的 很多死胡同…下面是获得^{tt3}的步骤$ 工作文件:
- 使用安装本地gitlab-runner。 brew install gitlab-runner。
- gitlab-runner exec docker --docker-privileged test。请注意 有一个--docker-privileged参数。如果没有这个, docker-in-docker不起作用。
- 确保所有multiaddr引用docker服务 (它使用dind承载所有其他容器)。
- tox应该可以工作,但是出于某种原因:使用 tox产生拒绝连接的错误,而直接运行 与pytest不匹配。关于毒物环境螺钉 一切顺利。