大多數人並不需要自己重新建立一套區塊鏈,而是基於現有的區塊鏈底層平台去開發自己的應用,對於類似密碼編譯演算法、 P2P技術、共識演算法等只需要有個基本瞭解就可以了,暫時不需要深入研究。在文本中,將介紹三種主流的區塊鏈底層平台:比特幣、以太坊和超級賬本Fabric,以及這些平台上的應用開發語言。 比特幣區塊鏈開發
最早的區塊鏈開發便是基於比特幣的區塊鏈網路進行開發了,由於比特幣是全球最廣泛使用和真正意義的去中心化應用,因此,圍繞比特幣的各種區塊鏈技術非常多,這裡不一一描述,只針對入門開發進行介紹。
基於比特幣的區塊鏈開發有兩種方式,一種相對比較簡單,基於Blockchain.info的API進行開發。Blockchain.info是比特幣的最流行的比特幣錢包和區塊查詢網站,同時也提供的比特幣及其區塊相關API。 Blockchain.info 提供了多種主流語言的API庫,包括了比特幣的錢包、支付、區塊、交易資料、市場資料等多方面的API。
安裝和使用Blockchain.info的API比較簡單,首先你的機器需要有NodeJS環境,在Blockchain.info的申請介面授權碼,安裝Blockchain Wallet API服務程式,就可以開始配置和測試Blockchain Wallet API服務程式了,要進一步開發,可以根據你的開發語言選擇安裝API的用戶端支援庫。
進一步的探索,可以採用Docker容器來快速安裝和配置私人節點的比特幣測試網路(bitcoin-testnet)作為開發實驗環境,這樣可以更深入瞭解、調試和使用比特幣區塊鏈網路。在Bitcoin的wiki網頁上面,提供很多種語言都可以調用Bitcoin的RPC,大家選擇適合自己的語言具體去實驗,當然,Elwin仍然推薦你使用NodeJS。
具體流程是下載比特幣測試網路的Docker鏡像,運行Docker鏡像並啟動比特幣測試網路,初始化和測試區塊鏈資料,當然為了測試少不了要先挖礦儲備一下。然後安裝相關開發語言的RPC支援庫後,就可以調試你的區塊鏈程式了。 以太坊區塊鏈開發
可以說除了比特幣外,以太坊目前在區塊鏈平台是最吸引眼球的。 以太坊是一個圖靈完備的區塊鏈一站式開發平台,採用多種程式設計語言實現協議,採用Go語言寫的用戶端作為預設用戶端(即與以太坊網路互動的方法, 支援其他多種語言的用戶端)。
基於以太坊平台之上的應用是智能合約,這是以太坊的核心。每個智能合約有一個唯一的地址,當使用者向合約的地址裡發送一筆交易後(這個時候就要消耗燃料費用,也就是手續約用),該合約就被啟用,然後根據交易中的額外資訊,合約會運行自身的代碼,最後返回一個結果。以太坊社區把基於智能合約的應用稱為去中心化的應用程式(Decentralized App),相對於冷冰冰的智能合約代碼,DApp擁有一個友好的介面和外加一些額外的東西,配合上圖靈完備的語言,可以讓使用者基於合約搭建各種千變萬化的DApp應用,實際上,在以太坊APP展區,已經有大大小小280個的DApp應用在展示(雖然只有一部分應用在真正運行)。
要寫以太坊的智能合約有好幾種語言可選,有類Javascript的Solidity,Python接近的Serpent,還有類Lisp的LLL,目前比較主流的是Solidity,推薦大家使用。當Solidity合約編譯好並且發送到網路上之後,你可以通過以太坊的Mist用戶端對智能合約進行測試和使用,也可以使用以太坊的web3.js JavaScript API來調用它,構建能與之互動的web應用。
由於以太坊的知名度,所以很多社區開發出更加便捷的DApp開發架構和工具,包括Truffle、Embark、Meteor、BlockApps.net APIs,使得你可以快速開發你的Dapp。你既可以搭建基於自己的以太坊私鏈,也可以和夥伴一起搭建聯盟鏈,又或者直接將應用部署在以太坊的公用網路。
如果你希望馬上開始學習以太坊DApp開發,可以訪問匯智網提供的出色的線上互動教程: 以太坊DApp實戰開發入門 去中心化電商DApp實戰開發 超級賬本Farbrc區塊鏈開發
Fabric源於IBM,初衷為了服務於工業生產,IBM將其44,000行代碼開源,是了不起的貢獻,讓我們可以有機會如此近的去探究區別於比特幣的區塊鏈的原理。
要基於HyperLedger進行區塊鏈開發比想像中簡單,有兩種途徑,一種是基於超能雲(IBM中國研究院開發的超能雲平台提供了各種雲端服務),它給區塊鏈愛好者、開發人員的區塊鏈開發測試環境,通過超能雲平台,使用者能夠免費、超快速建立基於Hyperledger Fabric的多節點區塊鏈、並在自己的鏈上調試智能合約。Hyperledger Fabric的合約是基於Go語言的,上手比較簡單。
另一種進行Fabric是自己搭建Fabric的區塊鏈網路。安裝和運行Hyperledge fabric的運行有幾種方式,比較推薦是下載Fabric區塊鏈網路的Docker鏡像,運行Docker鏡像並啟動Fabric區塊鏈網路,但相對於比特幣和以太坊,Fabric網路的架構和安裝相對複雜,除了區塊鏈服務外,還需要另外安裝運行validating peer和Certificate Authority (CA) 服務。搞定後要真正使用,還需要先使用者註冊和登記授權,然後才可以通過CLI 或REST API進行調試和使用。其中裡面智能合約的編寫,跟在超能雲的區塊鏈雲端服務的是一樣的。此外,除了CLI或REST API,IBM還提供了gRPC API和 SDK的方式進行應用的開發。