IPFS激励层Filecoin测试⽹挖矿实战解析「硬盘挖矿/存储挖矿」

FILecoin测试⽹挖矿解析git


目前FILecoin开放测试网了(仍是主要面向开发者),要参与测试⽹是⾮常简单的事情。如今将基本的步骤和⼀些细节剖析出来。要开启测试⽹的挖矿,大概分为以下几步。github


第一步,下载挖矿软件,启动节点。bash

第二步,去讨⽶米获取点FIL。服务器

第三步,抵押,设置价格开启挖矿。网络



第一步,下载挖矿软件,启动节点。


去这里下载个版本,https://github.com/FILecoin-project/go-FILecoin/releases/tag/0.2.4tcp


tar -zxvf FILecoin-0.2.4-Linux.tar.gz mkdir -p /tmp/FILecoin-proof-parameters cd FILecoin
./paramcache
export PATH="$(pwd)":$PATH



固然最好把这个变量设置到全局环境去中,在ide

~/.bash_profile

添加环境变量量PATH。区块链


接下来就是启动节点。测试


若是启动过节点,能够先干掉以前的一些数据。网站

rm -rf ~/.FILecoin


初始化go-FILecoin软件,设置下开发者网络标识,使得链接到开发者网络。

go-FILecoin init --devnet-user --genesisFILe=https://genesis.user.kittyhawk.wtf/ge nesis.car


而后启动go-filecoin进程

go-filecoin daemon


这步启动后会返回一个peerID,⽐比较奇怪的⼀一点是这个软件并不不会去探测这个机器是否已经开启了一个ipfs节点。这个软件自己会⾃己开启一个ipfs节点。


固然你能够给你节点取一个名字,而后在一个可视化⻚⾯展现出来。

go-FILecoin config heartbeat.nickname "EngineMiner"
go-FILecoin config heartbeat.beatTarget "/dns4/stats-infra.kittyhawk.wtf/tcp/8080/ ipfs/QmUWmZnpZb6xFryNDeNU7KcJ1Af5oHy7fB9npU67sseEjR"


能够在下⾯面这网站能够查看到这个节点。https://stats.kittyhawk.wtf/


FqbteqUJxqQOPKdEhwsahfXHewW1



第二步,去讨米获取点FIL。


如今没有FIL,讨⽶是须要的,去他们的滴水管领取下就行了。也⾮常简单。

go-FILecoin address ls # 获取⾃自⼰己的钱包地址WALLET_ADDR


去这个⽹址输⼊⾃己的钱包地址,http://user.kittyhawk.wtf:9797 ,获取交易信息的MESSAGE_CID。

go-FILecoin message wait ${MESSAGE_CID}


而后验证下⾃己是否讨⽶成功。

go-FILecoin wallet balance ${WALLET_ADDR}



第三步,抵押,设置价格开启挖矿。


FILecoin将会有三种矿工:


  • 存储矿工

  • 检索矿工

  • 修复矿工(后⾯面会推出来)



固然,如今主要专一在存储矿⼯这一块。



go-Filecoin软件是开启了同步区块的进程,可是并无开启一个矿⼯。这个矿工须要去挖Filecoin的区块,就须要提供存储容量量空间的一个承诺到Filecoin的DSN⽹络。若是区块挖到了呢,就会给到相应的奖励。


一个矿工须要给出存储空间的承诺以外,还要给出相应的抵押,固然抵押就涉及到给Filecoin的区块链上发送消息,也就是说会有⼀些链上的操做,只要有操做就会有成本,FILecoin采⽤了了和以太坊相似的gas机制,这里能够设置的有两个点,一个是gas的价格,这⾥是以Filecoin为标的的,另外是消耗gas的上限。


⽐如,能够用下⾯面这行命令,来建立一个矿工,使⽤100FIL做为抵押,使⽤用默认的扇区大小(256M),gas 的价格为0.001FIL,使用的gas上限为1000gas。

go-FILecoin miner create 100 100 --gas-price=0.001 --gas-limit=300 --peerid `go-fi lecoin id | jq -r '.ID'` # this may take a minute


而后开启矿工挖矿。

go-FILecoin mining start



