检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
Go合约开发 SDK配置 SDK接口 合约结构 合约示例 合约安装 父主题: 合约开发
Go SDK Go SDK升级过程如下: 删除旧版本huaweichain SDK。 下载新版本的SDK文件解压至原有的SDK文件路径。 表1 Go SDK版本与变更 版本号 下载 说明 0.4.9 链接 适配实例版本1.0.2.1。 0.2.15 链接 适配实例版本1.0.2.0。
Go SDK介绍 SDK配置 通用方法 利用合约发送交易 利用合约查询数据 文件上链 文件下载 组织加密 组织解密 其他查询 父主题: SDK介绍
GO SDK Demo 本节提供了一个基于Go SDK的Demo,帮助用户开发自己的Go客户端应用程序。 本Demo仅适用于Hyperledger Fabric增强版的区块链实例。 准备工作 准备弹性云服务器。 在弹性云服务器上安装golang环境,Go版本要求:1.12及以上,1
Go应用程序开发 SDK客户端配置 SDK客户端调用 示例Demo 父主题: 应用程序开发
Go语言链代码开发 链代码结构 链代码相关的API 链代码示例(1.4风格) 链代码示例(2.0风格) 链代码调测 父主题: 链代码开发
合约示例 合约开发需要使用go mod,因此请确保GO111MODULE为on、镜像源配置。请确保可正常访问华为云镜像网站,环境设置命令如下 go env -w GO111MODULE=on go env -w GOPROXY=https://repo.huaweicloud.c
合约结构 Go语言合约由合约文件及依赖包构成,包含包声明、依赖包导入、智能合约的结构体定义和方法定义。 合约文件中,用户可自定义结构体以及合约函数。以下内容不可更改: package名:package usercontract 函数的签名:NewSmartContract()、Init(stub
示例Demo 应用程序开发需要使用go mod,因此请确保GO111MODULE为on、镜像源配置。请确保可正常访问华为云镜像网站,环境设置命令如下 go env -w GO111MODULE=on go env -w GOPROXY=https://repo.huaweicloud
合约安装 Go语言合约安装步骤如下: 将已完成开发的合约文件,压缩成zip格式(可参考Go合约示例文件[链接],示例文件可直接安装)。 合约安装,可参考用户指南->安装合约。 合约压缩文件格式:需确保格式为*.zip,且合约文件位于压缩包文件中的一级目录。 合约压缩文件中,禁止包含Go
其他查询 查询区块块高 查询区块详情 查询交易执行结果 利用交易ID查询交易详情 查询文件历史版本 查询文件操作记录 父主题: Go SDK介绍
SDK接口 合约SDK提供如下API接口,可以在合约文件中进行调用。这些API按照功能可以划分为: 表1 stub接口 接口 说明 FuncName() string 获取智能合约请求中指定的智能合约函数名称。 Parameters() [][]byte 获取请求参数。 ChainID()
文件下载 接口方法 func (bc *BsClient) DownloadFile(filePath, fileName string, versionId int) error 参数说明 参数 类型 说明 filePath string 文件下载到本地的路径。 fileName
组织解密 接口方法 func (client *GatewayClient) DecryptDataWithE2EE(consensusOrgID, decOrgID string, txID string) (data string, err error) 参数说明 参数 类型
SDK配置 表1 Go类型的合约SDK 合约类型 SDK下载 备注 Go 链接 具体使用可参考合约示例和合约安装。 父主题: Go合约开发
利用合约发送交易 背书消息构建 接口函数 func (msg *ContractRawMessage) BuildInvokeMessage(chainID string, name string, function string, args []string) (*common
通用方法 相关类 GatewayClient对象包含获取服务节点、获取各种类型的消息构造器及交易ID等方法,基于SDK开发时,必须先构造该对象。 client.GatewayClient BsClient对象包含富媒体文件上链、下载、操作记录查询等方法,使用区块链富媒体存储相关功能时,必须先构造该对象。
组织加密 接口方法 func (client *GatewayClient) EncryptDataWithE2EE(consensusOrgID, encOrgID string, decOrgIDs []string, data string, options ...interface{})
查询文件操作记录 接口方法 func (bc *BsClient) GetFileOperation(fileName, startTime, endTime string) ([]*bstore.StorageEvent, error) 参数说明 参数 类型 说明 fileName
链代码调测 对链代码进行调测,可以使用CloudIDE进行单元测试,具体请参见以下操作。 操作步骤 进入CloudIDE首页。 创建链代码工程,具体请参见创建并启动IDE实例。 图1 创建链代码工程 链代码调测。 以下截图对1.4风格(使用shim包)的链代码进行调测。 父主题: