提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录前言一、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:交易背书的链码,交易执行后
1椭圆曲线密码学椭圆曲线密码学(EllipticCurveCryptography,缩写ECC),是基于椭圆曲线数学理论实现的一种非对称加密算法。椭圆曲线在密码学中的使用是在1985年有NealKoblitz和VictorMiller分别提出来的。标准的椭圆曲线椭圆曲线加密考虑K=kG,其中K、G为椭圆曲线Ep(a,b)上的点,n为G的阶(nG=O∞),k为小于n的整数。则给定k和G,根据加法法则,计算K很容易但反过来,给定K和G,求k就非常困难。因为实际使用中的ECC原则上把p取得相当大,n也相当大,要把n个解点逐一算出来列成上表是不可能的。这就是椭圆曲线加密算法的数学依据。2应用场景比特币
1椭圆曲线密码学椭圆曲线密码学(EllipticCurveCryptography,缩写ECC),是基于椭圆曲线数学理论实现的一种非对称加密算法。椭圆曲线在密码学中的使用是在1985年有NealKoblitz和VictorMiller分别提出来的。标准的椭圆曲线椭圆曲线加密考虑K=kG,其中K、G为椭圆曲线Ep(a,b)上的点,n为G的阶(nG=O∞),k为小于n的整数。则给定k和G,根据加法法则,计算K很容易但反过来,给定K和G,求k就非常困难。因为实际使用中的ECC原则上把p取得相当大,n也相当大,要把n个解点逐一算出来列成上表是不可能的。这就是椭圆曲线加密算法的数学依据。2应用场景比特币
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调用链码方法,链码被调用时,会按照链码内