*⾼级进阶*

给存储空间设置价格


⾸先要明白,矿工的机器至关于一个客户端,⾃己有存储空间,而后设置一个价格发送到链上,这样一个订单信息 是须要以下基本信息的。


  • 存储空间的价格。单位是FIL/byte/block

  • blocks的⾼度范围,这个订单信息是有效的

  • 链上的矿工每挖到这个消息,所须要消耗的gas的价格

  • 为这个订单信息,最多消耗的gas上限


具体剖析下这个订单是如何工做的,存储空间的价格,按理理来讲,只要FIL/byte就够了了,为什么还有一个block 的概念。其实这很是好理解,区块高度是一个时间的概念,设置一个价格,这个价格是在一段时间内的价格,过了这段时间后,价格⾃天然就不算数了。深层次来理解,订单是在链上进⾏撮合交易的,不可能全部订单请求都在每一个区块里进⾏撮合,这就须要全部矿工为⾃己的订单请求⽀支付gas费⽤用,那这⾥面就会有⼀个值得操做的空间,若是订价便便宜,就越能被撮合交易易,可是因为价格低,⽽而致使收益低,但⼜有一个区块奖励。若是订价太⾼高,就很难被撮合交易,同时还要⽀付gas费用,也是划不来的。


然而,这个价值设置并不是⾃动的,这里面存在⼀些可操做的空间。


举例,咱们设置价格为0.000000001 FIL/byte/block,对2880个blocks有效,一个message的价格为

0.001FIL/unit,消耗上限为1000gas。

go-FILecoin miner set-price --gas-price=0.001 --gas-limit=1000 0.000000001 2880


其会返回以下信息:

Set price for miner t26ro7zvtlsswdtus3fpp6467cvisb6kpwhnk6d3y to 0.000000001. Published ask, cid: zDPWYqFD6tZMKe9TQQYVFLTXqvFLYyfghEd8xTXc9hi5iakp3nBF.
Ask confirmed on chain in block: zDPWYqFCzAQCXBuuqmYNGbGM6HkpD8Zyp9rMAh76o11H4ZY7n b4p.


上⾯这个会在很短的时间内消耗掉我0.1FIL。道理理是⾮常简单的,上面是⽤100个FIL做为抵押,而后100个扇区抵押到DSN市场,每个扇区消耗掉的gas价格为0.001,算下来就是0.1FIL。


从头至尾,⼀直有⼀个疑问,IPFS的数据到底要存在哪里,其实很是简单。设置一下就能够了。

go-FILecoin config sectorbase.rootdir /data/


⽐如我就直接讲全部磁盘用LVM技术挂在 /Data ⽬录下面,而后数据就都存在这下面就能够。


挖了半天,假如仍是没挖到⼀点FIL,算了,停下,加大抵押和空间来试下。效果会有所不一样。不过挖到的FIL属于测试网的虚拟通证,真正的FIL只有主网上线才会释放。


go-FILecoin mining stop
rm -rf ~/.FILecoin
go-FILecoin init --devnet-user --genesisFILe=https://genesis.user.kittyhawk.wtf/ge
nesis.car --repodir=/data/.FILecoin
go-FILecoin daemon --repodir=/data/.FILecoin
go-FILecoin address ls --repodir=/data/.FILecoin
# 去讨下⽶米
go-FILecoin message wait zDPWYqFCr17QWsfh9XgupovN8s7jW8sssb7j89sD9SryFAnwQKds --re podir=/data/.FILecoin
go-FILecoin miner create 900 900 --gas-price=0.001 --gas-limit=3000 --peerid `go-f
ilecoin id | jq -r '.ID'`	# this may take a minute
go-FILecoin mining start




简单总结:目前Filecoin测试网有点难挖,专业服务器上CPU这些跑满了。大型测试网还要等(但很快)。有点担忧它的商用场景是否会受到限制,否则门槛过高没人愿意参与挖。另外官方很“鸡贼”(其实正常),讨米的时候应该是判断了IP?mac地址?(但按理不会啊),FIL用完,一千个也不少的,要是没有了只能换个V'P'N再去试试。

相关文章
相关标签/搜索