在区块链应用场景里,常常需要借助专门的存储系统来保存各类文件。IPFS(星际文件系统,InterPlanetary File System)便是一种适用于区块链网络的分布式存储解决方案,它能够让用户便捷高效地存储和管理文件。
下面,我们以 Ubuntu 18 操作系统为例,详细演示如何使用 IPFS 进行文件存储操作。
1.下载和安装
https://dist.ipfs.tech/kubo/ ipfs官方
Tags · ipfs/kubo · GitHub ipfs的github仓库
我们可以在上面衔接找到ipfs历史版本。
由于我的系统是amd64架构,这里我们下载https://dist.ipfs.tech/kubo/v0.16.0/kubo_v0.16.0_linux-amd64.tar.gz
#下载
wget https://dist.ipfs.tech/kubo/v0.16.0/kubo_v0.16.0_linux-amd64.tar.gz
#解压
tar -xzvf kubo_v0.16.0_linux-amd64.tar.gz
有如下文件,解压完成后并cd ./kubo目录
执行
# 执行该命令,会将ipfs移动到/usr/local/bin目录下
./install.sh
这样就算是下载和安装完成。
可以输入 ipfs 验证下。
2.启动
初始化
ipfs init
会在~/.ipfs目录下初始化一个新的 IPFS 仓库。
供其他主机访问
ipfs的api和gateway默认访问路径为127.0.0.1.如需要其他机器访问,需要修改~/.ipfs/config中api和gateway字段,将127.0.0.1替换为0.0.0.0
http cors跨域问题
非本地访问会产生跨域问题,需要在设置中注明。
ipfs config --json API.HTTPHeaders.Access-Control-Allow-Origin '["*"]'
ipfs config --json API.HTTPHeaders.Access-Control-Allow-Methods '["PUT", "GET", "POST"]'
ipfs config --json API.HTTPHeaders.Access-Control-Allow-Credentials '["true"]'
启动
ipfs daemon
访问webui
访问:http://localhost:5001/webui