FILECOIN 的矿工类型


存储矿工 Storage miners

存储矿工是filecoin网络的基础,需要硬件(矿机)和储存空间(硬盘)的支持,而且还需要抵押FIL TOKEN,通过价格策略、网络稳定性、存储需求的网络位置等条件从存储市场抢单获取收益;同时形成的有效存储为算力获得打包区块的权利得到TOKEN奖励。但是存储空间无法提供时空证明和复制证明就会被惩罚,扣除相应的抵押TOKEN。所以,稳定的矿机和网络、电力等因素是存储矿工必须慎重考虑的点。

检索矿工 Retrieval miners

检索矿工主要是宽带资源的投入,不需要抵押,可通过为用户检索资源获取TOKEN

修复矿工 Repair miners

这一块之前白皮书中没有提到,可能后期会不断的提供关于修复矿工的信息

创建矿工


首先查询自己的地址是否有余额,创建矿工需要抵押相应的TOKEN,根据官方的文档,十个扇区(每个扇区256MB)需要抵押100FIL,设置gas价格和最大gas消耗值,跟以太坊一样,避免程序陷入死循环!

go-filecoin miner create 10 100 --gas-price=0 --gas-limit=1000 --peerid `go-filecoin id | jq -r '.ID'`

* 如果执行上面这段代码一直没有反馈结果的话,一般是因为没有获取到抵押TOKEN

矿工创建之后可以查看下自己的余额变化情况

目前余额900,说明创建矿工的时候抵押100

启动挖矿

go-filecoin mining start

也可以到区块浏览器中查看创建的矿工信息

http://user.kittyhawk.wtf:8000/actors

创建ask order (要加单)


存储矿工根据自身成本提出存储价格订单,网络中的数据存储方根据矿工的出价等信息指定矿工存储数据。目前属于开发网络,官方提示现在的影响因素为价格,其他的关于网络、网络位置、信用值等因子后期会陆续加入

将前面执行生成的矿工地址添加到环境变量中

export MINER_ADDR=`go-filecoin config mining.minerAddress | tr -d \"`

矿工绑定的地址也添加到环境变量中

export MINER_OWNER_ADDR=`go-filecoin miner owner $MINER_ADDR`

这里不用担心生产的矿工地址忘记,因为他会写入到配置文件中,所以可以通过配置文件直接查找到这两个地址。配置文件位置:

.filecoin/config.json

添加一个ask order

go-filecoin miner set-price --from=$MINER_OWNER_ADDR --miner=$MINER_ADDR --gas-price=0 --gas-limit=1000 0.000000001 2880

–from 矿工绑定的地址
–miner 挖矿地址
–price gas 价格
–limit gas最大消耗值

0.00000001 为矿工自定义的存储价格,单位为(FIL/byte/block)每字节多少个FIL,对(2880)个区块有效。ask order的有效时长是通过区块个数计算的,假如你的ask order想要发布一天,目前每个区块的间隔时间是30s,所以一天的时间也就是:24×60×60/30=2880

执行设置成功之后可以查看所有ask order和自己的ask order

go-filecoin client list-asks --enc=json | jq

看自己发布的ask order

go-filecoin client list-asks | grep ${MINER_ADDR}

可以看到挖矿地址,价格,在哪个区块高度之后ask order失效

如果有人看到你的寻单正好又有存储资源的化就可以直接根据订单存储。后面的文章将会更新文件存储

停止挖矿


go-filecoin mining stop

下一章继续 FILECOIN解析(三) 如何将文件存储到网络中

参考文献


Mining Filecoin

* 本博客的文章允许转载,必须注明:原文来自于个人博客:背着石头飞翔(pkblog.cc) 否则视为侵权!