`

Hyperledger Fabric java 区块链开发详解

阅读更多

我们为希望尽快学习Hyperledger fabric 的java工程师上线了一门教程Fabric java 区块链开发详解,课程面向初学者,内容即包含Hyperledger Fabric的身份证书与MSP服务、权限策略、频道配置与启动、链码通信接口等核心概念,也包含Fabric网络设计、java链码与应用开发的操作实践,是java工程师学习Fabric区块链开发的最佳选择。

Hyperledger是一个旨在推动区块链跨行业应用的开源项目,由Linux基金会在2015年12月主导发起该项目,成员包括金融、银行、物联网、供应链、制造和科技等多个行业的领头羊,托管了众多面向企业的区块链开源框架和工具。

Hyperledger及Fabric项目概述

Hyperledger Fabric(后文简称Fabric)是其中发展最好的一个企业级区块链平台,最初由Digital Asset和IBM贡献,目前已经应用于沃尔玛的食物溯源链(Foodtrust)和马士基的物流跟踪链(TradeLens)中,代表了当下企业级区块链应用的最高水平。可以认为Fabric是一种联盟链(Consortium Blockchain)平台,它适合构建跨越多个企业边界的去中心化应用。

由于Fabric项目的目标是应用于相对可信的企业联盟环境,因此其设计思路与比特币、以太坊等公链平台有明显的差异。Fabric借鉴了区块链的数据结构,但引入了相当多的身份验证与权限控制机制,以及数据隐私保护机制,以适应企业级应用的要求。同时由于企业联盟环境要比完全开放的公链环境可控,因此Fabric没有强调其共识体系对拜占庭容错的实现,允许使用 非拜占庭容错算法建立共识,从而可以达到相当实用的交易吞吐量。

Fabric的定位与特点

毫无疑问,Fabric是受到比特币的启发而诞生的,因此它借鉴了比特币、以太坊这些公链中的一些核心特性,例如采用不可篡改的区块链结构来保存数据、采用非对称加密技术来进行身份识别 与认证、支持智能合约等等。

但是Fabric定位于企业级的分布式账本技术(DLT - Distributed Ledger Technology)平台,它的主要目的是为跨越多个企业边界的活动提供不可篡改的分布式记账平台。例如在食物溯源应用中,为了让消费者可以了解到所购买食物是否安全,就必须将从农场到加工商、分销商、 零售商乃至监管机构等各个环节的检验与放行信息记录到区块链上,以保证溯源信息的透明与可信。

因此Fabric是一种联盟链(Consortium Blockchain),它适合在多个企业间实现分布式记账,这一定位使Fabric的实现与以太坊这样的公链有了明显的差异:

分布式账本 vs. 区块链

分布式账本是比区块链更加宽泛的概念,可以认为区块链只是分布式账本的一种实现技术,其他的分布式账本实现还包括哈希图等。

去中心化 vs. 分布式

Fabric淡化了去中心化(Decentralized),而以分布式(Distributed)代替,这一思路带来了系统设计与实现上的巨大影响。例如,在Fabric中,采用中心化的CA机制来发放证书,只有持有有效证书的节点和用户才可以访问区块链上的账本数据。因此Fabric是许可制/Permissioned的区块链,这与不需要许可/Permissionless的以太坊这样的公链形成了鲜明的对比。

拜占庭容错 vs. 崩溃容错

由于采用许可机制,Fabric也淡化了对不可信(Trustless)环境下共识达成的依赖性,而假设联盟链中的企业有可能是值得信赖的,因此并不依赖于工作量证明这样的拜占庭容错算法,虽然Fabric模块化的设计可以支持引入不同的共识算法实现,但目前的产品化方案是Kafka共识,它显然是不能对抗拜占庭错误的,不过对不可信环境支持的淡化处理有利于提高交易的吞吐量,这对于企 业级应用也是有益的。

数据隐私保护

在另一方面,Fabric强化了隐私保护能力。例如,Fabric支持在同一套企业网络上建立多个不同的通道/Channel,每一个通道都有自己的区块链和访问控制,彼此互不影响,这有利于复用基础设施,例如不同企业间的销售部门可以建立一个通道来分享市场数据,而这些企业间的 研发部门可以建立另一个通道来分享技术数据。

Fabric并不是唯一的联盟链解决方案,但目前可以说是最复杂的企业联盟链实现,这种复杂性源于设计者对应用场景的假设和推演,以及对Fabric广泛适用性的考量,这是我们在学习过程中需要换位思考的一点。

课程内容概述

本课程适合nodejs开发人员快速掌握超级账本Fabric区块链的设计思路、 核心概念、网络搭建、链码及应用开发等知识点,课程主要内容简述如下:

第一章、课程概述

简介Fabric项目来源、定位特点、适用场景以及其与公链平台的重要区别。

第二章、初识Fabric

创建一个最小CA,搭建一个最小Farbic网络,开发一个最小Fabric链码,实现一个最小Fabric应用,从零开始学习并掌握Farbic中的核心概念、设计思路、实用工具与开发模型。

第三章、身份与权限管理机制

深入学习Fabric中的身份验证机制与权限管理机制,理解证书、成员服务提供器、 策略、访问控制清单等核心概念并掌握其创建、部署和使用方法。

第四章、通道配置与更新

深入学习Fabric的通道配置初始化与更新流程、相关数据结构以及配置工具的操作方法。

第五章、链码应用开发进阶

学习理解链码运行机制、掌握状态历史跟踪、富查询、通道事件监听等链码与应用 开发进阶知识。

课程详细目录:

1.课程概述

  • 1.1 Hyperledger及Fabric项目概述
  • 1.2 Fabric的定位与特点
  • 1.3 课程内容概述

2.初识Fabric

  • 2.1 Fabric架构概述
  • 2.2 身份标识与验证机制
  • 2.3 使用OpenSSL构建小型CA
  • 2.4 MSP:成员服务提供器
  • 2.5 启动最小Fabric网络
  • 2.6 通道初始化与节点加入
  • 2.7 开发计数器链码
  • 2.8 链码方法的路由
  • 2.9 链码的安装与激活
  • 2.10 在应用中访问链码
  • 2.11 User接口实现类
  • 2.12 通道访问参数设置
  • 2.13 链码查询
  • 2.14 链码交易
  • 2.15 使用WIZ开发工具箱

3.身份与权限管理机制

  • 3.1 非对称密码学
  • 3.2 PKI体系与MSP机制
  • 3.3 使用cryptogen配置本地MSP
  • 3.4 从个体身份到安全主体
  • 3.5 通道MSP配置
  • 3.6 通道资源访问策略
  • 3.7 策略的DSL描述语言
  • 3.8 通道访问控制清单
  • 3.9 通道链码背书策略

4.通道配置与更新

  • 4.1 系统通道的启动与配置块获取
  • 4.2 标准通道的启动与配置块获取
  • 4.3 深入通道配置区块
  • 4.4 通道配置更新交易
  • 4.5 通道配置更新流水线

5.链码与应用开发进阶

  • 5.1 链码运行机制概述
  • 5.2 跟踪状态变迁历史
  • 5.3 使用复合键
  • 5.4 使用CouchDB状态库
  • 5.5 监听通道事件
  • 5.6 使用连接配置文件

Hyperledger Fabric java 区块链开发详解课程地址:http://xc.hubwiz.com/course/5c9b89f54898e59b7b63430a

分享一些以太坊、比特币区块链相关的交互式在线编程实战教程:

  • java以太坊开发教程,主要是针对java和android程序员进行区块链以太坊开发的web3j详解。
  • java比特币开发教程,本课程面向初学者,内容即涵盖比特币的核心概念,例如区块链存储、去中心化共识机制、密钥与脚本、交易与UTXO等,同时也详细讲解如何在Java代码中集成比特币支持功能,例如创建地址、管理钱包、构造裸交易等,是Java工程师不可多得的比特币开发学习课程。
0
0
分享到:
评论

相关推荐

    区块链开发工程师视频教程.zip

    02.Hyperledger Fabric架构详解 1. Hyperledger社区介绍(Fabric补充资料及拓展PPT) 2. Hyperledger Fabric架构介绍 3. Hyperledger Fabric核心组件讲解 4. Hyperledger FabricSDK讲解 5. Hyperledger Fabric ...

    hyperledger fabric nodejs

    《超级账本Fabric与Node.js接口程序...总之,Hyperledger Fabric与Node.js的结合,为开发企业级区块链应用提供了强大的工具集。通过深入理解这两个技术的结合点,开发者可以构建出适应各种业务场景的高效区块链应用。

    Hyperledger Fabric fabric-java-sdk 使用 intellij idea 测试 End2endIT.docx

    Hyperledger Fabric是一款企业级区块链框架,由Linux基金会旗下的Hyperledger项目开发。它支持可插拔的架构,提供了高度灵活且模块化的实现方式,以适应不同行业的业务需求。在开发基于Fabric的应用时,开发者通常...

    fabcar_HyperledgerFabric_fabcarinvokequery_fabric_hyperledger_

    【Hyperledger Fabric与FabCar应用详解】 Hyperledger Fabric是Linux基金会领导下的一个开源项目,它是一种分布式账本技术(DLT)平台,专门设计用于构建企业级的区块链网络。这个平台提供了一种灵活、安全且可扩展...

    hyperledger-fabric-linux-binary.zip

    Hyperledger Fabric是Linux基金会主导的开源区块链框架,旨在为企业级分布式应用提供坚实的基础。本篇文章将深入探讨“hyperledger-fabric-linux-binary.zip”压缩包中的核心内容,即Fabric二进制文件,以及其在...

    基于HyperledgerFabric的一个极简App

    **基于Hyperledger Fabric的极简App详解** Hyperledger Fabric是Linux基金会发起的开源区块链项目,主要面向企业级应用,提供了一种分布式账本技术(Distributed Ledger Technology, DLT)解决方案。它支持灵活的...

    Fabric访问控制清单/ACL配置教程

    相关教程:Fabric区块链Java开发详解 | Fabric区块链Node.JS开发详解 1、Hyperledger Fabric访问控制列表/ACL的基本概念 在Hyperledger Fabric中有两种类型的访问控制策略: 签名策略:Signature Polic

    hyperledger-fabric

    **超级账本织物——Hyperledger Fabric 2.2版详解** Hyperledger Fabric是Linux基金会下的一个开源项目,是企业级区块链技术的重要组成部分,尤其在分布式账本技术(DLT)领域占据着重要地位。本课程将深入探讨...

    09参考资料.pptx

    - **《区块链开发实战:Hyperledger Fabric 关键技术与案例》** 冯翔 著 - **《Hyperledger Fabric 源代码分析与深入解读》** 蔡亮 著 以上内容覆盖了 Hyperledger Fabric 的基本概念、架构设计、核心技术以及相关...

    应用操作文档-业务场景类-Mycat黄埔军团1

    综上所述,这个项目展现了如何结合多种技术,如区块链(通过Hyperledger Fabric和Chaincode)、后端服务(Spring Boot)、移动应用(Android)以及Web前端(H5和Bootstrap),构建一个健康数据的存储和流通平台。...

    fabric-sdk-java demo

    在区块链技术领域,Hyperledger Fabric 是一个重要的分布式账本平台,它提供了一套强大的工具供开发者构建企业级的区块链应用。在这个场景中,我们将聚焦于如何使用 `fabric-sdk-java` 进行基本的操作,包括存入数据...

    fabric_sdk_java_demo

    Hyperledger Fabric SDK for Java是Hyperledger项目为Java开发者提供的一个接口库,它允许开发者通过Java代码与Fabric网络进行交互,包括创建通道、加入通道、安装和实例化智能合约等操作。SDK提供了丰富的API,简化...

Global site tag (gtag.js) - Google Analytics