LOADING...
LOADING...
LOADING...
当前位置: 玩币族首页 > 新闻观点 > 在Linux系统上部署filecoin挖矿节点

在Linux系统上部署filecoin挖矿节点

2019-10-11 Online 来源:区块链网络
  • 在Linux系统上部署filecoin挖矿节点

一、下载官方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,设置等待

NquzAGI0q85z9gYrv1nvL6Jo7ZbNiJOChi4SngtA.png

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

玩币族申明:玩币族作为开放的资讯翻译/分享平台,所提供的所有资讯仅代表作者个人观点,与玩币族平台立场无关,且不构成任何投资理财建议。文章版权归原作者所有。

LOADING...
LOADING...