发布合约有两种方式:
- 命令行方式
- 阿希 web 客户端方式
下面分别介绍如何使用。
命令行部署智能合约
运行以下命令:
curl -X PUT {serverAddress}/api/transactions \
-H 'Content-Type: application/json' \
-d '{
"secret":"stone elephant caught wrong spend traffic success fetch inside blush virtual element",
"fee": 0,
"type": 600,
"args": ["50000","CCTimeContract","v1.0","测试代码","export default class CCTimeContract extends AschContract { ... }",false]
}'
- type: 600
- args: [gasLimit, name, version, description, code, consumeOwnerEnergy]
- gasLimit:最大消耗的 gas,要求 10000000 >= gasLimit >= 100
- name:智能合约名称,全网唯一,4 ~ 32 个字符组成,字母开头,可包含字母、数字或下划线组成
- version:合约引擎版本,目前请填 v1.0
- description:智能合约的描述,长度不超过 255 的字符串
- code:智能合约代码,长度不超过 32K
- consumeOwnerEnergy:是否优先消耗合约所有者的能量
阿希 web 客户端部署智能合约
进入阿希 web 客户端,操作流程如下:
- 点击左侧菜单的 "智能合约",进入 "合约列表" 页
- 点击 "我发布的" 切换至已发布的智能合约列表,点击右上角的 "提交新合约"
- 填写合约完整信息
- 合约名字。合约名称长度范围 4~32,以字母开头,支持字母,数字,减号,下划线
- 合约代码。合约代码长度不能超过 20 KB
- 合约描述。合约描述长度不超过 255
- Gas_Limit。提供的燃料费/能量
- 建议值:前端计算用户写入的合约代码量,按每字符 2 能量,额外加收 1000 能量注册费,再增加 500 能量
- gas_limit 必须 <= 1000000 能量,每个合约执行的时间 <=500ms
- 开发者代付能量 (手续费)
- 开发者可以设定用户调用合约时,是否优先由开发者代付调用合约能量(手续费)
- 开发者账户能量不足的时候,才由调用合约的用户自己承担手续费
左侧导航栏 -> 智能合约 -> 合约列表/我发布的合约 -> 点击合约名称
左侧导航栏 -> 右上角搜索合约(模糊搜索)