部署智能合约,包含了交易生成、签名,广播。
用法
visionWeb.contract().new(options);
入参
参数 | 描述 | 类型 | 默认值 |
---|---|---|---|
options | 合约部署参数,具体参数见下方 | object | - |
options 参数
参数 | 描述 | 类型 | 默认值 |
---|---|---|---|
feeLimit | 燃烧 vs 的阈值,最大 1000000000vdt(=1000vs) | number | 20000000 |
callValue | 本次调用往合约中转入 vs 的数量,单位 vdt | number | 0 |
tokenId | 本次调用往合约中转入 vrc10 的 token id,如果没有,无需设置 | string | "" |
tokenValue | 本次调用往合约中转入 vrc10 的数量,如果没有设置 tokenId,该项设置为 0,或者不设置 | number | 0 |
userFeePercentage | 指定的使用该合约用户的资源占比,是[0, 100]之间的整数。如果是 0,则表示用户不会消耗资源。如果开发者资源消耗完了,才会完全使用用户的资源。 | number | 100 |
originEntropyLimit | 创建者设置的,在一次合约执行或创建过程中创建者自己消耗的最大的 entropy,是大于 0 的整数 | number | 10000000 |
abi | 合约的 abi | object | array | - |
bytecode | 合约的 bytecode | string | "" |
parameters | 合约构造函数的入参 | array | [] |
name | 合约名称 | string | "" |
permissionId | 可选参数,用于多重签名 | number | 0 |
返回值
object,广播之后的交易对象。
示例
visionWeb.contract().new({
abi: "contract abi",
bytecode: "contract bytecode",
feeLimit: 1000000000,
callValue: 0,
userFeePercentage: 100,
originEntropyLimit: 1,
}).then(instance => {console.log(instance.address)});
> 46f151d2b560d0f0a983cdbfc85fff392bb8874258