摘要:我們會在后面的源碼倉庫全解析第三章下存儲提供方礦工的配置操作章節(jié)重點(diǎn)介紹這個(gè)過程。參考文獻(xiàn)本章贊助品牌深圳牛鏈科技有限公司,是一家專注存儲類礦機(jī)研發(fā)生產(chǎn)銷售托管為一體的高科技企業(yè)。感謝深圳牛鏈科技有限公司對嘉樂的原創(chuàng)內(nèi)容提供支持。
歡迎大家來到第三章,經(jīng)過 前章《【Filecoin源碼倉庫全解析】第二章:如何創(chuàng)建賬戶錢包并獲取FIL Mock代幣的內(nèi)容閱讀后,我們應(yīng)該能順利在Filecoin系統(tǒng)中創(chuàng)建自己的賬戶錢包,并獲取參與測試的FIL Mock代幣了,本章,我們將配置自身節(jié)點(diǎn)角色,成為存儲提供方(礦工),參與挖礦。
第三章部分內(nèi)容和數(shù)據(jù)來源于星際大陸(IPFSMAIN)詹總的私下交流,感謝星際大陸(IPFSMAIN)團(tuán)隊(duì)在此方面投入的機(jī)器資源成本和分享。
由于這塊周邊內(nèi)容比較多,因此拆為上下篇兩部分來介紹。
3.1 前章問題補(bǔ)充這幾天后臺收到了不少朋友的建議和求助,在linux環(huán)境上編譯go-filecoin源碼和安裝遇到了大量的問題。
別著急,別沮喪,畢竟juanbenet(協(xié)議實(shí)驗(yàn)室創(chuàng)始人)本人配置的過程也都不是一帆風(fēng)順:
好消息是,晨霧科技團(tuán)隊(duì)為大家拉取了最新的源碼,針對不是macOS的用戶,編譯好了一份目前(2月19日)最新的filecoin-Linux.tar.gz release包(內(nèi)涵彩蛋,歡迎體驗(yàn)),免去了編譯環(huán)節(jié)的繁瑣步驟,下載渠道如下。
下載地址:晨霧科技(mornmist.tech)linux版:https://github.com/mornmist/Filecoin-For-Chinese/releases/tag/0.0.2
3.2 身份與職能在第二章中,我們通過區(qū)分各個(gè)ID的概念知道了Filecoin體系中節(jié)點(diǎn)所扮演的兩重角色,四重身份。
而Filecoin作為一個(gè)去中心化的存儲解決方案,對比目前成熟的中心化存儲解決方案,這幾種身份的職能可以類比為:
存儲礦工(Storage miners):比較像傳統(tǒng)互聯(lián)網(wǎng)中,負(fù)責(zé)專門存儲數(shù)據(jù)的Web服務(wù)器
檢索礦工(Retrieval miners):比較像內(nèi)容分發(fā)網(wǎng)絡(luò)CDN的作用,負(fù)責(zé)檢索抓取數(shù)據(jù),服務(wù)于存儲需求方用戶。
存儲客戶(Storage clients):想存儲數(shù)據(jù)的需求方用戶。
檢索客戶(Retrieval clients):想檢索數(shù)據(jù)的
需求方用戶。
Filecoin體系中的節(jié)點(diǎn)同時(shí)具備這四重身份,并且集其身份所對應(yīng)的功能于一身,在整個(gè)網(wǎng)絡(luò)中發(fā)揮著對應(yīng)的職能。這也是區(qū)塊鏈網(wǎng)絡(luò)區(qū)別于傳統(tǒng)互聯(lián)網(wǎng)的精髓之處。大家清楚了節(jié)點(diǎn)所承載的角色之后,會更加好理解后續(xù)的一些測試點(diǎn)和操作,也能同時(shí)從產(chǎn)品、技術(shù)等多個(gè)角度,更加理性地去分析和評判Filecoin的系統(tǒng)設(shè)計(jì)。
3.3 Filecoin存儲市場(上帝)節(jié)點(diǎn)之所以有多重身份與職能,主要是源于Filecoin體系中設(shè)計(jì)的市場機(jī)制。在這樣的一個(gè)機(jī)制中,需求者和提供者基于存儲合約(storage contracts)進(jìn)行訂單的發(fā)現(xiàn)、協(xié)商(雙向選擇)和交易。
Filecoin中存在與以太坊中智能合約比較相似的設(shè)計(jì),這塊被定義為Actor,Actor在程序設(shè)計(jì)上是一個(gè)具有自己狀態(tài)和方法集的鏈上對象。這個(gè)對象將被礦工、賬戶、存儲市場 等多角色所繼承。
沒錯(cuò),存儲市場(storage market)本身也是一個(gè)Actor。 為方便理解,可以類比為比特幣系統(tǒng)中的 “上帝” (考慮到檢索市場并不參與鏈上出塊)。
這是繼承Actor后,存儲市場(上帝)的部分接口實(shí)現(xiàn):
type StorageMarket interface { //通過指定公鑰和自定的抵押FIL金額以及l(fā)ibp2p所要連接的節(jié)點(diǎn)ID,來創(chuàng)建存儲礦工角色 CreateStorageMiner(pubk PublicKey, pledge BytesAmount, pid libp2p.PeerID) Address //檢測到礦工存在作弊行為時(shí),需要削減獎(jiǎng)勵(lì) SlashConsensusFault(blk1, blk2 BlockHeader) //在規(guī)定的時(shí)間內(nèi)無法提供PoSt證明,抵押代幣將被削減 SlashStorageFault(miner Address) //動(dòng)態(tài)更新當(dāng)前存儲市場參與者數(shù)據(jù)與總存儲量等數(shù)據(jù) UpdateStorage(delta BytesAmount) //全網(wǎng)總算力計(jì)算 GetTotalStorage() BytesAmount }3.4 成為一名存儲礦工
成為存儲礦工:
意味著默認(rèn)接受Filecoin存儲市場Actor的規(guī)則,進(jìn)行挖礦行為。即 Code is law。
意味著將是推動(dòng)Filecoin網(wǎng)絡(luò)共識處理流程的積極參與者,也是期望共識(EC)的區(qū)塊提議者。
意味著隨時(shí)在線,等待接受客戶的存儲訂單,并提供存儲服務(wù),并密封扇區(qū)數(shù)據(jù),賺取FIL。
意味著應(yīng)該不斷地執(zhí)行時(shí)空證明(PoSt),以證明能否參與出塊競選。
還意味著,你規(guī)規(guī)矩矩地做了這么多事情后,到頭來!!!真得能得到Filecoin存儲市場Actor(上帝)所分配的額外出塊獎(jiǎng)勵(lì)。
創(chuàng)建礦工ID創(chuàng)建礦工身份,獲取ID,需要承諾能提供存儲服務(wù)的10個(gè)扇區(qū)(扇區(qū)大小和測試網(wǎng)絡(luò)環(huán)境相關(guān),如下),
在【Filecoin源碼倉庫全解析】第一章:搭建Filecoin測試節(jié)點(diǎn)中,測試網(wǎng)絡(luò)有多種類型:
devnet-user :針對普通用戶,扇區(qū)(SECTORS)為256MiB
devnet-nightly :針對開發(fā)者用戶,扇區(qū)(SECTORS)為1KiB,可節(jié)約封閉扇區(qū)耗時(shí),便于測試。
測試網(wǎng)絡(luò)的選擇,在初始化的時(shí)候指定,并在啟動(dòng)daemon過程時(shí),需要加上:
env FIL_USE_SMALL_SECTORS=true go-filecoin daemon
承諾能提供存儲服務(wù)的扇區(qū)之后,需要抵押100FIL,設(shè)置消息的gas price為0FIL/unit,限制1000 gas units(和以太坊的gas類似,合約函數(shù)的防死循環(huán)限制)。
brew install jq go-filecoin miner create 10 100 --price=0 --limit=1000 --peerid QmQ43XdtJAmSwZMA8QijJd4Zo1fT9YgsKevNbr158aAmif
這樣的設(shè)置緣由是:除了抵押之外,這樣不需要額外花費(fèi)FIL。
執(zhí)行成功后,將等待一段時(shí)間,此過程耗時(shí)取決于網(wǎng)絡(luò)環(huán)境,小編耗時(shí)12分鐘左右:
之后,會返回給你生成好的礦工ID,并且系統(tǒng)中多出了一部分的磁盤空間被此程序虛擬化成扇區(qū)空間。
啟動(dòng)挖礦進(jìn)程go-filecoin mining startFilecoin區(qū)塊鏈瀏覽器驗(yàn)證
我們可以登錄:
http://nightly.kittyhawk.wtf:8000/
在Filecoin區(qū)塊鏈瀏覽器中查詢驗(yàn)證我們的礦工Actor:
結(jié)束挖礦進(jìn)程go-filecoin mining stop3.5 設(shè)置并發(fā)送Ask訂單
在創(chuàng)建好礦工身份之后,我們可以初始化一個(gè)Ask訂單配置,啟動(dòng)挖礦進(jìn)程后,F(xiàn)ilecoin存儲市場中的用戶,可以根據(jù)網(wǎng)絡(luò)中礦工們的眾多Ask訂單價(jià)格和容量來自由選擇。
Ask訂單配置項(xiàng):
礦工worker地址
礦工owner地址
FIL/byte/block的單價(jià)
適用于此后多少個(gè)區(qū)塊生成的時(shí)間
gas單次燃燒所需的FIL費(fèi)用值(參考以太坊)
gas limit總數(shù)(參考以太坊)
我們通過命令行來創(chuàng)建一個(gè)Ask訂單,并發(fā)送至區(qū)塊鏈網(wǎng)絡(luò):
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
如下圖所示:
拿到askid和chain block值后,等待區(qū)塊同步一會(一般2分鐘左右),我們可以通過如下方式,確認(rèn)我們的Ask訂單是否更新完成:
go-filecoin client list-asks --enc=json | jq
也可以double check一下本地的config.json中的storagePrice屬性值是否已經(jīng)更新:
vim ~/.filecoin/config.json
目前測試網(wǎng)在創(chuàng)建完成訂單后的交易過程是自動(dòng)化的,同時(shí)交易的用戶方目前在選擇礦工時(shí),是處于定向連接選擇,并不像如設(shè)計(jì)方案中的自由選擇, 可以想象為:礦工需要在早期自己模擬多個(gè)身份節(jié)點(diǎn),自己給自己灌數(shù)據(jù)來測試。
“灌數(shù)據(jù)“的整個(gè)過程也非常重要,在此期間,存儲訂單會經(jīng)歷三種狀態(tài):
第一種是接收訂單后,accepted
第二種是密封過程中,staged
第三種是posted,達(dá)到posted,說明成功了
存儲訂單的交易成功,將會決定存儲算力Storage Power和Proven Storage這兩個(gè)重要的參數(shù),這與礦工后續(xù)參與出塊的權(quán)益概率直接掛鉤。
我們會在后面的《【Filecoin源碼倉庫全解析】第三章(下):存儲提供方(礦工)的配置操作》章節(jié)重點(diǎn)介紹這個(gè)過程。
參考文獻(xiàn)https://github.com/filecoin-p...
https://github.com/filecoin-p...
本章贊助品牌:深圳牛鏈科技有限公司 ,是一家專注存儲類IPFS礦機(jī)研發(fā)、生產(chǎn)、銷售、托管為一體的高科技企業(yè)。 目前技術(shù)團(tuán)隊(duì)包括IPFS硬件技術(shù)研發(fā),IPFS協(xié)議研究,IPFS底層程序開發(fā),IPFS應(yīng)用程序研發(fā),并在成都專門成立研發(fā)中心。2018年,研發(fā)中心團(tuán)隊(duì)在研究IPFS底層協(xié)議的基礎(chǔ)上,開始搭建并運(yùn)營IPFS高速網(wǎng)絡(luò)系統(tǒng),并正積極研發(fā)基于IPFS的網(wǎng)絡(luò)應(yīng)用。牛鏈科技的技術(shù)研發(fā)團(tuán)隊(duì)全力以赴研究Filecoin的運(yùn)行機(jī)制,優(yōu)化礦場配置,作為一家區(qū)塊鏈技術(shù)服務(wù)提供商,致力于為廣大用戶提供優(yōu)質(zhì)的信息技術(shù)服務(wù)。牛鏈希望以技術(shù)驅(qū)動(dòng)效率,為Filecoin落地提供基礎(chǔ)設(shè)施。
感謝 深圳牛鏈科技有限公司 對嘉樂SOHO的原創(chuàng)內(nèi)容提供支持。
聯(lián)系作者:深夜寫作,不免有不足之處,歡迎指正和更多討論,可私信微信公眾號:jialesoho,或者加我微信:daijiale6239,如果覺得對您有幫助,可以幫點(diǎn)擊好看推廣和打賞支持噢,感激不盡!
(識別圖中二維碼,關(guān)注嘉樂SOHO微信公眾號)
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://specialneedsforspecialkids.com/yun/24589.html
摘要:我們將在下一章源碼倉庫全解析第四章下存儲需求方的配置操作中重點(diǎn)介紹存儲需求方用戶的配置操作,并反過來驗(yàn)證第三章中存儲礦工后續(xù)挖取新塊的過程,幫助大家融會貫通,并在工程上驗(yàn)證整個(gè)挖礦行為的生命周期。目前已成為華中區(qū)最大最具影響力的垂直媒體。 不好意思,這篇加了點(diǎn)八卦: 本來是不太想說這事的,從18年看到現(xiàn)在,不少見圈里的朋友和友商互相吐槽乃至攻擊...最近還鬧得比較大。這里說兩句:區(qū)塊鏈...
摘要:之后,存儲端礦工節(jié)點(diǎn)會在一定時(shí)間間隔可配置,默認(rèn)為秒自動(dòng)啟動(dòng)密封過程,即獲取之前微支付通道中暫存區(qū)域的所有數(shù)據(jù),并將其密封到礦工的承諾存儲區(qū)域中。 歡迎大家來到第四章,經(jīng)過前章 【Filecoin源碼倉庫全解析】第三章(下):存儲提供方(礦工)的配置操作的內(nèi)容閱讀后,我們應(yīng)該會對Filecoin市場機(jī)制中的礦工對象有了更詳細(xì)的認(rèn)知,對礦工事務(wù)的生命周期有了具象化地理解。 本章,我們將重...
摘要:我們將在本章介紹如何在一臺機(jī)器上構(gòu)建多節(jié)點(diǎn)的方案和未來礦池產(chǎn)品設(shè)計(jì)的一些思路。本文將介紹一種直接在單機(jī)上部署和管理多節(jié)點(diǎn)的方案。最初起源于比特幣。 歡迎大家來到第六章,經(jīng)過前章《【Filecoin源碼倉庫全解析】第五章:檢索市場及檢索礦工》的介紹,無論從定位職能,還是從設(shè)計(jì)原理,還是從工程操作角度,我們應(yīng)該對目前的Filecoin檢索市場有了更加深入的了解。 我們將在本章介紹如何在一臺...
摘要:如上圖,驗(yàn)證過程可以表述為驗(yàn)證者會按照一定的規(guī)則向礦工提起挑戰(zhàn),挑戰(zhàn)是隨機(jī)生成的,礦工不能提前獲知。三時(shí)空證明如圖所示,可以理解為礦工一定時(shí)間內(nèi)持續(xù)地生成復(fù)制證明和接受挑戰(zhàn)和驗(yàn)證的過程,并通過這個(gè)過程,更新全網(wǎng)存儲算力。 歡迎大家來到第七章,經(jīng)過前章《【Filecoin源碼倉庫全解析】第六章:如何單機(jī)部署多節(jié)點(diǎn)集群及礦池設(shè)計(jì)思路》的介紹,我們分享了如何在單機(jī)部署多節(jié)點(diǎn)集群的知識以及礦池...
摘要:情人節(jié),項(xiàng)目開放了核心源碼倉庫,并更新了下的諸多核心成果,這意味著,已然度過了最困難的難點(diǎn)攻關(guān)期,進(jìn)入到了全民公測階段。年月日,開源了核心源碼庫,開啟全民公測階段。 2019.2.14 情人節(jié),F(xiàn)ilecoin項(xiàng)目開放了核心源碼倉庫go-filecoin,并更新了 filecoin-project organization下的諸多核心成果,這意味著,F(xiàn)ilecoin已然度過了最困難的難...
閱讀 2201·2021-11-22 11:56
閱讀 2647·2021-10-08 10:05
閱讀 7772·2021-09-22 15:53
閱讀 1910·2021-09-22 15:29
閱讀 2234·2021-09-08 09:35
閱讀 3353·2021-09-07 10:12
閱讀 1379·2019-08-30 13:11
閱讀 1968·2019-08-28 17:54