木星链 木星链
Ctrl+D收藏木星链

ENT:精通 Filecoin:Lotus 真实数据处理之 Client 初始化

作者:

时间:1900/1/1 0:00:00

前言

随着Filecoin/Lotus公链越来越接近启动,真实数据的处理也越来越重要了。根据官方的设计,真实数据的有效算力是自填自挖算力的10倍,鉴于真实数据的比重是如此之在,从今天起,我们就来了聊下真实的相关处理情况,今天为本部分的第一篇。

当前情况下官方的机器人会给存储矿工发送经过验证的真实数据,未来随着基础设施的完善,也会有其他方式来发送真实数据,比如客户端自己指定某个矿工来发送数据。接下来我们从客户端开始来研究下Lotus是怎么处理真实数据。

当客户端要存储真实数据时,他会调用lotusclientdealdataCidminerIdpriceduration命令发送数据到指定的矿工。

正文

当Lotusdaemon接收到这个请求之后就开始了交易处理。Lotusdaemon会调用go-file-markets类库的StorageClient对象对交易进行处理。

ETH 2.0总质押数已超1715.91万:金色财经报道,数据显示,ETH 2.0 总质押数已超1715.91万,为17159139个,按当前市场价格, 价值约269.21亿美元。此外,目前ETH 2.0质押总地址数已超55.96万,为559609个。[2023/3/5 12:43:03]

因为StorageClient对象被LotusAPI对象所依赖,所以在启动Lotus的过程中,DI容器会调用StorageClient函数来创建它。

StorageClient函数流程如下:

调用NewFromLibp2pHost函数,生成StorageMarketNetwork对象。net?:=?smnet.NewFromLibp2pHost(h)

调用NewClient函数,生成Client对象。c,?err?:=?storageimpl.NewClient(net,?ibs,?dataTransfer,?discovery,?deals,?scn,?storageimpl.DealPollingInterval(time.Second))

数据:持有超过100枚以太坊的地址数量创近1个月新低:金色财经报道,Glassnode数据显示,持有超过100枚以太坊的地址数量为47,670个,创一个月以来新低。[2023/2/19 12:15:35]

scn即node对象,也是环境对象返回的节点对象,这个对象是ClientNodeAdapter对象由DI容器调用NewClientNodeAdapter函数而创建。

NewClient函数内容如下:

生成两个IO对象。carIO?:=?cario.NewCarIO()

pio?:=?pieceio.NewPieceIO(carIO,?bs)

生成Client对象。c?:=?&Client{

????net:?????????????net,

????dataTransfer:????dataTransfer,

欧易将于2月15日11:00 (HKT)正式上线BLUR杠杆交易、余币宝及永续合约:据官方公告显示,欧易将于2023年2月15日11:00 (HKT) 在网页端、APP端及API正式上线BLUR/USDT的杠杆交易、余币宝及BLURUSDT永续合约。

据悉,Blur是一个NFT交易市场和聚合器,为专业NFT交易者设计,支持快速扫货和批量上架等功能。[2023/2/14 12:06:27]

????bs:??????????????bs,

????pio:?????????????pio,

????discovery:???????discovery,

????node:????????????scn,

????pubSub:??????????pubsub.New(clientDispatcher),

BonqDAO攻击事件(0x9210F)黑客地址向Tornado Cash转入70枚ETH:金色财经报道,据CertiK监测,BonqDAO攻击事件黑客地址2 (0x9210F) 向Tornado Cash转入70枚ETH(约11.7万美元)。

目前0x9210F地址中仍有7.5枚ETH和价值约61.3万美元的ALBT。[2023/2/5 11:48:02]

????pollingInterval:?DefaultPollingInterval,

}

生成fsm状态组对象。statemachines,?err?:=?newClientStateMachine(

????ds,

????&clientDealEnvironment{c},

????c.dispatch,

)

c.statemachines?=?statemachines

fsm状态组对象使用的配置参数如下:return?fsm.New(ds,?fsm.Parameters{

????Environment:?????env,

????StateType:???????storagemarket.ClientDeal{},

????StateKeyField:???"State",

????Events:??????????clientstates.ClientEvents,

????StateEntryFuncs:?clientstates.ClientStateEntryFuncs,

????FinalityStates:??clientstates.ClientFinalityStates,

????Notifier:????????notifier,

})

环境对象为clientDealEnvironment。

状态对象为ClientDeal。

状态字段为State。

事件集合为ClientEvents,参考storagemarket/impl/clientstates/client_fsm.go文件。

状态处理函数集合为ClientStateEntryFuncs,状态机的状态处理器根据对应的状态获取到指定的函数进行处理。

终止状态集合为ClientFinalityStates。

通知对象为Client对象的dispatch方法。

使用配置选项,配置Client对象。c.Configure(options...)

设置数据传输监听对象。dataTransfer.SubscribeToEvents(dtutils.ClientDataTransferSubscriber(statemachines))

当传输结束、传输错误时会发送ClientEventDataTransferComplete、ClientEventDataTransferFailed等事件到fsm状态组。

返回Client对象。

在DI容器的OnStart钩子函数中调用Client对象的Start方法。Start方法调用自身的restartDeals方法开始进行重新交易。

返回Client对象。

标签:ENTLIENTATSTAENT币Alien SquidSTATstar币最新价格

酷币交易所热门资讯
COI:除了 Filecoin,Arweave 与 Crust 等分布式存储项目也值得你了解

转自:链闻作者:岚闻与IPFS侧重去中心化存储不同,Crust主打去中心化云服务,Arweave主打永久存储。有市无币的FIL一路高涨.

1900/1/1 0:00:00
以太坊:以太坊矿工收益创历史新高,ETH价格是否会进一步上涨?

据Decrypt7月31日报道,自2020年3月的低点以来,ETH的价格已经上涨超过了180%,但来自区块链的数据显示,这个全球第二大流行的数字资产可能还有进一步上涨的空间.

1900/1/1 0:00:00
王永利:“一本账”或是央行数字货币最可能实现的重要突破点

来源:经济观察报王永利/文“央行数字货币”或“法定数字货币”在国际国内不断升温,尽管尚未出现成功落地运行的案例,却争论颇多、竞争激烈.

1900/1/1 0:00:00
比特币:凉凉,股市吸走了币圈资金?

“一根大阳线改变信仰”。经历了魔幻2020年的上半年,7月份的股市突然大涨,令很多人都措手不及.

1900/1/1 0:00:00
PAL:外媒:PayPal将推出加密货币服务,或在本周正式宣布

7月20日消息,据外媒CoinDesk报道称,支付巨头PayPal已选择与Paxos加密经纪公司合作,即将推出自己的加密货币服务.

1900/1/1 0:00:00
以太坊:以太坊5周年了,最好的礼物会是它吗?

注:原文作者是Bankless分析师LucasCampbell。为了庆祝以太坊的5岁生日,我们做了一个有趣的实验.

1900/1/1 0:00:00