MyEclipse上运行比特币全节点bitcoinj
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MyEclipse上运行比特币全节点bitcoinj相关的知识,希望对你有一定的参考价值。
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的主要内容,如果未能解决你的问题,请参考以下文章