检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
Solidity合约开发 基本方案 使用自研的容器合约环境集成Solidity的智能合约。 外部搭建Solidity Web IDE,生成测试需要的合约安装字节码和合约调用字节码。 将字节码二进制通过Hex编码字符串作为合约调用参数。
跨链智能合约方法定义 下表为涉及跨链资产交换的跨链智能合约必须实现的方法,且必须保证方法名相同,否则可能出现跨链资产交换接口调用超时或调用失败的情况: 表1 方法说明 方法名 说明 preCommitSend 在跨链资产交换发起方所属区块链上执行的预提交操作 preCommitRecv
= nil { return shim.Error(err.Error()) } return shim.Success(nil) } 父主题: 跨链智能合约方法示例
= nil { return shim.Error(err.Error()) } return shim.Success(nil) } 父主题: 跨链智能合约方法示例
运行程序,示例中的send函数调用合约的insert函数,向区块链存入一对键值对<a,huaweichain>。 进入区块链浏览器页面,在交易查询列表中,单击操作列的“查看详情”,即可查看返回的结果信息。 父主题: 华为云区块链引擎快速入门
/index" // 智能合约的初始化(init)接口的实现。 export function init(txid:string):Response{ } // 智能合约被调用(invoke)接口的实现。
= nil { return shim.Error(err.Error()) } return shim.Success(nil) } 父主题: 跨链智能合约方法示例
= nil { return shim.Error(err.Error()) } return shim.Success(nil) } 父主题: 跨链智能合约方法示例
合约安装,可参考用户指南 >区块链管理 > 合约管理。 合约压缩文件格式:需确保格式为*.zip,且合约文件位于压缩包文件中的一级目录。 合约压缩文件中,只能包含文件名为contract.jar的文件。 父主题: JAVA合约开发
合约开发 概述 Go合约开发 Wasm合约开发(AssemblyScript) Solidity合约开发 JAVA合约开发 父主题: 华为云区块链引擎管理
(uint) { return storedData; } } 编译solidity合约,并复制bytecode结构体中的object值为合约字节码。
用户执行智能合约逻辑时传入的多个参数,每个参数以[]byte表示 String chainId() 功能:获取智能合约所在链ID 入参:无 返回值:链ID String contractName() 功能:获取智能合约名称 入参:无 返回值:智能合约名称 byte[] getKv
合约示例 合约开发需要使用go mod,因此请确保GO111MODULE为on、镜像源配置。请确保可正常访问华为云镜像网站,环境设置命令如下 go env -w GO111MODULE=on go env -w GOPROXY=https://repo.huaweicloud.com
合约安装 Solidity语言合约安装步骤如下: 完成solidity合约编译后,复制object对应的value(示例合约字节码可直接安装)。 608060405234801561001057600080fd5b5060df8061001f6000396000f3006080604052600436106049576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806360fe47b114604e5780636d4ce63c146078575b600080fd5b348015605957600080fd5b5060766004803603810190808035906020019092919050505060a0565b005b348015608357600080fd5b50608a60aa565b6040518082815260200191505060405180910390f35b8060008190555050565b600080549050905600a165627a7a723058206ee3e59b37412c5e64cfc7227fe4151c945d2f5a6994eb945f126e8ce70082980029
合约安装 Go语言合约安装步骤如下: 将已完成开发的合约文件,压缩成zip格式(可参考Go合约示例文件[链接],示例文件可直接安装)。 合约安装,可参考用户指南->安装合约。 合约压缩文件格式:需确保格式为*.zip,且合约文件位于压缩包文件中的一级目录。 合约压缩文件中,禁止包含
安装合约 功能介绍 安装或者更新合约,只支持云端管理实例使用 URI POST /v2/{project_id}/huaweicloudchain/instances/{instance_id}/chain/contract 表1 路径参数 参数 是否必选 参数类型 描述 project_id
JAVA合约开发 SDK配置 SDK接口 合约结构 合约示例 合约安装 父主题: 合约开发
return nil } return fmt.Errorf("account %s locked", account) } } 父主题: 跨链智能合约方法示例
这些API按照功能可以划分为: 表1 stub接口 接口 说明 FuncName() string 获取智能合约请求中指定的智能合约函数名称。 Parameters() [][]byte 获取请求参数。 ChainID() string 获取智能合约所在链ID。
= nil { return fmt.Errorf("failed to delete state: %v", err) } } return nil } 父主题: 跨链智能合约方法示例