Skip to main content
模拟捆绑(Simulation Bundles)允许您连续模拟多笔交易。例如,为了在模拟目标交易之前设置特定 条件,您需要先执行其他若干笔交易。 Simulation API 和 Simulation RPC 均支持捆绑模拟。端点会接收一个交易数组,并在同一区块内依次模拟这些交易。

RPC 捆绑模拟

Node RPC 允许您读取区块链数据并发送交易。但您也可以通过单个 RPC URL 在 Node 上模拟捆绑交易。通过 RPC 进行的模拟仅在受支持的网络上可用。如果您的网络不受 Node 支持,请改为通过 Simulation API 运行捆绑模拟。 从 Dashboard 获取 RPC URL。 前往 Node > Copy HTTPS URL 复制所需网络的 URL。
example
要通过 RPC 模拟捆绑交易,请调用 tenderly_simulateBundle 方法。该自定义方法允许您通过将多笔交易作为数组传递来对其进行模拟。请参阅 RPC 参考。
交易会在同一区块内依次进行模拟。区块参数决定捆绑交易作为哪个区块的一部分进行模拟:捆绑交易在该区块起始时的状态上执行,位于该区块自身的任何交易之前。因此 latest 基于链头前一个区块执行后的状态运行,并且不存在交易索引参数。参见区块参数语义。
示例
example

API 捆绑模拟

使用 simulate-bundle API 端点一次性模拟多笔连续的交易。请参阅 API 参考。
example
模拟输出显示了如果您将该交易发送到区块链上时可能引发的事件和状态变化。 如果某笔交易失败,将提前返回,包含直至失败点的所有模拟结果。 simulations 中的每一项都接受 block_number 和 transaction_index,语义与单笔模拟相同:整数区块号(负值从链头向前倒数),以及从 0(区块起点)到该区块交易数量(所有交易之后)的索引。顶层的 block_number 为每一项设置默认区块。两者都省略时,捆绑交易在待处理区块上模拟;transaction_index 需要显式指定 block_number。 示例

探索使用场景

  • 资产与余额变化:获取即将发生的所有余额与资产变化的确切美元价值。
  • Gas 估算:在发送交易之前准确预测 gas 费用。
  • 状态覆盖:修改时间戳、合约数据等区块链状态,以测试不同的场景。
  • 预览交易结果:识别并修复可能导致交易失败的问题。

后续内容

单笔模拟

通过 SDK 模拟