Hyperledger Fabric的一些密码学常识】的更多相关文章

Hash 哈希(Hash)算法主要作用是将一段任意长度的数据,经过计算转换成一段定长的数据. 这种算法的特性是:几乎不能通过Hash的结果推导出原文.并且几乎没有可能找到两个不同的信息,对两个信息进行Hash计算之后得到相同的哈希值. Hash算法的一个重要特性就是:作验证的时候是快速的,但逆向推出明文是基本不可能的.例如:有两条信息,可以很快速的计算出来它们各自的哈希值,并通过哈希值的比对,就可以判定出两条信息是否内容相同,但是几乎不可能从过哈希值计算出信息的原文. 注:哈希函数的另外一个特性…
如果把区块链比作一个只能读写,不能删改的分布式数据库的话,那么事务和查询就是对这个数据库进行的最重要的操作.以比特币来说,我们通过钱包或者Blockchain.info进行区块链的查询操作,而转账行为就是Transaction的处理.而HyperLedger Fabric在1.0对系统架构进行了升级,使得事务的处理更加复杂. 一.架构 让我们来看看Fabric 0.6到1.0的架构图: 这个图来自IBM微课堂第三讲,我们可以看到原来单一的peer节点在1.0中进行了拆分,分为peer(背书节点和…
Hyperledger Fabric中的Identity 什么是Identity 区块链网络中存在如下的角色:peers, orderers, client application, administrators等等.每一个这样的角色都有一个身份标识(Identity),该身份标识是通过X.509 数字证书来表示的.这些身份标识决定了该角色的对区块链网络上资源的权限,比如是否有权限访问区块链上的某种信息. 数字身份有很多附加属性,供fabric来判断权限.数字身份给出了一个身份的组合结构,与之相…
1,通道的结构 通道是Fabric中非常重要的概念(类似微信群?),它实质是由排序节点划分和管理的私有原子广播通道,目的是对通道的信息进行隔离,使得通道外的实体无法访问通道内的信息,从而实现交易的隐私性. 目前通道分为系统通道(System Channel)和应用通道(Application Channel).排序节点通过系统通道来管理应用通道,用户的交易信息通过应用通道传递.对一般用户来说,通道是指应用通道.系统通道与应用通道的关系如下图: 在文章https://www.cnblogs.com…
Hyperledger fabric 链码篇GO(四) fabric中的链码也就是我们区块链所认知的智能合约,fabric中可由nodejs,java,go编写,本篇只针对GO语言编写链码.将详细介绍链码编写所必须的函数以及相关功能函数. 1.常识 链码的包名指定 // xxx.go package main 必须要引入的包 import( "github.com/hyperledger/fabric/core/chaincode/shim" pb "github.com/h…
在即将正式发布的Hyperledger Fabric SDK 1.0中,Hyperledger Fabric通过gRPC提供服务接口以取代现有的REST API.本文介绍了如何使用Node.JS访问Hyperledger Fabric的gRPC服务. Hyperledger Fabric的gRPC服务接口可以通过安装Hyperledger fabric Client (HFC)获取. 在工作目录下运行如下npm命令以安装HFC. npm install hfc gRPC接口定义文件(.proto…
简介 Hyperledger fabric Client (HFC)提供了基于Node.js的应用接口来访问Hyperledger区块. 本文介绍了一个使用HFC访问IBM Bluemixr区块服务的Hello World示例程序的开发过程. 第一步 安装HFC 在工作目录下运行如下npm命令从安装HFC, 由于目前IBM Bluemixr提供的Hyperledger区块服务依旧是0.5版本, 对应的HFC版本则是0.5.x. npm install hfc@0.5.x 第二步 从以下链接下载I…
环境:ubuntu 16.04 Docker  17.04.0-ce go 1.7.4 consoul v0.8.0.4 ======================================================================= 一.项目准备 想必能搜到这篇文章的人对Hyperledger Fabric(以下简称Fabric)已经是有了一定的了解了,我就不多介绍了. 先说一下Fabric的构建环境: Hyperledger Fabric  tag v1.0.0…
6.1.平台特定使用的二进制文件配置 该方案与Hyperledger Fabric 1.0 从零开始(五)--运行测试e2e类似,根据企业需要,可以控制各节点的域名,及联盟链的统一域名.可以指定单独节点的访问,生成指定的公私钥.证书等文件.具体的参数配置可以参考generateArtifacts.sh文件,可执行自动化生成,也可以按照该脚本里的命令手动生成. 参照3.1.运行fabric-samples的问题说明,首先我们在/opt/gopath/src/github.com/hyperledg…
3:运行测试e2e 3.1.运行fabric-samples的问题说明 该问题说明能够解决6.1.平台特定使用的二进制文件配置第一步的问题.可以选择继续阅读该说明,或者等参考到6.1小节时再反向阅读本说明,具体在6.1中会重新指向本步骤. 一般情况下,我们会参照官网来完成第一个网络测试,在该在线文档中会让我们去下载一个fabric-samples,下载地址在github上,我们需要将其下载至本地是一个fabric-samples-release文件夹,将其更名为fabric-samples随后上…