createSmartContract

创建一个未签名的交易,用于部署智能合约。

用法

visionWeb.transactionBuilder.createSmartContract(options, address);

入参

参数描述类型默认值
options合约部署参数,具体参数见下方object-
address账户地址string默认账户地址

options 参数

参数描述类型默认值
feeLimit燃烧 vs 的阈值,最大 1000000000vdt(=1000vs)number20000000
callValue本次调用往合约中转入 vs 的数量,单位 vdtnumber0
tokenId本次调用往合约中转入 vrc10 的 token id,如果没有,无需设置string""
tokenValue本次调用往合约中转入 vrc10 的数量,如果没有设置 tokenId,该项设置为 0,或者不设置number0
userFeePercentage指定的使用该合约用户的资源占比,是[0, 100]之间的整数。如果是 0,则表示用户不会消耗资源。如果开发者资源消耗完了,才会完全使用用户的资源。number100
originEntropyLimit创建者设置的,在一次合约执行或创建过程中创建者自己消耗的最大的 entropy,是大于 0 的整数number10000000
abi合约的 abiobject | array-
bytecode合约的 bytecodestring""
parameters合约构造函数的入参array[]
name合约名称string""
permissionId可选参数,用于多重签名number0

返回值

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'
}