首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >基于java开源区块链Blockchain相关项目介绍

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

作者头像
哲洛不闹
发布2018-09-14 10:47:15
1.9K0
发布2018-09-14 10:47:15
举报
文章被收录于专栏:java一日一条java一日一条

对于比特币、莱特币、以太币等加密数字货币大家应该不陌生了,最近一年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模块。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2018-03-05,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 java一日一条 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
区块链
云链聚未来,协同无边界。腾讯云区块链作为中国领先的区块链服务平台和技术提供商,致力于构建技术、数据、价值、产业互联互通的区块链基础设施,引领区块链底层技术及行业应用创新,助力传统产业转型升级,推动实体经济与数字经济深度融合。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档