+开发测试 jasonruan 2020.04.20 1 前言 本文采用virtualbox+vagrant方式搭建Hyperledger Fabric环境,采用VSCode远程开发模式开发调试链码和客户端程序.../byfn.sh down 3 开发测试 以下将使用VSCode远程开发模式,连接我们前面启动的Fabric网络进行远程开发。...SDK开发 3.2.1 功能说明 fabric提供Go、Java、Node的SDK,本节使用Go的SDK开发客户端程序调用前面部署好的链码。...: module client # 注:这里需要使用master,默认使用v1.0.0-beta1版本,没有所需的这个库:fabric-sdk-go/pkg/gateway [vagrant@RUAN.../pkg/core/config" "github.com/hyperledger/fabric-sdk-go/pkg/fabsdk" "github.com/hyperledger/fabric-sdk-go
在这篇文章中,我将分享在.NET 6 中创建和使用 HTTP 客户端 SDK 的方方面面。 客户端 SDK 在远程服务之上提供了一个有意义的抽象层。本质上,它允许进行远程过程调用(RPC)。...官方文档将 HttpClientFactory 描述为“一个专门用于创建可在应用程序中使用的 HttpClient 实例的工厂”。我们稍后将介绍如何使用它。...下面,我们看下在使用由依赖注入(DI)管理的HttpClient时,HttpClientFactory是如何发挥作用的。...创建一个静态工厂方法来创建一个 API 客户端。...有时候很难理解生成的代码是如何工作的。例如,在配置上存在不匹配。 需要团队其他成员了解如何阅读和编写使用 Refit 开发的代码。 对于中 / 大型 API 来说,仍然有一些时间消耗。
客户端节点:客户端扮演了代表最终用户的实体,可以同时与 Peer 和 Orderer 通信,创建并调用交易。这里客户端可以指应用程序、SDK、命令行等。...4、创建排序通道创世区块 我们可以使用 configtx.yaml 文件和 configtxgen 工具轻松地创建通道的配置。...Go 语言可以使用官方的 github.com/hyperledger/fabric-sdk-go 库。 这个 SDK 使用起来也很简单。...创建一个 config.yaml ,配置如下: version: 1.0.0 # GO SDK 客户端配置 client: # 客户端所属的组织,必须是organizations定义的组织 organization...现在开始编写代码,我们先来实例化 SDK ,创建 sdk.go: package main import ( "github.com/hyperledger/fabric-sdk-go/pkg/client
我想展示如何将公共区块链(如ARK.io)的功能与私有区块链(如Hyperledger)结合起来。...特别是,我们将看到ARK.io上的交易如何触发在Hyperledger Fabric + Burrow中部署的Solidity Smart Contract的执行。...apt-get update sudo apt-get install golang-1.10-go 安装Hyperledger go SDK: go get -u github.com/hyperledger/fabric-sdk-go.../tlscacerts/tlsca.example.com-cert.pem 部署智能合约 我们将使用一个简单存储合约:https://solidity.readthedocs.io/en/v0.4.24...chaincode query -n evmcc -C mychannel -c '{"Args":["account"]}' 结果03F3C6F335B678F65B41820D97F01BA1151CDF62 使用
请参阅如何使用从知名外部证书颁发机构获得的自定义配置的加密资料来配置,测试和验证Hyperledger Fabric“first-network”样本以获取根证书和中间证书。...其他选项包括手动收集签名或让客户端应用程序借助 NodeSDK 支持以编程方式收集需要的签名。 验证您使用的是针对所选平台的 V1.1.0 版本级别的对等节点二进制文件,如图 1 所示。 图 1....使用 configtxlator 将该配置解码为 JSON 配置的人类可读版本。 提取 config 节。 在提取的 config 节上执行自动或手动编辑,以创建新配置。...验证为应用程序渠道的渠道配置块创建的工件 点击查看大图 4 对提取的配置节进行编辑,以创建新配置 修改应用程序渠道 mychannel 的渠道配置。 具体来讲,添加 Org3MSP,如图 9 所示。...应用程序渠道 mychannel 的已修改渠道配置 – 添加了 Org3MSP 点击查看大图 5 使用 configtxlator 编码原始的和修改后的配置。
从IBM Cloud控制面板导出连接信息 如果客户端需要连接到Fabric网络,需要通过gateway来连接。...本质上VSCode也是一个客户端,所以VSCode也可以通过gateway来连接远程Fabric网络。...VSCode的IBM blockchain extention已经在插件面板上提供了FABRIC GATEWAYS选项,我们直接在这里使用即可。下面看下如何配置一个FABRIC GATEWAY。...首先创建和注册一个连接账号(enroll ID + secret)。 在上篇文章中,我们讲到过如何在CA中创建新的ID。...给identity起个名字:id,输入org1msp作为mspid, 选择Select a gateway and provide an enrollment ID and secret, 选择你刚刚创建的
本文概述了什么是Hyperledger Fabric,如何使用它来构建解决方案以及如何在Hyperledger Fabric中执行事务。 什么是Hyperledger Fabric?...Membership Services Provider (MSP)。MSP是证书颁发机构,以管理用于认证成员身份和角色的证书。...使用SDK开发客户端应用程序。...Hyperledger交易如何执行 Hyperledger Fabric网络中事务的请求流如下所示: 客户端使用Node.js或Java™SDK连接到Hyperledger Fabric网络。...客户端使用SDK API,创建一个事务并将其发送给背书peer。 endorsing peer会验证客户的签名,模拟交易并发送背书签名。
MSP struct 网络 MSP:网络配置通过定义参与组织的 MSP 定义了谁是这个网络的成员,并且定义了授权哪些成员执行管理任务(比如,创建通道) Channel MSP:通道单独维护着它的成员的...在通道 MSP 上下文中的通道策略定义了谁有能力参与通道上的某些操作,比如,添加组织,或者实例化链码 Peer 节点MSP:由一个单独组织所有,每个 Peer 节点都有一个单独的 MSP 实例维护在本地文件系统...使用 Peer 节点本地 MSP 来判定谁被授权操作的例子就是在 Peer 节点上安装链码 Orderer节点 MSP:就像 Peer 节点,排序节点也是由一个单独的组织所有,因此具有一个单独的 MSP...最新版 gitbash 最新版 1.运行docker,确保在gitbash下可以使用docker命令 2.配置go环境变量gopath,确保在gitbash下可以使用go命令 3.下载fabric仓库的...,手动创建并加入channel的过程: 进入peer的docker cli命令行 执行peer help查看全部帮助命令 peer channel create创建通道,参数如下 -
简述 前面文章 介绍了 FreeRTOS 中如何创建任务以及其具体实现。...所以, 本章,介绍任务调度器启动以及如何进行任务切换。...使用该异常切换上下文的原因是保证切换不会影响到其他中断的及时响应(切换上下文抢占了 ISR 的执行,延时时间不可预知,对于实时系统是无法容忍的),在SysTick 中或其他需要进行任务切换的地方悬起一个...以下是 Cotex-M3 的服务程序, 首先先要明确的是,系统进入异常处理程序的时候,使用的是主堆栈指针 MSP, 而一般情况下运行任务使用的线程模式使用的是进程堆栈指针 PSP。...后者使用是系统设置的,前者是硬件强制设置的。 对应这两个指针,系统有两种堆栈,系统内核和异常程序处理使用的是主堆栈,MSP 指向其栈顶。
本文介绍fabric的应用开发模型,Node SDK的使用以及运行一个简单的fabric应用示例。...应用程序一般运行于客户端节点上,负责处理请求并调用相应SDK与Peer节点,Orderer节点,CA节点进行通信。chiancode负责业务逻辑的执行,从账本查询数据或更新数据到账本。...Node SDK主要的模块及其中重要的方法如下: 1.Client getUserContext() / setUserContext():从本地读取/写入用户信息 创建其他各种类的示例 2.CAClient.../testAPIs.sh 该脚本完成: 创建通道并加入节点 按照和实例化链码 调用执行转账交易操作 进行各种查询操作 4.关闭网络 # 清除所有容器并删除docker网络 cd artifacts docker-compose
链码可通过客户端提交的交易对账本状态初始化并进行管理。 链码通常处理由网络中的成员一致认可的业务逻辑。链码创建的(账本)状态是与其它链码互相隔离的,因而不能被其它链码直接访问。...2、链码的背书策略 背书策略是背书节点如何决策交易是否合法的条件。...否则,将会创建一个SignedCDS,除CDS外仅仅包括实例化策略。 -S选项使用被在core.yaml文件中定义的localMspid属性的值标识的MSP对链码包进行签名。 -S选项是可选的。...如果没有实例化策略被指定,将会使用默认的策略,仅允许拥有Peer的MSP的管理员身份实例化链码。 3、签名链码 在创建阶段就被签名的链码包能够交给其它所有者进行检查与签名,支持带外对链码进行签名。 ...默认的实例化策略是任意的通道MSP的管理员,因此链码实例化交易的创建者必须是通道管理员之一。当交易提案到达背书节点后,背书节点会根据实例化策略验证创建者的签名。
1、区块链解决方案的特性 1.1 分布式帐本 区块链核心概念是分布式帐本,就像下面的图1所示,同样的帐本(全量的交易数据,详见下节)在任意一台节点(不包括客户端)上都有。...比如paxos算法(参见笔者的《paxos算法如何容错的–讲述五虎将的实践》)就是超过一半,而PBFT则需要三分之二以上。...在Fabric里,允许不同的企业使用不同的RCA,也可以使用相同的RCA和不同的ICA。这与下文中的MSP密切相关。...、创建维护channel、执行transaction交易等,如下面的图11所示。...加入MSP来管理身份时,如P1和P2由ORG1.MSP管理,而P3和P4的证书则由ORG2.MSP管理,他们共同使用一个channel,则如下图所示: ?
上篇文章我们讲了怎么使用IBM blockchain platform extension在VS Code编辑器中创建本地运行的智能合约。...目前IBM,腾讯云,阿里云,AWS等都提供了区块链的SAAS服务,可以非常方便的对hyperledger fabric区块链网络进行管理和扩展,这篇文章主要描述如何在IBM Cloud平台上面运行Fabric...image 使用该CA来注册identities 选择我们创建的org1 CA证书颁发机构。 首先,我们将为组织“ org1”注册一个管理员。单击注册用户按钮。...image 创建peer组织的MSP 选择Organizations,点击Create MSP definition 使用Org1 MSP作为“MSP Display name”,org1msp作为MSP...最后,点击Create MSP definition完成MSP的创建。 ?
一、说明 在上一篇文章中 《Hyperledger Fabric 2.x 自定义智能合约》 分享了智能合约的安装并使用 cli 客户端进行合约的调用;本文将使用 Java 代码基于 fabric-gateway-java...给应用程序与Fabric区块链网络进行交互; 网络拓扑图: 应用程序将各自的网络交互委托给其网关,每个网关都了解网络信道拓扑,包括组织的多个Peer节点和排序节点,使应用程序专注于业务逻辑;Peer节点可以使用...准备网络证书 创建目录 crypto-config 把 orderer 和 peer 节点的证书文件复制进来。...创建网络配置 创建文件 connection.json 内容如下: { "name": "basic-network", "version": "1.0.0", "client"...public Gateway connectGateway() throws IOException, InvalidKeyException, CertificateException { //使用
php以太坊,主要是介绍使用php进行智能合约开发交互,进行账号创建、交易、转账、代币开发以及过滤器和交易等内容。 以太坊入门教程,主要介绍智能合约与dapp应用开发,适合入门。...C#以太坊,主要讲解如何使用C#开发基于.Net的以太坊应用,包括账户管理、状态与交易、智能合约开发与交互、过滤器和交易等。...java比特币开发教程,本课程面向初学者,内容即涵盖比特币的核心概念,例如区块链存储、去中心化共识机制、密钥与脚本、交易与UTXO等,同时也详细讲解如何在Java代码中集成比特币支持功能,例如创建地址、...php比特币开发教程,本课程面向初学者,内容即涵盖比特币的核心概念,例如区块链存储、去中心化共识机制、密钥与脚本、交易与UTXO等,同时也详细讲解如何在Php代码中集成比特币支持功能,例如创建地址、管理钱包...c#比特币开发教程,本课程面向初学者,内容即涵盖比特币的核心概念,例如区块链存储、去中心化共识机制、密钥与脚本、交易与UTXO等,同时也详细讲解如何在C#代码中集成比特币支持功能,例如创建地址、管理钱包
基于开放硬件平台,通用客户端设备 (uCPE) 支持快速添加、集成或删除任意数量的集中管理虚拟功能。...二、实施基于uCPE的解决方案的智能方式以下是成功的基于uCPE的解决方案的一些“必备”要求:Ø 开放平台在uCPE上创建虚拟化需要在COTS白盒上集成多个软件组件,然后在设备的生命周期内维护和更新(生命周期管理...对于管理多个客户端网络的MSP,多租户MANO可以简化托管服务操作并支持专用客户门户。n 快速服务交付在客户端启用新服务必须快速简单,以便在没有IT支持的情况下自行安装。...为确保运营效率,企业和MSP需要一个自动化服务交付平台,该平台能够使用集中式管理系统按需简单快速地添加、更改或替换应用程序和网络服务。...Edgility 通过为边缘设备及其运行的应用程序软件的操作、管理和管理创建控制层,简化了任何服务的部署。
本文介绍了如何在应用程序中调用SDK来进行组织的动态增加。...回忆一下在创建通道时,会从本地读取通道配置交易(根据configtx.yaml生成),这个配置交易中指定了该通道中有哪些组织,以及设置了各组织的证书信息。...四、更新配置文件 1.创建CA服务器配置文件 新加的组织Org3也拥有一个属于自己的CA节点,在之前的修改组织名的文章中已经介绍了如何设置CA服务器配置文件fabric-ca-server-config.yaml...(主要是affiliations部分需要修改),以及如何在docker-compose文件中将该文件映射到CA容器内部。...我在实际开发中是将添加或删除组织和升级链码这两个功能加入了应用程序代码中,写成了RESTful接口,客户端可以通过http请求来完成这两个操作。
创建通道的时候定义了成员,只有通过成员MSP验证的实体,才能够加入到通道并访问通道数据。...使用configtxgen工具生成通道的配置 configtxgen 是 Fabric 提供的工具,用于生成通道所需要的配置文件。...通过 configtxgen 工具的参数 -profile 来指定使用哪个模板。...以下面的配置文件configtx.yml为例,解释如何通过 configtxgen 创建通道的初始区块。...Org1MSPanchors.tx -channelID mychannel -asOrg PeerOrg1MSP 该命令通过-asOrg来指定使用PeerOrg1MSP身份创建配置区块,并且通过-outputAnchorPeersUpdate
Fabric 事件 事件是客户端与 Fabric 网络进行交互的一种方式,如上图所示,Fabric 网络中执行一个交易后,因为是异步进行的,所以客户端无法获取提交的交易状态(是否被接受),因此,Fabric...的 Peer 节点提供了事件机制,客户端可以通过 gRPC 接口来监听区块事件。...Fabric 共支持四种事件形式: BlockEvent 监控新增到 fabric 上的块时使用 ChaincodeEvent 监控链码中发布的事件时使用,也就是用户自定义事件 TxStatusEvent...参考资料 hyperledger/fabric-sdk-go Hyperledger Fabric Packages for Go Chaincode 基于通道的 Peer 节点事件服务 fabric-protos.../peer/events.proto Fabric 1.4 源码解读 3:事件(Event)原理解读 fabric 支持的事件 如何监听 Fabric 链码的事件
只是停止服务的话的会最好使用docker-compose stop。 docker-compose up则是创建和启动容器服务, 这里用于启动。...2. byfn.sh还是fabcar两个例子即使重启区块链网络,通道需要创新创建,节点需要重新加入通道,链码也要全要重新安装,如果节点多维护起来就麻烦且费时,重启的时候能让通道,节点,链码,State...Peer节点默认使用level DB作为state DB, key-value键值对查询较弱, couch DB支付富查询,如何配置?.../msp - .....7053是事件端口(Peer Event) Fabric 1.1之前, 被定位为Event Hub(节点的消息中心), 当Peer节点记账本副本追加了新的区块的时候,都会通知订阅了这些消息的客户端应用。
领取专属 10元无门槛券
手把手带您无忧上云