基于java开源区块链Blockchain相关项目介绍

2018-09-14 10:47:15 浏览数 (1)

对于比特币、莱特币、以太币等加密数字货币大家应该不陌生了,最近一年ico在国内也是备受关注和争议。抛开这些单纯从技术角度看基于java的开源blockchain相关的项目的实现。我们知道比特币很多是用C 做的,作为Java如何与Blockchain平台进行交互?今天介绍三款比较流行和出名的由java实现的区块链相关调用技术及对应的github下载地址。

一、web3j

web3j是一个轻量级、模块化、响应式、类型安全、支持java和Android类库,用来集成以太坊实现了智能合约等功能。利用web3j在以太坊区块链平台上,开发者不必为平台编写集成代码。核心的功能是连接以太坊、创建钱包、管理事务和对智能合约的创建、打包发布等。

web3j的特性

a、对以太坊的JSON-RPC客户端Api进行了完整的实现,包含HTTP和IPC

b、支持以太坊钱包

c、支持对Java智能合约的创建,发布,交易和从java本地代码调用合约进行自动生成和封装。

d、可以使用响应式函数API与filters工作

e、支持持Parity’s Personal和Geth’s Personal的客户端接口

f、支持Infura,但是你必须自己运行一个以太坊客户端

g、一套综合化、一体的测试示范和可运行的脚步

h、支持命令行工具

i、兼容Android平台

j、支持JP Morgan’s Quorum via web3j-quorum

开发相关的依赖

a、支持RxJava

b、使用OKHttp进行http操作

c、fast JSON序列化的核心包Jackson Core

d、crypto的Bouncy Castle和Java Scrypt

e、生成智能合约包装的JavaPoet

f、支持*nix IPC通信的Jnr-unixsocket

二、BitCoinJ

BitCoinJ类库是一个实现了比特币协议的java实现,利用它来操作钱包和收发交易而不需要官方实现的一个本地拷贝。

使用相关技术:

a、核心模块是java 6实现的

b、部署构建使用了Maven3

c、使用Google Protocol Buffers进行数据的序列化和数据存储

三、HyperLedger Fabric

Hyperledger是联盟链的实现,IBM、Intel还有一些大型的商业银行都参与其中。联盟链是区块链在商业应用领域的探索应用,考虑到商业应用对安全、隐私、监管、审计、性能的需求,提高了准入门槛,增加了安全、隐私、可监管审计等商业特性。

Fabric系统主要由两个应用构成:Orderer和Peer,其中Orderer负责交易共识并生成区块,Peer节点负责模拟执行交易和记账。这种划分可以使整个平台拥有更好的弹性和扩展性。

Peer和Orderer都是模块化设计,重要模块支持插拔,比如共识机制、合约执行环境、加密算法、证书服务模块等。模块化的设计让企业可以利用现有IT设施来替换部分Fabric模块。

0 人点赞