跳到主要内容

上传智能合约

遵循 Actor 模型的通信原则,创建一个只包含 Wasm 文件程序,作为有效载荷的具体交易类型之一。

向区块链上传一个新的程序(智能合约)是通过调用自定义 extrinsic gear.uploadProgram(code, salt, initPayload, gasLimit, value) 来实现的。

字段含义如下:

  • code: Bytes - 二进制 Wasm 代码。
  • salt: Bytes - 随机数据,以确定其唯一性。
  • initPayload: Bytes - 在程序初始化期间将由 init() 函数处理的 init 信息有效载荷。
  • gasLimit: u64 - 是指用户愿意花在处理上传新程序上的 gas。
  • value: u128 - 向新账户转账的数量。

上传事件

注意:extrinsics 代表来自外部的信息,而事件代表来自链的信息。extrinsics 可以触发事件。

为上传程序而调用的 extrinsics 会触发一系列的 event。了解更多 events 信息,请点击链接

如何上传

Gear 有以下几种上传程序的方法:

通过 Gear GUI 上传

上传程序最简单的方法是使用官网 idea.gear-tech.io 中的“Upload program”选项。

img alt

通过 gear-js 库上传

Gear-js 库提供了一种简单直观的方式来连接 Gear 组件 API,包括与程序的交互。更多详情请看 Gear API