IPFS群集的HTTP客户端。

ipfscluster的Python项目详细描述


pipeline statuscoverage report

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}的步骤$ 工作文件:

  1. 使用安装本地gitlab-runnerbrew install gitlab-runner
  2. gitlab-runner exec docker --docker-privileged test。请注意 有一个--docker-privileged参数。如果没有这个, docker-in-docker不起作用。
  3. 确保所有multiaddr引用docker服务 (它使用dind承载所有其他容器)。
  4. tox应该可以工作,但是出于某种原因:使用 tox产生拒绝连接的错误,而直接运行 与pytest不匹配。关于毒物环境螺钉 一切顺利。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java JavaBridge errno=10054被Remotehost关闭   javafx如何在每次调用方法中的变量时更新它?(爪哇)   java mod_群集在发现后未平衡负载   Java软件编辑器/语法高亮   java为什么不能强制转换数组的结果。asList()到ArrayList?   java HIBERNATE:无法使用HIBERNATE从MySQL中提取数据   java在Google地图片段上添加布局   java在AbstractTableModel中执行setValueAt之前,我如何做一些事情?   java在整个Tomcat运行时保存变量   java如何在Thymeleaf模板中获取环境变量的值?   java Selenium Chrome驱动程序针对属性的标签   java正则表达式捕获未知数量的重复组