Hyperledger Fabric v2.0 Alpha引入两大新功能,新的Fabric链码生命周期和FabToken....(3) 更简单的更新背书策略 新的链码生命周期无需重新打包安装链码,可直接修改背书策略,用户也可以使用新的默认的策略,从通道的主要成员获得背书。这个默认策略在组织加入或退出通道时会自动更新。...(4) 可审查的链码包 Fabric生命周期打包链码为tar文件,这样更易于检查代码,也方便协调多组织的安装。...使用新的链码生命周期 官方提供了新的操作手册和例子: Chaincode for operator https://hyperledger-fabric.readthedocs.io/en/latest...endorsement-policies.html 限制和局限 (1) couchdb的索引暂不支持 (2) 链码使用新周期暂不支持服务发现 这些限制后面会得到解决 FabToken 2.0提供了让用户在通道使用令牌环呈现资源的能力
记得把这些环境载入: 执行命令:source ~/.profile 2.3 在根目录下创建 go文件夹 我们把go的目录GOPATH设置为当前用户的文件夹下,所以记得创建go文件夹 执行命令(跳转到根目录...版本 执行命令:sudo docker version ### 安装完成后需要修改当前用户(我使用的用户叫ubuntu)权限: 执行命令:sudo usermod -aG docker ubuntu #...### 下载完毕后,我们运行以下命令检查下载的镜像列表: 执行命令:docker images 7 、编译cryptogen 7.1 证书工具的使用 编译生成 cryptogen之前我们需要安装一个软件包.../network_setup.sh up 8.2 运行fabric 的example 我们仍然是以现在安装好的Example02为例,在官方例子中,channel名字是mychannel,链码的名字是...chaincode query -C mychannel -n mycc -c '{"Args":["query","a"]}' 可以看到余额是90: 8.2.2 然后,我们试一试把a账户的余额再转20
一个组织实例主要包含如下节点: CA :区块链节点类型之一,全称 Certificate Authority ,数字证书颁发机构,负责组织内部成员的 register 和 enroll 等,为该组织的区块链用户生成和颁发数字证书...cryptogen 工具通过一个包含网络拓扑的 crypto-config.yaml 文件,为所有组织和属于这些组织的组件生成一组证书和秘钥。...configtxlator:fabric 中 Protobuf 和 JSON 格式转换的工具,fabric 中任何的使用 Protobuf 定义的类型,都可使用该工具进行转换。...由于这些节点之间需要互相通信,所以我们需要将这些节点都放入到一个 Docker 网络中,以 fabric_network 为例。...链码安装后,还需要实例化后才可以使用,只需要在任意一个节点实例化就可以了,以 Taobao 组织的 peer0 节点为例: $ docker exec cli bash -c "$TaobaoPeer0Cli
联盟链与私链类似,其开放程度和去中心化程度是有所限制的,其读写权、记帐权由组织决定。与私有链最大的不同在于,联盟链是为一个联盟,比如一个行业服务的;而私链则是为一个组织,比如一家公司内部服务。...终局性(finality) 在区块链结构中,终局性指的是对所有的块一旦被提交到区块链就不会被撤销的结构完整的确定性难度。当用户进行交易时,他们希望在交易完成后确信交易不能随意更改或撤消。...联盟链介绍–以Hyperledger为例 Hyperledger(超级帐本)是一个旨在推动区块链跨行业应用的开源项目,由Linux基金会在2015年12月主导发起该项目,成员包括金融,银行,物联网,供应链...HyperLedger Fabric是HyperLedger上的区块链项目之一,就如同其它区块链技术一样,它有一个账本,使用智能合约,并且是一个由参与者管理他们的交易的系统。...HyperLedger Fabric支持需要将隐私(使用信道)作为关键操作需求的网络,同时也是相对开放的网络。 共识 事务必须按照它们发生的顺序写在帐本上,即使它们可能是网络中不同的参与者生成的。
2 环境搭建 2.1 搭建虚拟机环境 2.1.1 生成配置文件 使用版本:Ubuntu 18.04 LTS 执行以下命令后,将生成Vagrantfile配置文件 $ vagrant init ubuntu.../byfn.sh down 3 开发测试 以下将使用VSCode远程开发模式,连接我们前面启动的Fabric网络进行远程开发。.../fabric/peer# cd /opt/gopath/src/github.com/chaincode/ptcc # 执行安装链码命令 ## 组织1的peer节点安装 root@ce34ec1e55ae...提供Go、Java、Node的SDK,本节使用Go的SDK开发客户端程序调用前面部署好的链码。...master,默认使用v1.0.0-beta1版本,没有所需的这个库:fabric-sdk-go/pkg/gateway [vagrant@RUAN:/opt/gopath/src/client]$ go
从Hyperledger概念的角度来看,区块链网络与比特币或以太网等加密货币的代表无法比较。相反,Hyperledger网络的节点分布在参与组织中,这使得私有,许可或联盟区块链网络特别有趣。...这为连接到Fabric网络的客户端提供了灵活的数据访问。 使用Composer添加更简单的概念 Hyperledger-Composer是Hyperledger生态系统中的工具之一。...在Composer Playground中,你可以以用户友好的方式安装,修改和测试新的业务网络,而无需先前的样本区块链应用知识(例如车辆生命周期,汽车拍卖或农场动物跟踪)。...使用案例:引擎块的供应链跟踪 为了使用Hyperledger-Fabric和Composer实现私有区块链网络,以汽车行业的发动机组跟踪为例。在这种情况下,有制造商和经销商作为网络参与者。...但我们可以轻松添加更多组织并通过多个主机分发对等节点。对于由真正的组织联盟跨越的区块链网络,我们仍然有一些问题需要解决: 我们如何管理组织和对等节点?组织如何自动将新的对等节点添加到网络中?
一、说明 本文主要通过一个例子分享以 Hyperledger Fabric 为代表的联盟链应用场景。...关于 Fabric 的相关概念请先参考文章 《Hyperledger Fabric 核心概念》 二、业务场景 我们看一个购物场景: 首先消费者在某个购物平台上购物例如淘宝。...这样整个过程使用目前传统技术来实现的话,相互之间的数据是 「不透明」 的,每个平台所产生的数据都只是保存在 「各自」 的数据库里面; 例如淘宝保存的是订单数据,支付宝保存了支付记录,银行记录了扣款记录和余额...三、区块链架构 上面的业务场景,我们代入到 Hyperledger Fabric 的网络中来实现的话,架构图如下: 「组织」:先定义3个组织,组织1 是 购物平台 有一个应用淘宝,组织2 是 支付平台...有一个应用支付宝,组织3 是 银行; 「节点」:为每个组织分别拥有两个节点,每个组织的应用都分别往自己的节点写入交易信息; 「通道」:通过一个通道,把所有的节点统一管理起来。
Hyperledger Fabric first-network 示例(也被称为“Build Your First Network”示例和“e2e_cli”示例)展示了一个基础区块链用例教程样例的完全脚本化且端到端自动化的示例...配备的 Hyperledger Fabric 区块链网络包含两个组织、每个组织两个对等节点,以及一个 Solo 订购服务。...在 区块链基础:术语表和用例 中适当了解,然后在 Hyperledger Fabric 术语表 中更深入钻研。...在本教程中,我们将展示如何将第三个组织添加到一个应用程序渠道,将它自己的对等节点添加到一个已在运行的 Hyperledger Fabric 区块链网络,然后将它加入该渠道。...使用 configtxlator 将该配置解码为 JSON 配置的人类可读版本。 提取 config 节。 在提取的 config 节上执行自动或手动编辑,以创建新配置。
Consensus: 提供了灵活和可拓展的共识组件,来满足日常商业的需求 模块详细介绍 Assets 资产既包括有型的资产、也包含无形的资产,Hyperledger使用chainCode去修改用户的资产...在内部实现中,资产表现为一系列key-value的键值对集合,状态变更记录为Channel账本中的交易(即:通过交易来修改用户的资产)。可以编码为任意的二进制或Json格式....,使用隐私数据集来在私有数据库中分离它们的数据,在channel账本上进行逻辑分离,仅有被授权的子组织可以访问这些隐私数据 因此:在隐私的实现中,使用了两种概念:channel, privacy collection...简单来说,Hyperledger中的共识被定义为组成区块的交易集合的完整验证流程。 当交易顺序、区块的执行结果符合明确的检查标准时,节点之间达成共识。...检查和余额发生在交易的生命周期中,且包含使用背书策略去指定特定成员必须对特定的交易类型进行背书,以及系统chaincode去保证这些策略被强制执行。
而在实际应用开发中通常需要自定义组织和通道的名称,这里以最接近实际应用的balance-transfer为例说明如何自定义设置组织和通道名称。 ...完成后会在channel目录下生成新组织名的crypto-config目录,genesis.block以及newchannel.tx 四、修改网络配置文件network-config.json 该文件路径为...该文件位于CA节点的文件系统中,需要在启动CA节点后进入容器内部: docker exec -it ca_peerOrg1 // 假设此时还未修改组织名称 cat /etc/hyperledger...这样,新的ca配置文件就在容器外部生成了,在下一步骤会将其映射到容器内部,这样可以覆盖自动生成的配置文件,从而达到修改的目的。.../ca目录下的私钥文件名称,其中orgname是设置的新组织名称。
区块链涉及服务很多,且大量使用docker容器技术,所以请严格遵守以下步骤去部署,以减少各种问题的出现,方便我们先对联盟链有个大概的感觉。...cd /opt/gopath/src/github.com/hyperledger git clone https://github.com/hyperledger/fabric.git 请切换到最新的...这里置帐户a初始余额为100,帐户b初始余额为200。...return t.delete(stub, args) } else if function == "query" { // 查询状态数据库中某帐户的余额 return t.query(...小结:以上只适用于简单体验fabric的功能,对于智能合约、共识算法、世界状态等在接下来的文章中我们再分析。
生成的 REST API 供客户端应用程序使用,帮助用户在区块链网络中整合非区块链的应用程序。...在 export 命令中我们指定了所需的 Fabric 版本,本教程使用的是1.2版本,因此参数为 hlfv12。然后,我们执行脚本下载 Fabric 运行环境并启动。...yo 提供了一个生成器生态系统,该生成器是一个使用 yo 命令运行的插件,用于为项目设置样板应用程序。...generator-hyperledger-composer 是我们将使用的 yo 生成器,它包含了用于生成样板业务网络的规范。...接下来,你可以给球星卡交易网络添加更多功能: 给每张球星卡加入价格属性并为每个交易者加入余额属性; 给交易者设置接受交易(forTrade)的最低价位; 将交易网络与非区块链应用程序整合,将用户在链下购买的球星卡添加到其帐户中
运行fabric-samples中的示例:创建第一个网络(Building Your First Network)。.../channel-artifacts/channel.tx -channelID $CHANNEL_NAME 4.生成锚节点配置交易 锚节点(anchor peer),用于不同组织间的gossip通信(...该步会在channel-artifacts目录下生成Org1MSPanchors.tx和Org2MSPanchors.tx,这两个配置交易会在设置锚节点时使用。 .....ip:port,证书路径等),这里以加入peer0.org2.example.com为例。...'{"Args":["query","a"]}' 查询结果为: Query Result:100 7.交易 从a账户转移10个数额到b账户,该步会发送交易到orderer节点,在区块链中添加新的区块,并更新至状态数据库
Fabric-ca的主要作用是为组织内的成员颁发证书。每个组织都有自己的根证书,用于识别用户身份。 Fabric-peer是运行在用户组织内的节点上。...三、Hyperledger Fabric使用流程 1.多个组织协作搭建Hyperledger Fabric网络,每个组织都有自己的peer节点用来存储账本数据。...,包括查询,更新等 四、Hyperledger Fabric的交易流程图 1.Client sdk生成交易请求,并发送到足够多的背书节点。...2.背书节点根据用户的请求,按照智能合约模拟执行,返回背书交易 3.Client sdk收集满足背书策略的背书交易后发送到orderer排序 4.Orderer对交易排序完成后,生成对应的区块,并下发到对应的...peer节点 5.Peer节点检查区块中的交易,并生成最终的区块 五、Hyperledger Fabric的常见问题 a)区块结构以及交易信息 下图主要是列出了Hyperledger中区块链中单个区块的结构
. peer的组织默认还是Org1和Org2. (2) 配置configtx.yaml 修改ordererType为kafka, 增加三个orderer节点地址, 四个kafka broker节点, 这里统一使用域名或机器名...@192.168.31.231:/mnt/sda3/fabric-samples/kafka-orderer (4) 编辑zookeeper节点对应文件 以zk1节点为例, 编辑docker-compose-zk1...如果不这样做, peer节点实例化链码的时候会报一些lscc timeout的错误, 可能是同一台的机器不同container的peer和orderer内部通信有问题, 或者是chaincode新起container...一个比较重要的配置项是CORE_VM_DOCKER_HOSTCONFIG_NETWORKMODE, 这里注意到的${COMPOSE_PROJECT_NAME}是在.env文件中配置了值为net, 漏了会出问题...这个配置项从注释上来看好像是让chaincode实例化时新起的容器与所在的peer节点在同一个桥接网络中。
2)部署 许多组织和政府报告称他们正在将企业级以太坊部署到其工作流程中。 ...由于其模块化和通用化设计,该技术满足了有关企业和行业(供应链、医疗保健)的大量用例。 1) 社区 Fabric社区正在稳步增长,在其聊天、问题跟踪和路线图中有超过20,000个用户。...另一方面,Hyperledger Fabric只有一个实现。它没有类似于基于EVM链的客户端。当我们指的是Hyperledger Fabric客户端时,我们将指的是Linux 基金会组织的唯一实现。...组成大型联盟的公司倾向于使用 Hyperledger Fabric 网络。另一方面,我们有一些用例是仅将 Hyperledger Fabric 网络用于内部流程,而没有任何外部组织。...与部署基于EVM的网络相比,部署、配置和维护Hyperledger Fabric网络的成本往往更高,这就是为什么我们看到较小的项目使用企业级以太坊而不是Hyperledger Fabric。
当然,实现的细节有很多变化,例如代币交换和多代币功能。 特征 在Java Chaincode中,我们将实现: 1.用户钱包创建。 2.用户钱包查询。...[可选] Hyperledger Fabric中有两个数据库选项用于保存超级账本的world state:LevelDB和CouchDB,在本教程中,为了简单起见,我将使用LevelDB。...在org.hyperledger.fabric.chaincode下创建一个新包: ? 调用模型包Models,然后确定: ? 应该可以看到: ?...第5步——在BYFN中运行Chaincode 5.1 安装相关项目 我们在本教程中使用Hyperledger Fabric v1.4。...90个令牌,而Sam的钱包有110个令牌,交易已完成并写入区块链超级账本中。
第一篇主要记录在腾讯云服务器上配置Hyperledger Fabric1.4.4环境的流程,在本地的计算机或者虚拟机上也没问题,只是克隆代码的部分会比较慢。之前按照这个差不多的流程安装过两三次。...docker中没有当前用户,将当前用户添加到docker用户组 sudo cat /etc/group //查看用户组 [查看当前有哪些用户组] sudo usermod -aG docker ubuntu.../bootstrap.sh [进入路径,执行脚本文件] 最终下载完成后,会列出所下载的 docker 镜像,具体如下图所示: [下载的docker镜像] 路径中也会多出fabric-samples文件夹...我把 fabric-samples 直接放在 go/src/github.com/hyperledger/ 目录下 clone 下来指定版本的 fabric-samples,下面的版本号换成自己需要的版本号...为通道名称,不写默认为 mychannel,可以自己定义): .
同时我会将已经完成的部分同步发Pull Request到hyperledger-labs组织下的fabric-docs-cn仓库中: https://github.com/hyperledger-labs...贡献的方法 不管作为普通用户还是开发者,这里都有很多为Hyperledger Fabric做贡献的方法。...如果缺陷与安全相关,请遵循Hyperledger安全问题处理流程 如果以前没有报告过,请创建一个新的JIRA。请尝试为其他人提供足够多的信息以重现该问题。...您还可以在Hyperledger Chat中将问题发布到相关的相关的Hyperledger Fabric的频道中。...因为没有这些,我们无法知道你的代码是否真的正确地工作。 单元测试需要没有额外的依赖。你应该使用 go test 或者等价的语言的测试方式来运行单元测试。
下面我们就试着讲Fabric CA集成到整个Fabric网络中,并用CA Client生成新用户,最终使用新用户调用ChainCode,验证新用户的合法性。...我们仍然以官方的e2e_cli为例,关于这个例子的环境搭建,可以参考我的上一篇博客:http://www.cnblogs.com/studyzy/p/7437157.html 1.修改docker-compose...文件,增加CA容器 我们就以给org1这个组织增加CA容器为例,打开e2e_cli文件夹中的docker-compose-cli.yaml ,增加以下内容: ca0: image: hyperledger...3.使用CA Client生成新用户 只需要经过前面2步,我们给Org1设置的CA Server就算完成了。 3.1启动Fabric网络 运行 ..../network_setup.sh up 启动整个Fabric网络。接下来需要使用CA Client来生成新用户。
领取专属 10元无门槛券
手把手带您无忧上云