MyEclipse上運行比特幣全節點bitcoinj
阿新 • • 發佈:2018-06-28
出現 existing directory client DC walle 命令 http proto bitcoinj是bitcoin全節點的java實現。與比特幣官方推薦的C++實現不同的是:目前它並沒有內置RPC或命令行交互。
它的功能交互是通過幾個example例子、tool、以及walletKit體現的。
對於學習或開發區塊鏈,閱讀bitcoin源代碼,了解其運行原理,學習其開發流程是非常好的途徑。
安裝準備工作
- 安裝Gradle,Gradle是一個項目構建工具,類似Maven,bitcoinj是用Gradle進行構建。
- 安裝JavaFx,JavaFx是一套Java的圖形界面庫,bitcoinj中的錢包實例是用JavaFx編寫的界面。
- 安裝protobuf,Google Protocol Buffer( 簡稱 Protobuf) 是 Google 公司內部的混合語言數據標準。是一種輕便高效的結構化數據存儲格式,可以用於結構化數據串行化,或者說序列化。它很適合做數據存儲或 RPC 數據交換格式。可用於通訊協議、數據存儲等領域的語言無關、平臺無關、可擴展的序列化結構數據格式。bitcoinj中也會用到。
下載bitcoinj
下載地址:https://github.com/bitcoinj/bitcoinj
直接下載zip包,進行解壓。
在MyEclipse中,依次選擇:
Import -> Gradle -> Existing Gradle Project
在Project root directory中選擇剛解壓的bitcoinj目錄。導入成功後會出現以下幾個項目:
> bitcoinj > core # 全節點功能實現 > examples # 幾個調用core的例子 > tools # 小工具 > walletettemplate # 一款圖形化的wallet
執行protoc生成相關的java文件
網上很多文章都沒提到這一點,剛導入bitcoinj,項目中很多地方是會報錯的,因為部分java文件需要protoc來生成。
在命令行下,進入bitcoinj如下目錄
core -> src -> main -> proto
可以看到如下文件:
paymentchannel.proto
paymentrequest.proto
peerseeds.proto
storedclientpaymentchannel.proto
storedserverpaymentchannel.proto
wallet.proto
執行如下命令:
protoc --java_out=../java paymentchannel.proto
每個文件執行一次,在java目錄下對應的包中就會生成相應的java文件,再刷新整個項目,將不會再報錯。
MyEclipse上運行比特幣全節點bitcoinj