摘要:情人節,項目開放了核心源碼倉庫,并更新了下的諸多核心成果,這意味著,已然度過了最困難的難點攻關期,進入到了全民公測階段。年月日,開源了核心源碼庫,開啟全民公測階段。
2019.2.14 情人節,Filecoin項目開放了核心源碼倉庫go-filecoin,并更新了 filecoin-project organization下的諸多核心成果,這意味著,Filecoin已然度過了最困難的難點攻關期,進入到了全民公測階段。
本系列文章將協助大家對源碼倉庫進行全解析,幫助大家系統地學習和了解Filecoin這個項目,發現新的機遇和商機,小編將在這段時間密切關注Filecoin動態,和大家一起度過Filecoin全民公測階段。
章節目錄前言
Filecoin里程碑
第一章:搭建Filecoin測試節點
第二章:如何創建錢包,獲取FIL Mock代幣
第三章:存儲提供方(礦工)的配置操作
第四章:存儲需求方的配置操作
第五章:如何讓自己的節點加入測試網絡
第六章:如何組建多節點礦工集群("礦池")
第七章:如何參與復制證明游戲測試
第八章:Filecoin Organization介紹
More
Filecoin 里程碑(萬事開頭難,一起追溯和回顧一下Filecoin的革命歷程)
2015年7月15日,Filecoin發布了第一版白皮書:
《Filecoin: A Cryptocurrency Operated File Storage Network》
2016年,Juan Benet首次對外發布Filecoin主題演講,向大眾宣告:IPFS準備添加一個名為Filecoin,基于區塊鏈的貨幣層,以激勵IPFS網絡上的數據存儲。
2017年7月19號,Filecoin發布了第二版白皮書:《Filecoin: A Decentralized Storage Network》。
2017年8月-9月,Filecoin發布了SAFT協議,開始在Coinlist上發起眾籌,吸引來自50個國家的2100+投資人參與,成功募集2.57億美金,并承諾于2022年之前完成此項目。
2018年8月,Filecoin在Lab Day技術日,發布了Demo和測試網絡模擬器演示,并向大眾開放Github之上的filecoin-project organization。
2019年2月14日,filecoin-project organization開源了核心源碼庫:go-filecoin,開啟全民公測階段。
未來,更多期待...
第一章 搭建Filecoin測試節點本章我們將一步一步,嘗試在自己的macOS和Linux服務器上搭建Filecoin測試節點,小編的實戰操作系統環境如下:
Darwin daijialedeMBP.lan 17.4.0 Darwin Kernel Version 17.4.0: Sun Dec 17 09:19:54 PST 2017; root:xnu-4570.41.2~1/RELEASE_X86_64 x86_641.1 準備環境依賴
在安裝和配置go-filecoin的測試節點之前,需要做的準備工作比較繁多,相對復雜,因為小編機器采用的是macOS,將使用homebrew包管理器來安裝語言環境。
1.1.1 golang安裝為啥安裝就不解釋了...
# 需要安裝大于v1.11.2版本的golang brew install go go version go1.11.2 darwin/amd64
設置GOPATH,由于小編采用的是zsh,而非macOS自帶的bash,所以環境變量設置在.zshrc中:
vim ~/.zshrc
編輯.zshrc,添加如下圖所示內容:
記得重啟終端,新的環境變量GOPATH才會生效
1.1.2 rust安裝Filecoin的復制證明工程實現,基本都是使用rust編寫的,為此,我們需要安裝rust環境:
# 需要安裝大于v1.31.0版本的rust/Cargo brew install rustc rustc -V rustc 1.32.0 cargo -V cargo 1.32.01.1.3 pkg-config安裝
處理編譯go-filecoin產生的linker flags
brew install pkg-config1.2 安裝配置go-filecoin
這里,將介紹兩種release安裝包的獲得方式,一種是通過源碼進行自編譯,另一種是下載官方發布的release安裝包,兩種方式各有利弊,小編都實測了一下。
1.2.1 自編譯release安裝包可以重構go-filecoin相關源碼,定制自己專屬的go-filecoin binary release包,方便大伙們來炫技、PR、以及裝B。
好處:可自定義的源碼編譯環節。
壞處:編譯準備環節比較復雜,需要較強的Debug和運維能力,同時編譯耗時長,對機器CPU性能要求更高。
下載go-filecoin源碼倉庫mkdir -p ${GOPATH}/src/github.com/filecoin-project git clone git@github.com:filecoin-project/go-filecoin.git ${GOPATH}/src/github.com/filecoin-project/go-filecoin
熟悉go語言的朋友肯定不會陌生,源碼路徑習慣統一維護在${GOPATH}的src下,協議實驗室也是提倡大家遵守這樣的開發規范。
檢查并更新gcc/Clang版本go-filecoin在構建時需要引用到cgo-compatible rust-proofs library 證明依賴,因此需要c編譯器支持,比較常見的c編譯器工具有:gcc/clang,下面分別介紹兩個工具的配置:
Clang
macOS用戶如果安裝過xcode,默認應該是高版本的clang配置,小編機器的Clang配置如下:
如圖所示,Clang-902.0.39.1版本,是符合接下來的編譯需求的。
gcc
gcc需要v7.4.0的高版本支持,以及指定特殊系統變量$CC
brew install gcc-7 export CC=gcc-7安裝gx包管理工具
gx需要多帶帶介紹一下,這是一個很有意思的golang包管理工具,其管理的所有依賴庫都存儲于IPFS網絡之中,由協議實驗室的核心工程師whyrusleeping所創造,并靈活運用于協議實驗室的各個代碼庫之中,而go-filecoin的依賴安裝也離不開gx:
go get -u github.com/whyrusleeping/gx gx version
設置了GOPATH,gx是能被識別為全局環境變量的,否則無法進行后續依賴安裝。
安裝依賴并編譯源碼cd ${GOPATH}/src/github.com/filecoin-project/go-filecoin FILECOIN_USE_PRECOMPILED_RUST_PROOFS=true go run ./build/*.go deps
提示:此過程比較漫長,小編機器跑了44分鐘多,且CPU過熱導致風扇不停,大家可以看一下自己機器的情況....
構建、安裝、測試自編譯包洗了個澡、泡了杯茶,刷了會抖音...
45分鐘過去了:
嗯...終于看到了安裝并編譯好的半成品...
別急,release成品就快了:
# 構建release包 go run ./build/*.go build # 安裝go-filecoin至${GOPATH}/bin目錄下 go run ./build/*.go install # 單元測試 go run ./build/*.go test1.2.2 獲取官方release安裝包
如上圖所示,可以在https://github.com/filecoin-project/go-filecoin/releases中直接下載官方于2019年2月11日發布的0.0.1版本,將安裝包解壓至{$gopath}/bin目錄下。
好處:繞過了復雜和漫長的源碼編譯環節。
壞處:由于官方代碼倉庫在頻繁更新,無法獲取最新的代碼包,實時性滯后。
PS:好奇官方為啥不配置個自動化持續集成...我也是無語了
1.3 驗證安裝經過1.2節操作后,全局運行go-filecoin -help,出現如下圖菜單欄,說明節點已經成功安裝。
1.4 初始化節點測試網絡有多種類型:
devnet-user 針對普通用戶
devnet-nightly 針對開發者用戶
我們在初始化的時候,可以按照需求,指定flag:
go-filecoin init --devnet-user --genesisfile=http://user.kittyhawk.wtf:8020/genesis.car1.5 運行Filecoin節點
如下圖所示,完成初始化操作后,即可正式啟動并運行我們的Filecoin測試節點了:
go-filecoin daemon
Filecoin發現節點的過程是遵循著gossip協議,逐漸向外發散,我們可以通過go-filecoin swarm peers 來查看所連接對等方的信息和過程。
PS: 存在一些網絡連接的錯誤日志,看來NAT的問題依然存在,測試網并未在libp2p上針對多層NAT進行方案解決升級。
1.6 為節點定義專屬昵稱與IPFS不一樣,Filecoin考慮到了以Qm..開頭的冗長NodeID并不好記憶,這里加了一些比較人性化的設計,即,可以為自己的節點創建專屬昵稱(nickname),不過僅限字符串:
#設置 go-filecoin config heartbeat.nickname "jialesoho" #核對 go-filecoin config heartbeat.nickname1.7 節點與網絡的可視化監控
設置節點心跳配置,與Filecoin網絡監控建立連接:
go-filecoin config heartbeat.beatTarget "/dns4/stats-infra.kittyhawk.wtf/tcp/8080/ipfs/QmUWmZnpZb6xFryNDeNU7KcJ1Af5oHy7fB9npU67sseEjR"
如下圖所示,登錄可視化控制臺,https://stats.kittyhawk.wtf/,可查看Filecoin測試網(devnet)狀態以及個人節點信息:
如圖所示,剛剛我們自定義命名的Filecoin節點——jialesoho,已經被點亮在Filecoin的全網可視化監控面板中,除此之外,可視化控制臺還有許多全網的交易數據,吞吐量,區塊信息可供我們查閱和分析...
至此,我們應該可以通過《【Filecoin源碼倉庫全解析】第一章:搭建Filecoin測試節點》的學習,順利搭建并測試自己的Filecoin節點了,期望幫正在電腦前研究Filecoin源碼倉庫的你,少走彎路!
下一章,我們將介紹《【Filecoin源碼倉庫全解析】第二章:如何創建個人錢包,獲取FIL Mock代幣》
參考文獻:go-filecoin | github
本系列文章贊助合作招募:本系列文章預計10+篇,歡迎感興趣的朋友參與,同時將開放贊助渠道,你們的贊助和打賞是支持我業余時間持續寫作的動力,我也將盡自己所能,最大化地為閱讀者和相關創業公司品牌帶來幫助和權益, 具體如下:
品牌和贊助商所享受權益文尾品牌Logo展示
一條品牌的推薦語
公眾號文章轉載權限
為平衡用戶體驗,每篇僅限1家
個人知乎、公眾號、簡書、頭條號等多渠道投放
參與方式私信我即可,聯系方式已在上方聯系讀者處給出。
示例星鑒網 是一家專注于IPFS生態的垂直媒體,集信息傳播,技術推廣,應用孵化于一身;感謝星鑒網(ipfsfirst.com)對嘉樂SOHO原創內容的支持。
聯系作者:深夜寫作,不免有不足之處,歡迎指正和更多討論,可私信微信公眾號:jialesoho,或者加我微信:daijiale6239,如果覺得對您有幫助,可以幫點擊好看推廣和打賞支持噢,感激不盡!
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/24568.html
摘要:之后,存儲端礦工節點會在一定時間間隔可配置,默認為秒自動啟動密封過程,即獲取之前微支付通道中暫存區域的所有數據,并將其密封到礦工的承諾存儲區域中。 歡迎大家來到第四章,經過前章 【Filecoin源碼倉庫全解析】第三章(下):存儲提供方(礦工)的配置操作的內容閱讀后,我們應該會對Filecoin市場機制中的礦工對象有了更詳細的認知,對礦工事務的生命周期有了具象化地理解。 本章,我們將重...
摘要:我們將在本章介紹如何在一臺機器上構建多節點的方案和未來礦池產品設計的一些思路。本文將介紹一種直接在單機上部署和管理多節點的方案。最初起源于比特幣。 歡迎大家來到第六章,經過前章《【Filecoin源碼倉庫全解析】第五章:檢索市場及檢索礦工》的介紹,無論從定位職能,還是從設計原理,還是從工程操作角度,我們應該對目前的Filecoin檢索市場有了更加深入的了解。 我們將在本章介紹如何在一臺...
摘要:我們會在后面的源碼倉庫全解析第三章下存儲提供方礦工的配置操作章節重點介紹這個過程。參考文獻本章贊助品牌深圳牛鏈科技有限公司,是一家專注存儲類礦機研發生產銷售托管為一體的高科技企業。感謝深圳牛鏈科技有限公司對嘉樂的原創內容提供支持。 歡迎大家來到第三章,經過 前章《【Filecoin源碼倉庫全解析】第二章:如何創建賬戶錢包并獲取FIL Mock代幣的內容閱讀后,我們應該能順利在Filec...
摘要:如上圖,驗證過程可以表述為驗證者會按照一定的規則向礦工提起挑戰,挑戰是隨機生成的,礦工不能提前獲知。三時空證明如圖所示,可以理解為礦工一定時間內持續地生成復制證明和接受挑戰和驗證的過程,并通過這個過程,更新全網存儲算力。 歡迎大家來到第七章,經過前章《【Filecoin源碼倉庫全解析】第六章:如何單機部署多節點集群及礦池設計思路》的介紹,我們分享了如何在單機部署多節點集群的知識以及礦池...
摘要:我們將在下一章源碼倉庫全解析第四章下存儲需求方的配置操作中重點介紹存儲需求方用戶的配置操作,并反過來驗證第三章中存儲礦工后續挖取新塊的過程,幫助大家融會貫通,并在工程上驗證整個挖礦行為的生命周期。目前已成為華中區最大最具影響力的垂直媒體。 不好意思,這篇加了點八卦: 本來是不太想說這事的,從18年看到現在,不少見圈里的朋友和友商互相吐槽乃至攻擊...最近還鬧得比較大。這里說兩句:區塊鏈...
閱讀 1605·2021-09-23 11:31
閱讀 919·2021-09-23 11:22
閱讀 1336·2021-09-22 15:41
閱讀 4061·2021-09-03 10:28
閱讀 2906·2019-08-30 15:55
閱讀 3536·2019-08-30 15:55
閱讀 1938·2019-08-30 15:44
閱讀 2712·2019-08-30 13:50