Skip to main content

Параметры

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

Ответ

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

Примеры кода

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

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

Примечания

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

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

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

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

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

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