Hyperledger Fabric中的Identity 什么是Identity 区块链网络中存在如下的角色:peers, orderers, client application, administrators等等.每一个这样的角色都有一个身份标识(Identity),该身份标识是通过X.509 数字证书来表示的.这些身份标识决定了该角色的对区块链网络上资源的权限,比如是否有权限访问区块链上的某种信息. 数字身份有很多附加属性,供fabric来判断权限.数字身份给出了一个身份的组合结构,与之相…
智能合约,是一个抽象的概念,智能合约的历史可以追溯到 1990s 年代.它是由尼克萨博(Nick Szabo)提出的理念,几乎与互联网同龄. 我们这里所说的智能合约只狭义的指区块链中.它能够部署和运行在区块链环境中,由一段代码来描述相关的业务逻辑.部署后的智能合约在区块链中无法修改,智能合约的执行完全由代码决定,不受人为因素的干扰.一般来说,参与方通过智能合约规定各自权利和义务.触发合约的条件以及结果,一旦该智能合约在区块链环境中运行就可以得出客观.准确的结果. 什么是ChainCode Cha…
回顾一下我之前的一篇博客,在Fabric 1.0中,我们存在3种类型的数据存储,一种是基于文件系统的区块链数据,这个跟比特币很像,比特币也是文件形式存储的.Fabric1.0中的区块链存储了Transaction订单读写集.而读写集到底是读什么?写什么?其实就是我们的State Database,也叫做World State,里面以键值对的方式存储了我们在ChainCode中操作的业务数据.另外还有就是对历史数据和区块链索引的数据库. 区块链是文件系统,这个目前不支持更改,历史数据和区块链的索引…
channel Configuration Transaction Hyperledger Fabric区块链网络中的配置存储在一个configuration-transaction的集合中,每个channel都有一个.每个configuration-transaction通常简称为configtx. configtx 具备如下几个特点: Versioned: 配置中的每一个元素都有一个与之关联的version,配置更改时version会增加.每个确认的配置都有一个序列号. Permission…
联盟链由于其本身的特性,目前应用在一些大型国有企业银行比较多.出于安全考虑,这些企业一般会隔离外网环境.所以在实际生产需求中可能存在需要在一个离线的环境中打包安装chaincode的情况. 本文基于这个需求而编写. java env 镜像源码:https://github.com/hyperledger/fabric-chaincode-java/tree/release-1.4/fabric-chaincode-docker 我使用的是java chaincode.目前fabric中的java…
在<Hyperledger Fabric链码之一>和<Hyperledger Fabric链码之二>中我们介绍了链码的定义,并通过dev网络测试了测试了自己编写的链码程序. 本文中我们站在区块链网络管理员的角度来阐述链码,我们集中在链码的声明周期管理,如链码的打包,安装,初始话以及升级. 链码声明周期 超级帐本Fabric提供的接口使得多种类型的节点能够进行交互 - 节点,排序节点以及成员管理服务 - 同时使得在背书节点上可以进行打包.安装.初始化和升级链码. Hyperledge…
什么是身份系统 区块链网络中的角色包括对等节点(peer),订购着,客户端应用程序,管理员等等.这些参与者的身份都封装在X.509数字证书中.这些身份信息真的非常重要,因为他们决定了在网络中参与者具体的权限. Hyperledger Fabric 在身份中使用 principal 属性来决定他们的相关权限.principal 就像用户 ID 或组 ID 一样,但又更灵活一点,因为他们可以包含更多的参与者身份属性.当我们提到 principal 的时候,其实也就是讲到了系统里参与者身份属性的权限.…
前言 本文主要目的是用于整理Hyperledger  Fabric中关于chaincode 管理和操作的内容,作者以release-1.2为范本进行讲解. 主要参考链接: https://hyperledger-fabric.readthedocs.io/en/release-1.2/chaincode4noah.html 本文总计有两节: 第一节: chaincode Operator 介绍 第二节: 测试和验证 新入门的建议看一看有所了解,已经熟练也可以查缺补漏. 关键词 chaincode…
写在前面 最近被Hyperledger Fabric折磨,归根结底还是因为自己太菜了qwq.学习路漫漫,笔记不能少.下面的步骤均是基于已经成功搭建了Fabric2.2环境,并且拉取fabric-samples文件夹了. 一.启动测试网络 打开终端进入test-network目录下.我的具体目录是: /workspace/fabric-samples/test-network,因此有命令: cd /workspace/fabric-samples/test-network 在使用./network…
超级账本组成模型 本文主要讲述Hyperledger Fabric的关键设计特性,并细述如何实现了一个全面的.可定制的企业级区块链解决方案: 资产定义--资产这里理解为任何具有货币价值的东西,它们都可以通过网络进行交易,无论是超市商品到古董车再到货币期货都属于资产. 智能合约--链码(chaincode)即Fabric的智能合约,分为系统链码和用户链码.链码的执行由事务排序划分,限制了节点类型间的信任和验证级别,并优化了网络的可伸缩性和性能. 账本特征--账本不可变的.共享的并且为每个通道(ch…