一、下载官方release包
Linux版下载地址
https://github.com/filecoin-project/go-filecoin/releases/download/0.5.6/filecoin-0.5.6-Linux.tar.gz
下载完成后,解压到home目录下,里面有两个可执行文件
go-filecoin paramcache
二、安装依赖软件`gcc`和`glibc-2.18`
安装命令
安装gcc sudo yum install gcc ##安装glibc curl -O http://ftp.gnu.org/gnu/glibc/glibc-2.18.tar.gz tar -zxvf glibc-2.18.tar.gz cd glibc-2.18/ mkdir build cd build/ ../configure --prefix=/usr make -j 8 sudo make install
安装了gcc之后,才能安装glibc-2.18,有了glibc-2.18,才能运行官方release包里的可执行文件paramcache。
还需要安装jq,用来处理json数据,很方便。当然,用其他命令处理也可以。
安装jq命令
wget http://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm sudo rpm -ivh epel-release-latest-7.noarch.rpm yum repolist sudo yum install jq
三、创建扇区
这里根据官方文档操作https://docs.filecoin.io/go-filecoin-tutorial/Getting-Started.html
先创建临时文件夹,再运行paramcache
mkdir -p /var/tmp/filecoin-proof-parameters ./paramcache
运行这一步没有任何输出,耗时一小时左右,很消耗CPU。
添加环境变量
export PATH="$(pwd)":$PATH
四、运行filecoin节点
如果之前部署过,需要删除之前的缓存数据
rm -rf ~/.filecoin
初始化节点,指定user网络,和创世文件
go-filecoin init --devnet-user --genesisfile=https://genesis.user.kittyhawk.wtf/genesis.car
初始化的输出如下
11:30:18.619 INFO badger: All 2 tables opened in 13ms logger.go:46 11:30:18.622 INFO badger: Replaying file id: 0 at offset: 142634485 logger.go:46 11:30:19.085 INFO badger: Replay took: 463.007998ms logger.go:46
上面的命令运行几秒后,会自动中断,再以`go-filecoin daemon`命令重启。
重启后输出如下
My peer ID is QmRG41oWaHC77QgJ4iSBXxg4QY71Rdvhk5jM1nwdmkv6AC Swarm listening on: /ip4/127.0.0.1/tcp/6000 Swarm listening on: /ip4/172.19.6.8/tcp/6000 11:30:19.163 INFO chain.stor: start loading chain at tipset: { bafy2bzacecyjgho2kkgkihwdxf6lnosx5mc2h2qpm7w4y8cteac4gos2r56b6 }, height: 13371 store.go:138 11:30:56.286 INFO chain.stor: finished loading 13371 tipsets from { bafy2bzacecyjgho2kkgkihwdxf6lnosx5zc2h2qpm6w4y7ctecc4gos2r56b6 } store.go:182 API server listening on /ip4/127.0.0.1/tcp/3453
五、为节点取名
重新开启一个终端,运行以下命令,双引号中是你为节点取的名字,也就是昵称。
go-filecoin config heartbeat.nickname "HopesOne"
查看节点的昵称
go-filecoin config heartbeat.nickname
六、设置心跳
为创世节点发送心跳,让官方仪表盘、浏览器能看到本节点的运行状态。
不要更改这条命令中的节点ID。
go-filecoin config heartbeat.beatTarget "/dns4/backend-stats.kittyhawk.wtf/tcp/8080/ipfs/QmUWmZnpZb6xFryNDeNU7KcJ1Af5oHy7fB9npU67sseEjR"
这条命令运行之后,需要手动中断节点,再手动重启
使用control C中断节点,也就是`kill -2`中断进程。
重启节点命令
go-filecoin daemon
待节点重启后,就可以在官方仪表盘看到自己的节点了
网址<https://stats.kittyhawk.wtf/>,输入自己的节点昵称,可以看到节点
七、获取FIL代币
获取代币的网址<http://user.kittyhawk.wtf:9797/>
将节点的默认地址提交到上述地址,保存好返回的CID,设置等待
export WALLET_ADDR=`go-filecoin address ls` MESSAGE_CID=`curl -X POST -F "target=${WALLET_ADDR}" "http://user.kittyhawk.wtf:9797/tap" | cut -d" " -f4` go-filecoin message wait ${MESSAGE_CID}
获取代币,要在节点同步完成后,才能成功获取。如果filecoin的网络状态不佳,比如半小时没有出块,也无法成功获取代币。
获取成功时输出如下
{ "meteredMessage": { "message": { "to": "t17ocnqk35s5ggwnwe5xbziz7kf4xlbdgctwbog7q", "from": "t1jf5zjk2ctym474skuospvpdtfkwf46r6bpusz7q", "nonce": "846", "value": "1000", "method": "", "params": null }, "gasPrice": "1", "gasLimit": "0" }, "signature": "TkNmQ9fXA4+2USIm5Q5TzHKCc2HPqf2Kca+AViaZFuIPz68sHhzX+HumqH2sH//1O0RBzETQ8sX1M/sYd/gSawA=" } ……………………
显示了转账的地址和金额。
查询钱包余额
go-filecoin wallet balance ${WALLET_ADDR}
注意事项
注意客户端节点和矿工节点是分开的,客户端节点不能创建矿工,矿工节点不能使用`go-filecoin client`命令。
节点的默认钱包地址有FIL代币后,才能创建矿工。
客户端节点同样如此,有FIL代币后,才能上传数据。
八、创建矿工
在另一台电脑重新部署一个节点,部署成功并获取到FIL后,在新节点创建矿工。
创建矿工命令
go-filecoin miner create 100 --gas-price=0.001 --gas-limit=300
create后面跟的100是抵押的FIL,如果钱包的FIL够多,可以多抵押一点。
gas-price不能大于1,也不能是0,可以设置很小,如`0.000000000000000001`。
创建矿工耗时比较长,创建成功后,会输出矿工地址,一般t2开头
t2hyy3f54baquoqhugfyn5hwp5cfrt5ml6z2tglfq
开始挖矿
go-filecoin mining start
查看挖矿状态
go-filecoin mining status
九、设置存储价格
go-filecoin miner set-price --gas-price=0.001 --gas-limit=1000 0.000000001 2880
gas-price设置成和创建矿工时一样,gas-limit也和矿工的limit一样。
设置成功后返回数据如下
Set price for miner t2hyy3f54baquoqhugfyn5hwp5cfrt5ml6z2tglfq to 0.000000000000000001. Published ask, cid: bafy2bzaced3cpx3zvbe4goaekgt4rp65ipwaw5s6minggs452vqylxj5o7esm. Ask confirmed on chain in block: bafy2bzacea4ifxirdfkhfq7hycafaelefd3l2a3imgbdv32yxchy5hli3edy4.
此时,就可以使用客户端节点给该矿工节点上传数据了。
十、上传数据
随便找一个文件,不要超过256M。
export CID=`go-filecoin client import ~/LessonOne.mp4`
查看CID
echo $CID QmXYzArFLEJmA8amuRdj42czXLiXU297KwduDmS7QB3raJ
上传数据
go-filecoin client propose-storage-deal t2zesnfd6u2ygodduczw5gqaut25al3mdjhbbkvnq $CID 0 2880
上传成功输出如下,状态为已接收
State: accepted Message: DealID: bafy2bzaceafbpfxmlqjxaquiavgmrmd6c8ergiqr63alb5jqokdlicpsbcrm2
数据上传成功后,可以在客户端节点查看存储状态,根据dealID来查看.
./go-filecoin client query-storage-dealbafy2bzaceafbpfxmlqjxaquiavgmrmd6c8ergiqr63alb5jqokdlicpsbcrm2 Status: complete Message:
rejected是拒绝,staged是正在存储,complete是已经成功存储。
也可以在矿工节点查看本节点存储了多少订单
go-filecoin deals list --miner
输出如下
{ "minerAddress": "t2mpmyigmpopcwguhe2tpdeonoppuht5mtvd2ljcq", "pieceCid": { "/": "QmbHmUVAkqZjQXgifDady7m5cYprX1fgtGaTYxUBBTX3At" }, "proposalCid": { "/": "zDPWYqFD8U3ktr58iiqWTwzEV3sKyz7SGQjLg1zKS1Mgpo5N2nr1" }, "state": "staged" }
之后可以根据proposalCid,在矿工节点查看某个订单的具体情况
go-filecoin deals show <proposal-cid>
filecoin目前为测试版,运行不是很稳定,部署过程中常常会遇到奇怪的error和bug,一定要有耐心,记录每一种错误,有些问题不能解决的,可以到filecoin的GitHub去提问。
—-
编译者/作者:Online
玩币族申明:玩币族作为开放的资讯翻译/分享平台,所提供的所有资讯仅代表作者个人观点,与玩币族平台立场无关,且不构成任何投资理财建议。文章版权归原作者所有。
|