Simulator 类用于模拟交易。有关按步骤的演示,请参见 模拟交易教程。要运行模拟,请在 tenderly 实例上调用 simulator 命名空间中的 simulateTransaction 方法:
example.js
simulateBundle 方法模拟一组交易:
example.js
Documentation Index
Fetch the complete documentation index at: /llms.txt
Use this file to discover all available pages before exploring further.
了解如何使用 Tenderly SDK 的 Simulator 类从代码中模拟交易:通过 simulateTransaction 方法运行单笔交易模拟,或使用 simulateBundle 在同一区块内模拟捆绑交易,并读取执行状态与模拟结果,加速智能合约的开发与调试流程。
Simulator 类用于模拟交易。有关按步骤的演示,请参见 模拟交易教程。要运行模拟,请在 tenderly 实例上调用 simulator 命名空间中的 simulateTransaction 方法:
const transaction = await tenderly.simulator.simulateTransaction({
transaction: {
from: callerAddress,
to: counterContract,
gas: 20000000,
gas_price: '19419609232',
value: 0,
input: counterContractAbiInterface.encodeFunctionData('inc', []),
},
blockNumber: 3237677,
});
simulateBundle 方法模拟一组交易:
const simulations = await tenderly.simulator.simulateBundle({
transactions: [
{
from: fromWalletAddress,
to: myTokenAddress,
gas: 0,
gas_price: '0',
value: 0,
input: myTokenAbiInterface.encodeFunctionData('approve', [toWalletAddress, 1234567890]),
},
{
from: toWalletAddress,
to: myTokenAddress,
gas: 0,
gas_price: '0',
value: 0,
input: myTokenAbiInterface.encodeFunctionData('transferFrom', [
fromWalletAddress,
toWalletAddress,
1234567890,
]),
},
],
blockNumber: 3262454,
overrides: {
[myTokenAddress]: {
state: {
[`_balances[${fromWalletAddress}]`]: '1234567891',
},
},
},
});