矿场游戏源码-【Filecoin源码仓库全解析】第三章(上):存储提供商(矿工)的配置操作

欢迎来到第三章,读完上一章《【Filecoin源码仓库全解析】》第二章:如何创建账户钱包并获取FIL模拟代币,我们应该能够在Filecoin系统中成功创建自己的账户了。 钱包,获取参与测试的FIL Mock代币。 在本章中,我们将配置自己的节点角色,成为存储提供者(矿工),并参与挖矿。

第三章部分内容和数据来自星际大陆(IPFSMAIN)詹老师的私下交流。 感谢IPFSMAIN团队在这方面机器资源成本的投入和分享。

由于围绕这块的内容比较多,所以分为两部分来介绍。

3.1 上一章的补充问题

这几天后台收到了很多同事的建议和请求,在Linux环境下编译安装go-filecoin源码遇到了很多问题。

别担心,别失望,毕竟juanbenet(协议实验室创始人)的配置过程并不顺利:

好消息是辰雾科技团队已经为您拉取了最新的源码。 对于非macOS的用户,他们编译了当前(2月19日)最新的filecoin-Linux.tar.gz发行包(内含彩蛋,欢迎体验),省去了编译链接的冗长步骤,下载通道为接下来。

下载链接:

晨雾科技(mornmist.tech)Linux版本:

矿场游戏源码-【Filecoin源码仓库全解析】第三章(上):存储提供商(矿工)的配置操作

3.2 身份和功能

在第二章中,我们通过区分各个ID的概念,了解了Filecoin系统中节点所扮演的双重角色和四重身份。

Filecoin作为去中心化存储解决方案,相比目前成熟的中心化存储解决方案,这些因素的作用可以类比为:

需求方用户。

Filecoin系统中的节点同时具有这四种身份,并集成与其身份对应的功能,在整个网络中发挥相应的功能。 这也是区块链网络与传统互联网的本质区别。 大家了解了节点所扮演的角色后,会更容易理解后续的一些测试点和操作,也可以从产品、技术等多个角度更加理性地分析和衡量Filecoin的系统设计。

3.3 Filecoin存储市场(神)

节点之所以具有多重身份和功能,主要得益于Filecoin系统中设计的市场机制。 在这样的机制中,需求者和提供者基于存储合约进行订单发现、协商(双向选择)和交易。

Filecoin中有一个类似于以太坊中智能合约的设计。 该作品被定义为演员。 Actor 是一个链上对象,在编程方面有自己的状态和技能集。 该对象将被矿工、账户、存储市场等多个角色继承。

没错,存储市场本身也是一个演员。 为了便于理解,可以将其比作比特币系统中的“上帝”(考虑到搜索市场不参与链上的区块生成)。

矿场游戏源码-【Filecoin源码仓库全解析】第三章(上):存储提供商(矿工)的配置操作

这是继承Actor后存储市场(大神)的socket实现的一部分:

type StorageMarket interface {
    
    //通过指定公钥和自定的抵押FIL金额以及libp2p所要连接的节点ID,来创建存储矿工角色
    CreateStorageMiner(pubk PublicKey, pledge BytesAmount, pid libp2p.PeerID) Address
    
    //检测到矿工存在作弊行为时,需要削减奖励
    SlashConsensusFault(blk1, blk2 BlockHeader)
    
    //在规定的时间内无法提供PoSt证明,抵押代币将被削减
    SlashStorageFault(miner Address)
    
    //动态更新当前存储市场参与者数据与总存储量等数据
    UpdateStorage(delta BytesAmount)
    
    //全网总算力计算
    GetTotalStorage() BytesAmount
}

3.4 成为存储矿工

成为存储矿工:

创建矿工ID

创建矿工身份并获取ID,需要承诺10个可以提供存储服务的磁道(扇区大小与测试网络环境有关,如下),

在【Filecoin源码仓库全解析】第一章:搭建Filecoin测试节点中,测试网络有多种类型:

测试网络的选择是在初始化时指定的,启动daemon进程时需要添加:

env FIL_USE_SMALL_SECTORS=true go-filecoin daemon

