阿里云首页 区块链服务 BaaS

Go SDK使用示例

安装 Go 语言

确保本地已经安装 Go 语言,若未安装可以参考Go语言的官方安装文档,Go 版本要求:>=1.10.1, <1.11 。安装完成后通过如下命令确认安装成功,并且确认GOPATH已经设置:

  1. $ go version
  2. go version go1.10.1
  3. $ go env GOPATH
  4. /root/gos

下载示例程序

请下载go-sdk-demo-1.4.5。将示例程序下载到目录: $GOPATH/src 中并解压缩。接着将SDK配置文件 connection-profile.yaml 复制到目录 $GOPATH/src/go-sdk-demo 中。最终示例程序的目录结构如下:

  1. go-sdk-demo
  2. ├── chaincode/
  3. ├── main.go
  4. ├── play.sh
  5. ├── README.md
  6. └── vendor/
  • play.sh: 入口脚本,提供了交互式的命令行接口,首次运行示例程序推荐使用该脚本。
  • main.go: 基于 fabric-sdk-go 的一个示例程序。
  • chaincode/sacc.out: 已经打包好的链码程序,可以直接上传到 BaaS 平台。
  • chaincode/src: sacc.out 的源代码。
  • vendor/github.com/hyperledger/fabric-sdk-go: 社区 fabric-sdk-go 的源代码。
  • README.md: 关于此示例程序的使用说明。

上传链码

将链码文件 chaincode/sacc.out 上传至BaaS并实例化,上传方法可以参考部署链码章节。

运行示例程序

  1. cd $GOPATH/src/go-sdk-demo
  2. bash play.sh

按照提示输入信息即可。play.sh 实际上运行了main.go文件,这是一个基于 fabric go sdk 实现的示例程序,主要为了方便您了解 go sdk 的基本使用方法,其中演示了如下操作:

  1. Enroll 用户证书到本地,如果用户证书已经存在则跳过。
  2. 获取通道配置(Channel Config)信息并输出。
  3. 获取通道信息(Channel Info)并输出。
  4. 查询智能合约。
  5. 执行智能合约。
  6. 再次查询智能合约,确认执行成功。

更多 Go SDK 的使用说明可以参考社区地址:fabric-sdk-go