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


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

  • 相关阅读:
    Unity资源打包之Assetbundle
    集社交与金融为一体,平安天下通怎样推动互联网金融创新?
    json和pickle模块
    sys模块
    os模块
    random模块
    datetime模块
    time模块
    logging模块

  • 原文地址:https://www.cnblogs.com/sea520/p/11812948.html
Copyright © 2020-2023  润新知