承诺一个可以提供存储服务的赛道后,需要抵押100FIL,设置消息的gas价格为0FIL/单位,限制1000个gas单位(类似以太坊的gas,合约功能的防死循环限制) 。

brew install jq
go-filecoin miner create 10 100 --price=0 --limit=1000 --peerid QmQ43XdtJAmSwZMA8QijJd4Zo1fT9YgsKevNbr158aAmif

矿场游戏源码-【Filecoin源码仓库全解析】第三章(上):存储提供商(矿工)的配置操作

这样设置的原因是:除了抵押之外,这不需要额外消耗FIL。

执行成功后,会等待一段时间。 该过程的持续时间取决于网络环境。 小编持续了大约12分钟:

之后,生成的矿机ID​​将返回给您,并且系统中C盘上的部分多余空间将被该程序虚拟为磁道空间。

开始挖矿过程

go-filecoin mining start

Filecoin区块链浏览器验证

我们可以登录:

:8000/

在Filecoin区块链浏览器中查询并验证我们的矿工Actor:

矿场游戏源码-【Filecoin源码仓库全解析】第三章(上):存储提供商(矿工)的配置操作

结束挖矿进程

go-filecoin mining stop

3.5 设置并发送询问订单

创建矿工身份后,我们可以初始化 Ask 订单配置。 开始挖矿后,Filecoin存储市场的用户可以根据网络上众多的Ask订单价格和矿工容量自由选择。

询问订单配置项:

我们通过命令行创建一个 Ask 订单并将其发送到区块链网络:

export MINER_ADDR=`go-filecoin config mining.minerAddress | tr -d "` 
export MINER_OWNER_ADDR=`go-filecoin miner owner $MINER_ADDR`
go-filecoin miner set-price --from=$MINER_OWNER_ADDR --miner=$MINER_ADDR --price=0 --limit=1000 0.0001 1000

如下所示:

获取akid和chain区块值后,等待区块同步一段时间(一般2分钟左右)。 我们可以通过以下表格确认我们的询问订单是否已更新:

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

您还可以仔细检查本地config.json中的storagePrice属性值是否已更新:

vim ~/.filecoin/config.json

目前,测试网络订单创建后的交易过程是自动化的。 同时,交易的用户当前在选择矿机时处于定向连接选择中,这并不像设计中的自由选择。 可以想象为:矿工需要在前期模拟多个身份节点,给自己喂数据进行测试。

整个“填充数据”的过程也非常重要。 在此期间,存储顺序会经历三种状态:

存储订单的成功交易将决定两个重要参数:Storage Power和Proven Storage,这两个参数直接关系到矿工后续参与区块生产的概率。

我们将在上一章《【Filecoin源码仓库全解析】第三章(下二):存储提供商(矿工)的配置操作》中重点介绍这个过程。

本章参考赞助品牌:

深圳市牛链科技有限公司是一家专业从事存储IPFS矿机研发、生产、销售和托管的高新技术企业。 目前的技术团队包括IPFS硬件技术开发、IPFS合约研究、IPFS底层程序开发、IPFS应用开发矿场游戏源码,并在成都设有专门的研发中心。 2018年,研发中心团队在研究IPFS底层合约的基础上开始搭建和运营IPFS高速网络系统矿场游戏源码,并积极开发基于IPFS的网络应用。 牛链科技的技术研发团队正在全力以赴研究Filecoin的运行机制,优化矿场配置。 作为区块链技术服务商,致力于为用户提供优质的信息技术服务。 牛链希望用技术驱动效率,为Filecoin的落地提供基础设施。

感谢深圳市牛联科技有限公司对家乐SOHO原创内容的支持。

收藏 (0) 打赏

感谢您的支持,我会继续努力的!

打开微信/支付宝扫一扫,即可进行扫码打赏哦,分享从这里开始,精彩与您同在
点赞 (0)

悟空资源网 游戏源码 矿场游戏源码-【Filecoin源码仓库全解析】第三章(上):存储提供商(矿工)的配置操作 https://www.wkzy.net/game/193218.html

常见问题

相关文章

官方客服团队

为您解决烦忧 - 24小时在线 专业服务