交易参数允许您配置区块链交易的各个方面。取决于这些参数,可能会引入交易策略 。这些参数包括:
注意:设置交易参数是可选的。如果不指定,SDK 将从链上获取一些合理的默认值。
以下是所有可用参数:
// #import { TxParams, bn };
const txParams: TxParams = {
gasLimit: bn(1), // BigNumberish or undefined
maturity: 1, // number or undefined
maxFee: bn(1), // BigNumberish or undefined
witnessLimit: bn(1), // BigNumberish or undefined
variableOutputs: 1, // number or undefined
};
要设置交易参数,您可以在交易请求上使用 txParams
方法。
// #import { ScriptTransactionRequest };
// Instantiate the transaction request using a ScriptTransactionRequest
// We can set txParams in the request constructor
const transactionRequest = new ScriptTransactionRequest({
script: scriptBytecode,
gasLimit: 100,
});
同样的方法也可以在函数调用作用域内访问,因此在调用合约函数时也可以使用它。
const { transactionResult } = await contract.functions
.increment_count(15)
.txParams({
variableOutputs: 1,
})
.call();
注意: 当执行导致交易的操作时(例如合约部署、使用
.call()
进行合约调用、资产转移),SDK 将自动根据燃气限制和交易的字节大小估算费用。此估算用于构建交易。作为副作用,您的钱包必须拥有至少一枚基础资产的硬币,无论数量多少。