Linux基金會超級記賬本開發框架和工具
Linux基金會的Hyperledger超級記賬本是一個開源合作的跨行業的區塊鏈技術,包括金融,銀行,物聯網,工廠,科技等行業的領軍者如IBM, Intel, Huawei, Baidu, Tencent, CISCO, Xiaomi等大小公司都是其組織會員。
官網有不少的區塊鏈框架和工具,如果第一次接觸不好選擇,讓我們快速的過一遍。
1.區塊鏈開發框架
1.1 Hyperledger Burrow
狀態 |
Github Star |
開發語言 |
活躍度 |
文件 |
孵化中 |
520 |
Go |
較高 |
一般 |
Burrow是初創公司monax.io捐獻,Intel贊助的之智慧合同應用引擎。部署為Ethereum 以太坊的智慧合同節點,可以執行Permissioned EVM虛擬機器上的智慧合同。智慧合同使用Solidity編寫,可提供交易的最終性, 使用PoS(Proof of Stake)的Tendermint共識引擎實現高的吞吐量。也提供了API閘道器, 暴露為REST和JSON-RPC服務,感覺小巧且便於與其它系統整合。
如果涉及到以太坊的定製開發,Burrow應該是個選擇。
1.2 Hyperledger Fabric
狀態 |
Github Star |
開發語言 |
活躍度 |
文件 |
可用 |
6726 |
Go |
較高 |
較好 |
Fabric是一個分散式的記賬本平臺,旨在提供元件可插拔,可伸縮和易於擴充套件的設計架構。Fabric應該當今商用度,成熟度最高的區塊鏈解決方案之一,國內很多公司都是基於Fabric定製自己的區塊鏈業務平臺,更多資訊可關注筆者公眾號。
1.3 Hyperledger Indy
狀態 |
Github Star |
開發語言 |
活躍度 |
文件 |
孵化中 |
252 |
Python |
較高 |
一般 |
Indy是分散式記賬本,應該是Sovrin基金會捐獻,旨在提供去中心化的身份憑證服務,使用區塊鏈技術加密和交換身份憑證,保障安全。
具體的場景請參考白皮書https://sovrin.org/wp-content/uploads/2018/03/Sovrin-Protocol-and-Token-White-Paper.pdf
更多可能作為一個元件和現實系統整合。
1.4 Hyperledger Iroha
狀態 |
Github Star |
開發語言 |
活躍度 |
文件 |
可用 |
923 |
C++ |
一般 |
較好 |
Iroha是C++實現的區塊鏈平臺,實現Yet Anothe BFT共識演算法,和排序服務。
許可權設計基於角色或授權許可權,區塊使用檔案儲存,狀態使用PostgreSQL資料庫儲存。
Iroha是 Soramitsu, Hitachi, NTT Data 和Colu公司捐獻的。
估計推廣一般,不過畢竟是可用,是C++實現的區塊鏈的一個選擇。
1.5 Hyperledger Sawtooth
狀態 |
Github Star |
開發語言 |
活躍度 |
文件 |
可用 |
1001 |
Rust |
較高 |
較好 |
Sawtooth是一個企業級的分散式記賬本,應該是Intel捐獻的, 一些特色是:
- 應用和核心繫統的隔離,Sawtooth提供了智慧合同的抽象,應用的開發者選擇各自語言開發合同的邏輯。
- 支援私有網路,叢集種的節點可以單獨配置採訪權限。
- 並行執行交易,Sawtooth有個排程器把交易分割為並行的流程,隔離開每個交易的執行。
- 訊息訂閱
- Seth子專案相容乙太網智慧合同
- 可插拔的共識演算法
當前主要支援Proof of Elapsed Time (PoET)時間消失證明,它依賴於安全可信任的軟硬體環境(Intel的自身的CPU應該是沒問題),應該就是使用安全的CPU指令保證leader的安全和隨機,優於那些PoW等proof演算法的能量損耗。
還支援Raft等共識演算法。
- Sawtooth的資料模型和交易語言使用不同的Transaction Family實現, 即可實現擴充套件,例如子系統的Sabre Transaction Family是支援WebAssembly virtual machine上執行的智慧合同, Supply Chain Transaction Family是支援用於跟蹤商品。
Sawtooth是一個完整的企業級區塊鏈平臺,熱度第二的框架,也是值得研究的。順路說下Rust, 除了火狐瀏覽器沒想到又添多案例,對rust有期待,不過筆者是給Rust的borrow checker打敗了。
2. 開發工具
2.1 Hyperledger Caliper
孵化中,用於測試區塊鏈的效能,指標例如TPS, 傳輸延時,資源使用率等,華為捐獻的。客觀的說華為的BCS平臺是可以的,做了很多自動化運維,部署的工具。
2.2 Hyperledger Cello
孵化中,定位於Fabric區塊鏈網路的自動化運維平臺,例如建立,編輯,刪除主機,區塊鏈網路,部署鏈碼,查詢呼叫鏈碼等功能。 不過筆者需要吐槽下,可能Fabric版本迭代快,實際上Cello還類似個beta版跟不上,一堆的bug,沒有完整的BAAS平臺,指令碼維護靠譜些。
不過Cello定位很重要,Fabric部署是有些麻煩,自動化運維平臺對於Fabric推廣和維護必不可少。
2.3 Hyperledger Composer
孵化中,鏈碼開發基礎提到過的另外一種開發模式,IBM主導,推薦Mac和Ubuntu執行,類似solidity, 用javascript語法,定義資源,參與者,交易,把鏈碼邏輯可暴露為REST服務, Fabric底層, 實際一些配置還是得繞回Fabric, 開發可能相對方便些,運維的話又要多了composer相關的配置,直接用Fabric可能簡單些。
2.4 Hyperledger Explorer
孵化中,Web系統,用於瀏覽,呼叫,部署或查詢區塊鏈網路的資料,交易,網路,節點等資訊。
2.5 Hyperledger Quilt
Quilt提供Interledger 協議(ILP), 一種支付協議,在分散式對賬本系統和非對賬本系統進行轉錢服務,日本NTT Data公司提供,去中心化的支付協議,可以去研究下。
雖然比特幣出來十年,但是區塊鏈正剛起步,有興趣的同學可以繼續關注我們的公眾號。