MyEclipse上运行比特币全节点bitcoinj

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MyEclipse上运行比特币全节点bitcoinj相关的知识,希望对你有一定的参考价值。

bitcoinj是bitcoin全节点的java实现。与比特币官方推荐的C++实现不同的是:目前它并没有内置RPC或命令行交互。

它的功能交互是通过几个example例子、tool、以及walletKit体现的。

对于学习或开发区块链,阅读bitcoin源代码,了解其运行原理,学习其开发流程是非常好的途径。

安装准备工作

  1. 安装Gradle,Gradle是一个项目构建工具,类似Maven,bitcoinj是用Gradle进行构建。
  2. 安装JavaFx,JavaFx是一套Java的图形界面库,bitcoinj中的钱包实例是用JavaFx编写的界面。
  3. 安装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的主要内容,如果未能解决你的问题,请参考以下文章

比特币全节点(bitcoind)

比特币代码分析2 比特币全节点流程

配置Bitcoin节点

比特币全节点对交易和区块的处理过程

有一些方法可以让我问比特币全节点,他们的最近同伴的IP地址?

比特币核心钱包 bitcoin core同步太慢的解决方法 自己研究出来的高手勿喷