Перейти к основному содержанию

Параметры

transaction
string
обязательно
Транзакция для симуляции в виде строки в кодировке base-64
config
object
Объект конфигурации, содержащий:
sigVerify
boolean
Если true, проверить подписи транзакции
commitment
string
Уровень подтверждения (processed, confirmed, finalized)
encoding
string
Формат кодирования транзакции (base58, base64, json)
replaceRecentBlockhash
boolean
Если true, заменить недавний blockhash транзакции наиболее актуальным blockhash
accounts
object
Объект конфигурации счетов, содержащий:
encoding
string
Формат кодирования данных счета (base58, base64, json)
addresses
array
Массив адресов счетов, для которых нужно вернуть данные
minContextSlot
number
Минимальный слот, при котором может быть оценён запрос

Ответ

result
object
Объект, содержащий:
err
string | null
Ошибка, если симуляция транзакции не удалась, null если симуляция прошла успешно
logs
array
Массив сообщений журнала, выводимых инструкциями транзакции во время выполнения
accounts
array
Массив счетов с их данными (если запрошено)
unitsConsumed
number
Количество вычислительных единиц, потреблённых транзакцией
returnData
object
Возвращаемые данные программы из симуляции

Примеры кода

Базовый запрос

Использование web3.js

Примечания

  1. Симулирует отправку транзакции без фактической её отправки
  2. Ответ содержит журналы выполнения и ошибки
  3. Симуляция выполняется на текущем состоянии
  4. Изменения состояния не сохраняются
  5. Полезно для тестирования и отладки транзакций

Рекомендации

  1. Используйте симуляцию перед отправкой реальных транзакций
  2. Проверяйте потребление вычислительных единиц
  3. Анализируйте журналы программы на предмет ошибок
  4. Проверяйте состояния счетов после симуляции
  5. Обрабатывайте ошибки симуляции должным образом

Распространённые ошибки

Сценарии использования

  1. Анализ транзакций
  2. Валидация транзакций
  3. Оптимизация транзакций