LOADING...
LOADING...
LOADING...
当前位置: 玩币族首页 > 区块链资产 > filecoin挖矿节点如何自动获取FIL代币如何自动重启

filecoin挖矿节点如何自动获取FIL代币如何自动重启

2019-10-14 Online 来源:区块链网络

filecoin挖矿节点如何自动获取FIL代币,如何自动重启

一、如何实现自动获取代币

filecoin测试网节点,需要钱包地址有虚拟FIL,才能创建矿工,才能上传数据,虚拟FIL需要到官方水龙头网站获取http://user.kittyhawk.wtf:9797/,每一小时可获取一次,每次获取耗时10分钟。获取代币实际是一种转账,是``这个地址,向你的账户转账,数额为1000FIL。

然而,目前filecoin网络bug较多,极不稳定,有时几小时不出块,不出块就无法转账,也就无法获取到FIL,所以在向水龙头网站提交钱包地址时,常常遇到发送资金失败的错误

failed to send fundsxLsrlYZ0L9b5eQQemwpeoD93si8JqE1ixnJILdiX.png

这种情况只能等到filecoin网络正常出块,才能获取到FIL。

其次,在网络正常的时候,也不一定每次都能获取到FIL,经常在设置等待之后,等了10分钟,等到的是网络超时。

有时候我们工作的时候,无法获取到FIL,而晚上休息的时候,filecoin网络却可能很正常,获取FIL非常快。

所以为了尽可能节省时间,最好通过脚本定时自动获取FIL。

有些filecoin节点能上传几TB的数据,因为他们的账户有几万个FIL,比如有一个账户曾经有9万个FIL,这么多FIL,不可能全都手动去获取,只能定时自动获取。

方法一:通过shell脚本死循环去获取

命令如下,就不解释了

#!/usr/bin/env bash

while [[ true ]]; do

#statements

cd $HOME/filecoin

addr=`./go-filecoin address default`

MESSAGE_CID=`curl -X POST -F "target=${addr}" "http://user.kittyhawk.wtf:9797/tap" | cut -d" " -f4`

echo $MESSAGE_CID

./go-filecoin message wait $MESSAGE_CID

sleep 3700s

done

每隔3700秒,也就是一小时,自动获取一次FIL。

nohup sh getfil.sh &

把脚本放到后台去自动执行,nohup表示忽略挂起命令,&表示后台执行。

方法二:通过crontab定时器自动执行脚本

获取FIL命令

#!/usr/bin/bash

cd $HOME/filecoin

addr=`./go-filecoin address ls|head -n 1`

MESSAGE_CID=`curl -X POST -F "target=${addr}" "http://user.kittyhawk.wtf:9797/tap" | cut -d" " -f4`

echo $MESSAGE_CID

./go-filecoin message wait $MESSAGE_CID

Mac上自带crontab,可以直接使用,Linux系统上需要自己安装,

安装命令

sudo yum install vixie-cron

sudo yum install crontabs

安装完以后开启crontab服务sudo service crond start

查看定时任务crontab -l,无任务时没有任何输出,有定时任务时,会输出任务列表

编辑任务,输入命令crontab -e,终端会进入vim编辑器,

0 * * * * ~/getfil.sh,表示每小时执行一次getfil.sh脚本,也就是每小时去获取一次FIL。

crontab命令具体用法参考网站https://crontab.guru/every-1-hour。

二、filecoin节点如何实现自动重启

目前filecoin测试网不稳定,节点经常自动挂机,10月10日晚上有超过150个节点都挂掉了。这种情况正式网上线后也可能会遇到,所以一定要通过脚本,实时监控filecoin节点运行状况,在节点挂掉之后,自动重启

#!/usr/bin/env bash

while [[ true ]]; do

#statements

#获取节点ID

processid=$(lsof -i:3453 | awk NR==2 | awk '{print $2}')

echo $processid

#如果ID长度为0,说明节点挂掉了,则重启节点

if [[ -z $processid ]]; then

#statements

cd $HOME/filecoin

nohup ./go-filecoin daemon &

#等待五分钟,开始挖矿

#sleep 300s

#cd $HOME/filecoin && ./go-filecoin mining start

fi

#每30分钟检测一次

sleep 1800s

done

filecoin占用的固定端口是3453,在初始化节点时可以看到

Swarm listening on: /ip4/127.0.0.1/tcp/6000

Swarm listening on: /ip4/172.19.0.8/tcp/6000

12:58:49.459 INFO chain.stor: start loading chain at tipset: { bafy2bzaceaxemeuwqe3cqvlkim3eliiocn7wywualrakyehziuosxa6k4y5fi }, height: 0 store.go:139

12:58:49.461 INFO chain.stor: finished loading 0 tipsets from { bafy2bzaceaxemeuwqe3cqvlkim3eliiocn7wywualrakyehziuosxa6k4y5fi } store.go:183

API server listening on /ip4/127.0.0.1/tcp/3453

API监听端口为3453,查看3453端口,可以查到go-filecoin的进程ID

[hongkong@VM_0_8_centos ~]$ lsof -i:3453

COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME

go-fileco 16164 hongkong 24u IPv4 17720673 0t0 TCP VM_0_8_centos:pscupd (LISTEN)

每30分钟查看一次3453端口,就可以知道filecoin进程是否挂掉了。

脚本很简单,几分钟就写完了,但是能解放时间,解决很重要的问题。

三、filecoin数据存储在什么地方

节点运行数据

filecoin节点初始化后,会自动生成两个文件夹,两个文件夹中的数据一样,其中一个是备份。

.filecoin

.filecoin-20191013-125603-v002

里面保存了节点运行的数据,包括节点的配置文件,节点的版本,私钥和钱包数据。

api badger chain config.json deals keystore repo.lock snapshots version wallet

客户端传给矿工的数据

创建矿工成功,开始挖矿后,会自动生成一个名为filecoin-的文件夹。

里面有两个文件夹,其中是客户端给矿工节点上传的数据,数据不可直接读取,只能通过filecoin 客户端命令,根据订单CID来读取。

seal文件夹中的数据时已经存储完成,已经密封的数据,staged文件夹中是正在存储的数据

如何更改缓存及矿工存储目录

节点运行数据,也就是filecoin的缓存数据,以及矿工存储的数据,都默认保存在用户目录下,节点部署后不可更改,只能在初始化时指定。

go-filecoin init --sectordir=/home/data/filecoin

使用--sectordir参数,就可以把矿工存储数据放到/home/data/filecoin文件夹下。

filecoin测试网bug很多,部署过程中会遇到各种奇葩的error,都有哪些error,如何解决,请继续关注。

—-

编译者/作者:Online

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

LOADING...
LOADING...