│ ├── smartcontract.go (区块链智能合约的实现文件。)│ └── smartcontract_test.go (用于测试区块链智能合约的测试文件。)...import (...): 这里导入了多个包,用于引入所需的依赖项。"log": 这是Go语言标准库中的一个包,用于记录日志信息。"...github.com/hyperledger/fabric-contract-api-go/contractapi": 这是一个Hyperledger Fabric提供的用于编写智能合约的Go API的包...github.com/hyperledger/fabric-samples/asset-transfer-basic/chaincode-go/chaincode": 这是一个与Hyperledger...hyperledger/fabric-contract-api-go/contractapi")// SmartContract provides functions for managing an Assettype
│ ├── smartcontract.go (区块链智能合约的实现文件。) │ └── smartcontract_test.go (用于测试区块链智能合约的测试文件。)...import (...): 这里导入了多个包,用于引入所需的依赖项。 "log": 这是Go语言标准库中的一个包,用于记录日志信息。..."github.com/hyperledger/fabric-contract-api-go/contractapi": 这是一个Hyperledger Fabric提供的用于编写智能合约的Go API..."github.com/hyperledger/fabric-samples/asset-transfer-basic/chaincode-go/chaincode": 这是一个与Hyperledger.../hyperledger/fabric-contract-api-go/contractapi" ) // SmartContract provides functions for managing
这本电子书是否会出版(纸质图书)?...导入库 import ( "fmt" "strconv" "github.com/hyperledger/fabric/core/chaincode/shim" pb "github.com/...hyperledger/fabric/protos/peer" ) 16.7.3. ...的Go API提供了三个方法用于数据存取:PutState(key, value)用于向Hyperledger中存储数据, GetState(key)用于从Hyperledger中提取数据,而DelState..." "github.com/hyperledger/fabric/core/chaincode/shim" sc "github.com/hyperledger/fabric/protos/peer
前言 最近在做跨链适配器,需要在一条本地链上利用 Go SDK 来连接 fabric 网络,并监听事件,所以对 fabric 所支持的事件与 SDK 所提供的监听方法做一下汇总。...Fabric 事件 事件是客户端与 Fabric 网络进行交互的一种方式,如上图所示,Fabric 网络中执行一个交易后,因为是异步进行的,所以客户端无法获取提交的交易状态(是否被接受),因此,Fabric...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 链码的事件
这本电子书是否会出版(纸质图书)?...index.html 您的打赏是我的写作动力:http://www.netkiller.cn/blockchain/donations.html ============================== Hyperledger...积分通正(代币) 我发现用以太坊思维,将以太坊代币合约搬到 hyperledger 上,一样可以实现代币的功能,这个代币除了不能上交易所,基本满足我们替代积分系统的需求,下面是我写了这样一个合约,在超级账本上实现类似以太坊的代币转账功能...package main import ( "bytes" "encoding/json" "fmt" "strconv" "github.com/hyperledger/fabric/core.../chaincode/shim" sc "github.com/hyperledger/fabric/protos/peer" ) // Define the Smart Contract structure
表象:Return schema invalid. required items must be unique recovered虽然 Fabric v2.2 已经发布了很久了,但之前因为项目历史问题,...一直使用的都是 Fabric v1.4.8,所以智能合约也一直使用的都是 github.com/hyperledger/fabric/core/chaincode/shim 包。...v2.2 的智能合约时, 使用 github.com/hyperledger/fabric-contract-api-go/contractapi 替换 github.com/hyperledger/...string) ([]byte, error)然而这样的接口在合约示例化的时候翻车了: Error compiling schema for SmartContract [create]....Return schema invalid. required items must be unique [recovered]翻阅 github.com/hyperledger/fabric-contract-api-go
这本电子书是否会出版(纸质图书)?...Hyperledger fabric 银行应用探索 一直想写这篇文章,可是我个人对银行系统了解甚少,网上很多文章有多拿银行来举例,铺天盖地的文章,却没有一篇告诉你究竟如何落地。...牵头做一个世界银联不太可能,世界各国银行无法想政府一样,一个红头文件,下面招办,行政手段推动。且业务差异大,系统复杂超乎想象,这个中心数据库谁来管理呢?.../fabric/core/chaincode/shim" pb "github.com/hyperledger/fabric/protos/peer" ) type Msg struct{ Status...Fabric 积分代币上链方案 Hyperledger fabric Chaincode 开发详解 Hyperledger也能实现Token代币 食品安全溯源区块链解决方案探索 征信区块链解决方案探索
入门 在我们开始之前,如果你还没有这样做,你可能希望检查是否已经在开发区块链应用程序和/或运行Hyperledger Fabric的平台上安装了所有前提条件。...前提条件 在我们开始之前,如果你还没有这样做,你可能希望检查您是否已经在开发区块链应用程序和/或运行Hyperledger Fabric的平台上安装了以下所有前提条件。...Go工作区安装中,但是稍后Fabric构建系统将使用少量的Go可执行文件来填充它,构建系统的其他部分将使用这些文件,因此,即使你目前还没有这样的目录,也可以像上面那样扩展shell搜索路径。...Hyperledger Fabric SDKs Hyperledger Fabric提供了许多SDK来支持各种编程语言,官方发布了两款针对Node.js和Java的SDK: Hyperledger Fabric...另外,还有3个SDK还没有正式发布(对于Python、Go和REST),但是它们仍然可以下载和测试: Hyperledger Fabric Python SDK Hyperledger Fabric Go
共识达成算法插件化,支持用 Go 和 JavaScript 开发智能合约,尤以企业级的安全机制和 membership 机制为特色。...2.1 下载fabric源码 进入GO的目录创建hyperledger文件夹: mkdir -p $GOPATH/src/github.com/hyperledger cd $GOPATH/src/...2.3 网络测试 上面的工作完成后,当前目录多了一个fabric-samples文件夹,我们进去该目录下的test-network目录测试下搭建的环境是否成功: cd fabric-samples/.../fabric-contract-api-go@v1.0.0: Get https://proxy.golang.org/github.com/hyperledger/fabric-contract-api-go...path: 'go list' failed with: go: github.com/hyperledger/fabric-contract-api-go@v1.0.0: Get https://proxy.golang.org
这本电子书是否会出版(纸质图书)?.../fabric/core/chaincode/shim" pb "github.com/hyperledger/fabric/protos/peer" ) type Token struct {...如果像 chaincode_example02 那样就需要部署多个 chaincode 在 channel 中。管理起来比较复杂。.../fabric/core/chaincode/shim" pb "github.com/hyperledger/fabric/protos/peer" ) type Msg struct{ Status...fabric) Hyperledger Fabric 积分代币上链方案 Hyperledger fabric Chaincode 开发详解 Hyperledger也能实现Token代币 食品安全溯源区块链解决方案探索
Hyperledger Fabric当前最新版本为1.2, 自行参考官方安装文档 https://hyperledger-fabric.readthedocs.io/en/release-1.2/prereqs.html...这里编辑全局环境变量/etc/profile export GOPATH=/mnt/sda3/go PATH=GOPATH/bin:PATH 环境变量生效source /etc/profile 验证下是否生效.../etc/profile环境变量中 PATH=/mnt/sda3/hyperledger-fabric/bin:$PATH Export PATH 在阿里云碰到多下载很慢的问题, 这个时候可以尝试手工下载控制台提示下载的文件...https://nexus.hyperledger.org/content/repositories/releases/org/hyperledger/fabric/hyperledger-fabric...repositories/releases/org/hyperledger/fabric-ca/hyperledger-fabric-ca/linux-amd64-1.2.0/hyperledger-fabric-ca-linux-amd64
记得把这些环境载入: 执行命令:source ~/.profile 2.3 在根目录下创建 go文件夹 我们把go的目录GOPATH设置为当前用户的文件夹下,所以记得创建go文件夹 执行命令(跳转到根目录...提供了专门编译cryptogen的入口,我们只需要运行以下命令即可: 执行命令:cd ~/go/src/github.com/hyperledger/fabric 执行命令:make cryptogen.../fabric/build/bin go install -tags "" -ldflags "-X github.com/hyperledger/fabric/common/tools/cryptogen...8 、启动Fabric网络并完成ChainCode的测试 我们仍然停留在e2e_cli文件夹,这里提供了启动、关闭Fabric网络的自动化脚本。...,执行命令:cd ~/go/src/github.com/hyperledger/fabric/examples/e2e_cli 启动网络,执行命令:.
:# 查看Docker版本docker --version# 查看Docker Compose版本docker-compose --version图片安装Go语言Hyperledger Fabric使用...可以使用以下命令安装:sudo apt-get install golang-go安装完成后,可以使用以下命令检查是否安装成功:go version图片安装Node.js和npmHyperledger...查看Node.js版本node -v# 查看npm版本npm -v图片下载Hyperledger Fabric可以从Hyperledger Fabric的官方网站下载Hyperledger Fabric...2.4.9的二进制文件。...启动Hyperledger Fabric网络使用以下命令进入解压后的Hyperledger Fabric目录:cd fabric-samples/test-network然后使用以下命令启动网络:.
源码 创建文件夹: cd $HOME mkdir -p go/src/github.com/hyperledger/ cd go/src/github.com/hyperledger/ 从github上拉取...下载的 hyperledger-fabric-linux-amd64-1.4.0.tar 压缩包内有 bin 和 config 两个文件夹,hyperledger-fabric-ca-linux-amd64...最后将 bin 和 config 文件夹复制到 fabric-samples 文件夹内。.../byfn.sh down 编译fabric源码得到相关的二进制组件(需有golang语言环境支持): cd $HOME/go/src/github.com/hyperledger/fabric/ make...fabric-samples的bin目录下: mv $HOME/go/src/github.com/hyperledger/fabric/release/linux- amd64/bin/* $HOME
: # 查看Docker版本 docker --version # 查看Docker Compose版本 docker-compose --version 安装Go语言 Hyperledger Fabric...可以使用以下命令安装: sudo apt-get install golang-go 安装完成后,可以使用以下命令检查是否安装成功: go version 安装Node.js和npm Hyperledger...: # 查看Node.js版本 node -v # 查看npm版本 npm -v 下载Hyperledger Fabric 可以从Hyperledger Fabric的官方网站下载Hyperledger...Fabric 2.4.9的二进制文件。...启动Hyperledger Fabric网络 使用以下命令进入解压后的Hyperledger Fabric目录: cd fabric-samples/test-network 然后使用以下命令启动网络:
配置 Go 环境,在 $HOME/.profile 或者 /etc/profile 中添加: export PATH=$PATH:/usr/local/go/bin 输入 go version ,检查是否安装成功.../ 文件夹: mkdir -p go/src/github.com/hyperledger 2.2 切换到 hyperledger 目录下,从 GitHub 拉去 Fabric 源码: git clone.../bootstrap.sh 此时会开始克隆 fabric-sample 仓库、下载 Hyperledge Fabric binaries (二进制文件)和Hyperledger Fabric docker...三 操作 fabric-samples 保持 fabric-samples 在 scripts 文件夹下,无需移动,经我的测试发现没有问题。...(因为有些文章写到把 fabric-samples 文件夹放在和 fabric 文件同级,这个我并没有放在同一级目录) 切换到 fabric-sample/test-network 文件夹,后面所有操作都是在这里进行的
2 环境搭建 2.1 搭建虚拟机环境 2.1.1 生成配置文件 使用版本:Ubuntu 18.04 LTS 执行以下命令后,将生成Vagrantfile配置文件 $ vagrant init ubuntu...= "js-fabric" end 2.1.3 拉取镜像并启动 根据配置文件拉取镜像并创建Ubuntu18.04虚拟机 $ vagrant up 在Virtualbox看到虚拟机已启动 [image.png...:/opt/gopath/src/client]$ go get github.com/hyperledger/fabric-sdk-go@master go: github.com/hyperledger.../fabric-sdk-go master => v1.0.0-beta1.0.20200416003947-f7729f181cbf go: downloading github.com/hyperledger..." "github.com/hyperledger/fabric-sdk-go/pkg/core/config" "github.com/hyperledger/fabric-sdk-go/pkg
Hyperledger Fabric 超级账本的硬伤 Netkiller Blockchain 手札 本文作者最近在找工作,有意向致电 13113668890 Mr....13721218 请注明“读者” QQ群:128659835 请注明“读者” 在使用超级账本的过程中我发现一个问题,超级账本无法并发操作一个 key,stub.PutState 是异步执行,我们无法确认它是否执行完成...下面举一个例子来说明超级账本的问题 func (s *SmartContract) counter(stub shim.ChaincodeStubInterface, args []string) pb.Response...很多场景需要更新区块中的数据,如果频繁操作,就会产生覆盖,目前Hyperledger Fabirc 并没有提供解决方案。 1....我们不知道 stub.PutState是否执行完成,因为存储过程需要共识排序。 2. 超级账本没有提供事物处理或者互斥锁。 我的应用场景是实现代币功能,需要从总账号给注册用户转账,操作频繁。
hyperledger fabric 1.4.0安装文档 一、系统环境 1、 ubuntu 16.04 2、 Docker 18.09.9 3、 Docker-compose 1.25.0 4、 Go...:Go安装建议增加/etc/profile中的环境变量,永久生效 2、 安装示例、二进制文件、Docker镜像 官方脚本如下,不指定版本默认为最新版本,安装1.4.0版本需要指定如下版本.../hyperledger/fabric-samples.git cd fabric-samples git checkout v1.4.4 binariesInstall:从下载地址下载需要的二进制文件和配置文件...hyperledger/fabric-ccenv:1.4.0 hyperledger/fabric-orderer:1.4.0 hyperledger/fabric-peer:1.4.0 hyperledger.../fabric-zookeeper: 0.4.14 hyperledger/fabric-kafka: 0.4.14 hyperledger/fabric-couchdb: 0.4.14 hyperledger
Fabric官方提供了专门编译cryptogen的入口,我们只需要运行以下命令即可: cd ~/go/src/github.com/hyperledger/fabric make cryptogen 运行后系统返回结果.../hyperledger/fabric/build/bin go install -tags "nopkcs11" -ldflags "-X github.com/hyperledger/fabric/.../chaincode/go/:/opt/gopath/src/github.com/hyperledger/fabric/examples/chaincode/go - ..../chaincode/go/:/opt/gopath/src/github.com/hyperledger/fabric/examples/chaincode/go,也就是说我们要安装的ChainCode.../fabric/examples/chaincode/go/chaincode_example02 安装的过程其实就是对CLI中指定的代码进行编译打包,并把打包好的文件发送到Peer,等待接下来的实例化
领取专属 10元无门槛券
手把手带您无忧上云