FILCOIN STORAGE DATA IN IPFS WITH OPRATION
一 IPFS相关搭建
1.1 搭建IPFS(搭建一个与IPFS公网连接的较为简单)
wget https://github.com/ipfs/go-ipfs/releases/download/v0.8.0/go-ipfs_v0.8.0_linux-386.tar.gz //获取源
tar xvfz go-ipfs_v0.8.0_linux-386.tar.gz //解压安装包
cd go-ipfs //进入解压后的目录
sudo ./install.sh //安装IPFS
ipfs --help //检查IPFS安装是否成功
ipfs init //IPFS仓库初始化
ipfs config show或vim ~/.ipfs/config //查看IPFS基本配置,可根据自己的实际需求配置
1.2 尝试操作,看安装是否成功
echo "test IPFS" >> test_ipfs.txt
ipfs add test_ipfs.txt //在这一步会得到一个CID
ipfs cat <CID>
1.3 启动IPFS daemon,否则将无法与miner交互
nohup ipfs daemon >> ipfs_daemon.log & //此处注意日志文件名,以免覆盖miner机器下的lotus-daemon进程原有的日志文件
二 修改Lotus相关内容
2.1 首先确保你的lotus可以进行数据的存储和检索操作
2.1.1 导入数据
lotus client import test_ipfs.txt //存储本地文件,成功后会返回一个CID,若是文件有多个,刻印考虑打包成zip文件后再存储
lotus client local //列出所有存储了的文件的CID
2.1.2 进行存储交易
lotus state list-miners //查询所有的miner
lotus client query-ask <miner> //查询价格和环境
lotus client deal <data CID> <miner> <price> <duration> //根据上述查询的值进行存储交易
2.1.3 检索数据
lotus client list-deals //核查交易状态,若是deal成功并且数据是sealed则可以检索了
lotus client find <data CID> //查找数据CID
lotus client retrieve --miner <miner ID> <Data_CID> <outfile> //检索数据,这一步耗时较长
2.2 通过IPFS存储数据
2.2.1 修改daemon配置并重启daemon进程
vim ~/.lotus/comfig.toml //修改内容如下,可根据自己的实际使用情况设置
Client]
UseIpfs = true
IpfsOnlineMode = true
IpfsMAddr = <set with you ipfs miner address>
IpfsUseForRetrieval = true
SimultaneousTransfers = 20
2.2.2 通过IPFS存取数据
ipfs add -r SomeData //执行该命令后会返回一个CID,然后再执行lotus存储命令即可
lotus client deal <CID> <miner_ID> <price> <duration> //其中minerID为存储矿工的ID,price为你愿意花费的存储费用,duration为存储期限