Hyperledger Fabric 账本结构解析】的更多相关文章

前言 现在很多人都在从事区块链方面的研究,作者也一直在基于Hyperledger Fabric做一些开发工作.为了方便后来人更快的入门,本着“开源”的精神,在本文中向大家讲解一下Hyperledger Fabric账本的结构和原理.作者解析的Fabric的工程版本为v1.0.1,在新版本中可能会有些许偏差. ps:作者默认各位读者已经具备了一定的区块链基本知识,不再做一些基础知识的阐述. Hyperledger Fabric账本的结构 在作者最初了解bitcoin的时候有一个疑问:矿工如何校验一…
Hyperledger Fabric开源于2015年12月,截至2018年2月初有185个公司/组织成员加入.最初由IBM和DAH的工程师贡献,现在约有70名的代码贡献者,4000+代码提交,代码行数12万行左右.应用开发者使用SDK与Fabric平台交互,目前提供Node, Java和Python SDK,在Github上都可以搜索到.代码贡献方式介绍:https://hyperledger-fabric.readthedocs.io/en/release/CONTRIBUTING.html…
1相关文件说明 这一部分涉及相关配置文件的解析, 网络的启动涉及到多个文件,本文按以下顺序进行分析: . ├── base │   ├── docker-compose-base.yaml #1 │   └── peer-base.yaml #2 ├── channel-artifacts ├── configtx.yaml #5 ├── crypto-config.yaml ├── docker-compose-cli.yaml #3 ├── docker-compose-couch.yaml…
介绍 HyperLedger Fabric是一个基于模块化架构的分布式账本解决方案平台,它拥有深度加密.便捷扩展.部署灵活及可插拔等特性.它设计之初的目的是支持不同组件的可插拔实现,并适应整个经济生态系统中存在的复杂性和高精度性. HyperLedger Fabric与其它的区块链平台解决方案相比,提供了一种独特的扩展便捷和灵活部署的架构.它更多的适用于联盟链形式,即适合企业级之间的区块链联盟方向,建立在可信任的基础上.如果是企业级区块链部署的话,建议可以采用HyperLedger Fabric…
摘要 Fabric 网络启动的过程中需要进行大量配置,新学时对各个配置的作用一无所知,这导致我曾在网络出问题时先对配置文件的内容进行排列组合后再祈祷它能在某个时刻顺利运行,因此掌握 fabric 各个配置项的含义至关重要.本文对 configtxgen 的配置文件 configtx.yaml 进行了详细的分析解释,对 peer . orderer . fabric-ca 容器的常用环境变量也给除了详细说明,其中某些配置由于比较罕见因此并没有展开介绍,直接使用默认值即可,会在将来用上时再更新. 准…
  安装文档位置: https://github.com/hyperledger/fabric   fabric代码托管地址 https://hyperledger-fabric.readthedocs.io/en/latest/  在线文档地址 https://github.com/hyperledger/fabric/archive/v1.0.0.tar.gz fabric1.0.0源代码包地址 安装环境: Vmware + CentOS7 64位 1611版本 安装前准备: 安装配置好虚拟…
面向 Java 开发人员的链代码简介 您或许听说过区块链,但可能不确定它对 Java™ 开发人员有何用.本教程将帮助大家解惑.我将分步展示如何使用 Hyperledger Fabric v0.6 来构建.运行和执行使用 Java 语言编写的智能合约或链代码.您将安装一些工具,定义本地区块链网络,构建并运行一个链代码智能合约. 有关区块链的概述,请参阅 developerWorks 博客中的 "区块链是什么?分布式账本技术入门". 前提条件 本教程假设您满足以下前提条件: 听说过区块链或…
编写第一个 Java 链代码程序 在上一节中,您已经熟悉了如何构建.运行.部署和调用链代码,但尚未编写任何 Java 代码. 在本节中,将会使用 Eclipse IDE.一个用于 Eclipse 的 Gradle 插件,以及一个名为 ChaincodeTutorial 的 Java 链代码框架项目,编写第一个 Java 链代码程序.您将从我为此教程创建的 GitHub 存储库中获取框架代码,将该代码导入 Eclipse 中,添加代码来让链代码智慧合同按要求生效,然后在 Eclipse IDE 内…
Ledger Ledger(账本)即所有的state transitions(状态切换),是有序且不可篡改的.state transitions(状态切换)是由参与方提交的chaincode(智能合约)调用(“transactions/事务”)的结果.每个事务都将产生一组资产键值对,这些键值对作为创建.更新或删除而提交给Ledger(账本). Ledger(账本)由blockchain(区块链)(“chain”)组成,区块则用来存储有序且不可篡改的记录,以及保存当前状态的state databa…
超级账本(Hyperledger)项目分框架类和工具类两种项目,框架类有Hyperledger Burrow.Hyperledger Fabric.Hyperledger Indy.Hyperledger Iroha和Hyperledger Sawtooth五个顶级项目:工具类有Hyperledger Caliper.Hyperledger Cello.Hyperledger Composer.Hyperledger Explorer和Hyperledger Quilt五个项目.项目结构图如下:…