Инструкция — это запрос на выполнение определённой функции в программе Solana. Инструкции являются базовым строительным блоком для операций в блокчейне. Каждая инструкция указывает ровно одну вызываемую программу, необходимые аккаунты и массив байтов данных, который программа интерпретирует (обычно это дискриминатор для определения нужного обработчика инструкции, а затем сериализованные аргументы). Логика выполнения для каждой инструкции хранится в программе, где каждая программа определяет свой набор инструкций. Для взаимодействия с сетью Solana одна или несколько инструкций добавляются в транзакцию и отправляются в сеть для обработки.
Диаграмма, показывающая транзакцию с инструкцией, разбитую на 3 компонента
Структура инструкции
Три поля инструкции (program_id, accounts, data), AccountMeta, скомпилированные инструкции и пример перевода SOL.
Интроспекция инструкций
Как программы анализируют соседние инструкции в текущей транзакции через системную переменную Instructions.
Основные факты
- Одна программа: Каждая инструкция предназначена ровно для одной программы
через
program_id. - Метаданные аккаунта: Массив
accountsсодержитAccountMetaдля каждого аккаунта, который инструкция читает или изменяет. - Непрозрачные данные: Поле
data— это массив байтов, формат которого определяется целевой программой.
Is this page helpful?