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