Skip to main content

参数

string
必填
要模拟的交易,以 base-64 编码的字符串表示
object
包含以下内容的配置对象:
boolean
如果为 true,验证交易签名
string
Commitment 级别(processed、confirmed、finalized)
string
交易的编码格式(base58、base64、json)
boolean
如果为 true,将交易的近期 blockhash 替换为最新的 blockhash
object
账户配置对象,包含:
string
账户数据的编码格式(base58、base64、json)
array
要返回数据的账户地址数组
number
请求可被评估的最小 slot

响应

object
包含以下内容的对象:
string | null
如果交易模拟失败则为错误信息,成功则为 null
array
交易指令在执行期间输出的日志消息数组
array
带有数据的账户数组(如果已请求)
number
交易消耗的计算单元数量
object
模拟的程序返回数据

代码示例

基本请求

使用 web3.js

注意事项

  1. 模拟发送交易但不实际发送
  2. 响应包含执行日志和错误信息
  3. 模拟在当前状态上执行
  4. 不会持久化任何状态变化
  5. 对于测试和调试交易非常有用

最佳实践

  1. 在发送真实交易之前使用模拟
  2. 检查计算单元消耗
  3. 分析程序日志中的错误
  4. 模拟后验证账户状态
  5. 适当处理模拟错误

常见错误

用例

  1. 交易分析
  2. 交易验证
  3. 交易优化