本文共 2873 字,大约阅读时间需要 9 分钟。
// 1. 安装ipfsapi$ pip install ipfsapi// 2. 新建python文件,test.py// 接口类型// a. 查看节点IDapi.id()// b. 上传单一文件api.add('test.txt')// c. 上传目录api.add('fake_dir', recursive=True)// d. 查看文件内容api.cat('QmWxS5aNTFEc9XbMX1ASvLET1zrqEaTssqt33rVZQCQb22')// e. 下载文件api.get('QmWxS5aNTFEc9XbMX1ASvLET1zrqEaTssqt33rVZQCQb22')// f. 查看本地已存储的所有文件api.pin.ls(type='all')// 3. 运行test.py$ python test.py
一、查看节点ID
import ipfsapi# 连接IPFS,需要先启动节点服务器daemonapi = ipfsapi.connect('127.0.0.1', 5001)# 查看节点IDres = api.id()print(res)
{'Addresses': ['/ip4/127.0.0.1/tcp/4001/ipfs/QmS2C4MjZsv2iP1UDMMLCYqJ4WeJw8n3vXx1VKxW1UbqHS',
'/ip6/::1/tcp/4001/ipfs/QmS2C4MjZsv2iP1UDMMLCYqJ4WeJw8n3vXx1VKxW1UbqHS'], 'AgentVersion': 'go-ipfs/0.4.10', 'ID': 'QmS2C4MjZsv2iP1UDMMLCYqJ4WeJw8n3vXx1VKxW1UbqHS', 'ProtocolVersion': 'ipfs/0.1.0', 'PublicKey': 'CAASpgIwgg ... 3FcjAgMBAAE='}
二、上传文件
import ipfsapi# 连接IPFS,需要先启动节点服务器daemonapi = ipfsapi.connect('127.0.0.1', 5001)# 上传文件res = api.add('test.txt')print(res)
{'Hash': 'QmWxS5aNTFEc9XbMX1ASvLET1zrqEaTssqt33rVZQCQb22', 'Name': 'test.txt'}
三、上传目录
import ipfsapi# 连接IPFS,需要先启动节点服务器daemonapi = ipfsapi.connect('127.0.0.1', 5001)# 上传目录,fake_dir是一个文件夹res = api.add('fake_dir', recursive=True)print(res)
[{'Hash': 'QmQcCtMgLVwvMQGu6mvsRYLjwqrZJcYtH4mboM9urWW9vX',
'Name': 'fake_dir/fsdfgh'}, {'Hash': 'QmNuvmuFeeWWpxjCQwLkHshr8iqhGLWXFzSGzafBeawTTZ', 'Name': 'fake_dir/test2/llllg'}, {'Hash': 'QmX1dd5DtkgoiYRKaPQPTCtXArUu4jEZ62rJBUcd5WhxAZ', 'Name': 'fake_dir/test2'}, {'Hash': 'Qmenzb5J4fR9c69BbpbBhPTSp2Snjthu2hKPWGPPJUHb9M', 'Name': 'fake_dir'}]四、查看文件内容
import ipfsapi# 连接IPFS,需要先启动节点服务器daemonapi = ipfsapi.connect('127.0.0.1', 5001)# 查看文件内容res = api.cat('QmWxS5aNTFEc9XbMX1ASvLET1zrqEaTssqt33rVZQCQb22')print(res)
hello ipfs!
五、下载文件
import ipfsapi# 连接IPFS,需要先启动节点服务器daemonapi = ipfsapi.connect('127.0.0.1', 5001)# 下载文件res = api.get('QmWxS5aNTFEc9XbMX1ASvLET1zrqEaTssqt33rVZQCQb22')print(res)
hello ipfs!
六、查看本地已存储的所有文件
import ipfsapi# 连接IPFS,需要先启动节点服务器daemonapi = ipfsapi.connect('127.0.0.1', 5001)# 查看本地已存储的所有文件res = api.pin.ls(type='all')print(res)
{u'Keys': {u'QmYCvbfNbCwFR45HiNP45rwJgvatpiW38D961L5qAhUM5Y': {u'Type': u'indirect'}, u'QmXgqKTbzdh83pQtKFb19SpMCpDDcKR2ujqk3pKph9aCNF': {u'Type': u'indirect'}, u'QmejvEPop4D7YUadeGqYWmZxHhLc4JBUCzJJHWMzdcMe2y': {u'Type': u'indirect'}, u'QmZTR5bcpQD7cFgTorqxZDYaew1Wqgfbd2ud9QqGPAkK2V': {u'Type': u'indirect'}, u'QmY5heUM5qgRubMDD1og9fhCPA6QdkMp3QCwd4s7gJsyE7': {u'Type': u'indirect'}, u'QmQ5vhrL7uv6tuoN9KeVBwd4PwfQkXdVVmDLUZuTNxqgvm': {u'Type': u'indirect'}, u'QmPZ9gcCEpqKTo6aq61g2nXGUhM4iCL3ewB6LDXZCtioEB': {u'Type': u'indirect'}, u'QmUNLLsPACCz1vLxQVkXqqLX5R1X345qqfHbsf67hvA3Nn': {u'Type': u'recursive'}, u'QmS4ustL54uo8FzR9455qaxZwuMiUhyvMcX9Ba8nUH4uVv': {u'Type': u'recursive'}, u'QmTJrZ2vBWsiCR97jsJxMt9rCPqkpxXdL6pXY9QKwAA4Ww': {u'Type': u'recursive'}}}
部分参考自:https://blog.csdn.net/ns2250225/article/details/79278516