Skip to content

Latest commit

 

History

History
57 lines (43 loc) · 2.31 KB

4.1 部署合约.md

File metadata and controls

57 lines (43 loc) · 2.31 KB

4.1.1 发布合约

发布合约有两种方式:

  1. 命令行方式
  2. 阿希 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]
}'
  1. type: 600
  2. args: [gasLimit, name, version, description, code, consumeOwnerEnergy]
    1. gasLimit:最大消耗的 gas,要求 10000000 >= gasLimit >= 100
    2. name:智能合约名称,全网唯一,4 ~ 32 个字符组成,字母开头,可包含字母、数字或下划线组成
    3. version:合约引擎版本,目前请填 v1.0
    4. description:智能合约的描述,长度不超过 255 的字符串
    5. code:智能合约代码,长度不超过 32K
    6. consumeOwnerEnergy:是否优先消耗合约所有者的能量

阿希 web 客户端部署智能合约

进入阿希 web 客户端,操作流程如下:

  1. 点击左侧菜单的 "智能合约",进入 "合约列表" 页
  2. 点击 "我发布的" 切换至已发布的智能合约列表,点击右上角的 "提交新合约"
  3. 填写合约完整信息
    1. 合约名字。合约名称长度范围 4~32,以字母开头,支持字母,数字,减号,下划线
    2. 合约代码。合约代码长度不能超过 20 KB
    3. 合约描述。合约描述长度不超过 255
    4. Gas_Limit。提供的燃料费/能量
      1. 建议值:前端计算用户写入的合约代码量,按每字符 2 能量,额外加收 1000 能量注册费,再增加 500 能量
      2. gas_limit 必须 <= 1000000 能量,每个合约执行的时间 <=500ms
    5. 开发者代付能量 (手续费)
      1. 开发者可以设定用户调用合约时,是否优先由开发者代付调用合约能量(手续费)
      2. 开发者账户能量不足的时候,才由调用合约的用户自己承担手续费

4.1.2 查看合约

左侧导航栏 -> 智能合约 -> 合约列表/我发布的合约 -> 点击合约名称

4.1.3 搜索合约

左侧导航栏 -> 右上角搜索合约(模糊搜索)