Go SDK使用示例

安装 Go 语言

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

$ go version
go version go1.10.1

$ go env GOPATH
/root/gos

下载示例程序

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

go-sdk-demo
├── chaincode/
├── main.go
├── play.sh
├── README.md
└── 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并实例化,上传方法可以参考部署链码章节。

运行示例程序

cd $GOPATH/src/go-sdk-demo
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