安装
ipfs 安装
注意,ipfs 0.5版本不支持python,需安装0.4版本的ipfs,亲测2020年前的ipfs可用。
python 安装
pip install ipfs-api~=0.2.3
支持的功能
获取ipfs 状态信息
上传文件
下载文件
python代码
import ipfsApi
import os
class Config:
"""
配置文件
"""
# FISCO BCOS配置文件
data_home = os.path.abspath(os.path.join(os.path.dirname(__file__), 'data/'))
IPFS_url = "127.0.0.1"
IPFS_port = 5007
IPFS_port_data = "8084"
class FileIPfs:
"""
文件上传ipfs中
"""
def __init__(self):
"""
连接ipfs
"""
self.api = ipfsApi.Client(Config.IPFS_url, Config.IPFS_port)
def upload_file(self, file):
"""
ipfs上传文件
:param file: 文件路径
:return: 上传文件后hash值
"""
file = os.path.join(Config.data_home, file)
return self.api.add(file)[0]
def get_ipfs_id(self):
"""
获取ipfs信息
:return: ipfs基本信息
"""
return self.api.id()
def download_file(self, name):
"""
下载ipfs文件
:param name:
:return:
"""
# return self.api.cat(name)
return "http://" + Config.IPFS_url + ":" + Config.IPFS_port_data + "/ipfs/" + name
FileIPfs = FileIPfs()
if __name__ == '__main__':
print(FileIPfs.get_ipfs_id())
print(FileIPfs.download_file("QmNznXXpe4MNZK9xt5frcRGxW5fUHn7d6qrRVJNxnHdRRB"))
print(FileIPfs.upload_file("../../bin/ca.crt"))