创建一个未签名的交易,用于部署智能合约。
用法
visionWeb.transactionBuilder.createSmartContract(options, address);
入参
参数 | 描述 | 类型 | 默认值 |
---|---|---|---|
options | 合约部署参数,具体参数见下方 | object | - |
address | 账户地址 | string | 默认账户地址 |
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,创建的 transaction 对象。
示例
const options = {
abi: contractObj.abi,
bytecode: contractObj.bytecode,
feeLimit: 100000000,
callValue: 0,
userFeePercentage: 0,
originEntropyLimit: 1,
parameters: [10000000, 'vzz', 18],
};
visionWeb.transactionBuilder.createSmartContract(options);
> {
visible: false,
txID: 'c65e546e5131f4f43b81027050dc12ff8397f5e11a3d6086d545398a61cb9521',
contract_address: '46abc7cf9727128215713c08cd9b89fc1ffbfe540b',
raw_data: {
contract: [ [Object] ],
ref_block_bytes: '460e',
ref_block_hash: 'df122c6f54acc9a8',
expiration: 1608466422000,
fee_limit: 100000000,
timestamp: 1608466362463
},
raw_data_hex: '0a02460e2208df122c6f54acc9a840f0b1c780e82e5aca03081e12c5030a30747970652e676f6f676c65617069732e636f6d2f70726f746f636f6c2e437265617465536d617274436f6e74726163741290030a15462d7a77f8bef6fe225bf5e353dd6a380f588a149612f6020a15462d7a77f8bef6fe225bf5e353dd6a380f588a14961a2b0a063004380140040a211a08776974686472617722111206616d6f756e741a0775696e743235363002400322ad02608060405234801561001057600080fd5b50d3801561001d57600080fd5b50d2801561002a57600080fd5b5060f4806100396000396000f3fe608060405260043610601c5760003560e01c80632e1a7d4d14601e575b005b348015602957600080fd5b50d38015603557600080fd5b50d28015604157600080fd5b50606b60048036036020811015605657600080fd5b8101908080359060200190929190505050606d565b005b6509184e72a000811115607f57600080fd5b3373ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f1935050505015801560c4573d6000803e3d6000fd5b505056fea165627a7a72305820d25d6a32e28beb09d310ed1dd5003acb630ea202a90e018b8cb62545a8a755600029400170dfe0c380e82e900180c2d72f'
}