提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录前言一、fabcar示例fabcar.go注册和登记应用程序用户连接通道和cc测试与cc交互功能,也就是访问cc的函数runfabcar.sh二、我的示例1.连接2.与CC交互三运行总结前言上一篇记录了如何利用HyperledgerFabric官方test-network运行自己的Chaincode流程,链接这里本文记录一个,参考官方gofabcar示例编写自己的应用代码,并与cc交互。一、fabcar示例官方地址go语言fabcar项目目录结构fabcar.go主要的应用代码,runfabcar.sh一个shell脚本,
购买专栏前请认真阅读:《Fabric项目学习笔记》专栏介绍搭建步骤与商品溯源项目一致源码与从0开始的搭建视频请看专栏介绍中的QQ群获取(文件名:ncpsy.zip)
HyperledgerFabric2.x之后逐步减少JavaSDKAPI的使用频率,并希望大家的客户端开发集中使用Gateway来完成。本篇博客将从具体实现的角度带大家串一遍使用Gateway进行链码调用的流程。如果大家只是想直接开发的话,其实不用在意每个接口是如何实现的,直接查API文档看接口即可,我这篇里面结合了一些具体实现去讲解,有兴趣的可以看看。1.场景理解Fabric提供两类客户端来与Fabric网络进行交互。一类是CLI,即命令行接口,我们在黑乎乎的窗口里敲类似于“peer[flag]”这样的命令,以达到我们的目的;另一类则是基于API开发的客户端程序,以对Java语言的支持为例,
HyperledgerFabric2.x之后逐步减少JavaSDKAPI的使用频率,并希望大家的客户端开发集中使用Gateway来完成。本篇博客将从具体实现的角度带大家串一遍使用Gateway进行链码调用的流程。如果大家只是想直接开发的话,其实不用在意每个接口是如何实现的,直接查API文档看接口即可,我这篇里面结合了一些具体实现去讲解,有兴趣的可以看看。1.场景理解Fabric提供两类客户端来与Fabric网络进行交互。一类是CLI,即命令行接口,我们在黑乎乎的窗口里敲类似于“peer[flag]”这样的命令,以达到我们的目的;另一类则是基于API开发的客户端程序,以对Java语言的支持为例,
1.智能合约执行环境:以太坊虚拟智能合约执行环境EVM,fabric执行环境是docker链码是应用层和区块链底层的中间点每一个链码执行环境是一个独立的docker使用GRPC协议与背书节点通信,只有背书节点才能运行智能合约链码的生命周期打包:智能合约的编写和编译安装:将打包好的文件,上传到背书节点实例化:实际安装,执行Init方法,只执行一次,构造函数升级:升级和修复链码交互:自己定义的方法的调用链码的交互流程系统链码(CC:chaincode)LSCC:管理链码的生命周期CSCC:配置管理链码,管理链的配置QSCC:查询账本存储,是一个区块索引的外部服务ESCC:交易背书的链码,交易执行后
HyperledgerFabric2.4.12.3.3问题汇总(持续更新)Ubuntu20.04HyperledgerFabric2.3.3SDK对应的Go1.17.5链码对应的Go1.18Fabric-sdk-go1.0.0Docker20.10.12Docker-Compose2.11.21.链码提交后,调用合约函数出错,channelID为空:调用命令:peerchaincodeinvoke-olocalhost:7050–ordererTLSHostnameOverrideorderer.example.com--tls--cafile${PWD}/organizations/orde
HyperledgerFabric2.4.12.3.3问题汇总(持续更新)Ubuntu20.04HyperledgerFabric2.3.3SDK对应的Go1.17.5链码对应的Go1.18Fabric-sdk-go1.0.0Docker20.10.12Docker-Compose2.11.21.链码提交后,调用合约函数出错,channelID为空:调用命令:peerchaincodeinvoke-olocalhost:7050–ordererTLSHostnameOverrideorderer.example.com--tls--cafile${PWD}/organizations/orde
HyperledgerFabric管理链码peerlifecyclechaincode指令使用链上代码(Chaincode)简称链码,包括系统链码和用户链码。系统链码(SystemChaincode)指的是FabricPeer中负责系统配置、查询、背书、验证等平台功能的代码逻辑,运行在Peer进程内,将在第14章介绍。用户链码指的是用户编写的用来实现智能合约的应用代码。如无特殊说明,链码一般指的就是用户链码。链码被部署在Peer节点上,运行在独立的沙盒(目前为Docker容器)中,并通过gRPC协议与相应的Peer节点进行交互。用户可以通过命令行或SDK调用链码方法,链码被调用时,会按照链码内
上一篇博客配置好了树莓派端的串口通信,这次在加入涡轮流量计之前也先用PC端模拟树莓派测试一下该仪表是否能正常工作。一、测试流量计通信流量计说明书如下: 并且在设备上电时以(9600,8n1格式)自动发送四个字节:返码格式:站地址(1字节)+波特率(2字节)+格式(1字节)8n1格式指8个数据位,无校验,1个停止位,8e1与8o1分别对应偶校验和奇校验。将流量计与USB转485转换器及24V电源正确接线,打开PC端串口,开启电源,观察接收窗口信息(注意接收区和发送区均调成十六进制显示): 接收到返码为“01258000”,其意义为:设备地址1,波特率9600,格式8n1依据说明书的样例,在PC端
懂哪写哪,随时补充链码结构链码API链码在开发过程中需要实现链码接口,交易的类型决定了哪个接口函数将会被调用,链码的接口定义如下:typeChaincodeinterface{Init(stubChaincodeStubInterface)pb.ResponseInvoke(stubChaincodeStubInterface)pb.Response}链码的基本结构链码的必要结构如下:packagemain//引入必要的包import("github.com/hyperledger/fabric/core/chaincode/shim"pb"github.com/hyperledger/fab