Основные концепции

Семь концепций составляют основу разработки на Solana. Начните с аккаунтов и программ, затем разберитесь, как инструкции формируют транзакции. PDAs, CPIs и комиссии строятся на этой модели исполнения.

Solana core concepts, ordered from accounts and programs through instructions and transactions, with PDAs, CPIs, and fees

Аккаунты

Solana хранит всё состояние в аккаунтах — хранилище ключ-значение с 32-байтными адресами. Каждый аккаунт имеет пять полей: lamports, data, owner, executable и rent_epoch.

Программы

Смарт-контракты Solana, скомпилированные в sBPF. Программы не имеют состояния, а всё изменяемое состояние хранится в отдельных аккаунтах данных, передаваемых через инструкции.

Инструкции

Запрос на выполнение одной программы, содержащий идентификатор программы, список аккаунтов и байты данных. Несколько инструкций объединяются в одну транзакцию.

Транзакции

Атомарная единица исполнения в Solana. Содержит подписи и сообщение (адреса аккаунтов, хеш последнего блока и скомпилированные инструкции). Максимум 1232 байта, или 4096 в формате v1.

Комиссии

Базовая комиссия — 5000 lamports за подпись, плюс опциональная комиссия за приоритет на основе запрошенных вычислительных единиц. Максимум 1,4 млн вычислительных единиц на транзакцию.

Program Derived Addresses (PDAs)

Детерминированные адреса, производные от идентификатора программы и сидов. Только программа-владелец может подписывать от имени PDA через invoke_signed.

Cross-Program Invocations (CPIs)

Вызов одной программой другой через invoke или invoke_signed. Привилегии подписанта и разрешения на запись передаются вызываемой программе. Максимальная глубина стека инструкций — 5 (верхний уровень плюс CPIs).

Дополнительные темы

КластерПубличный RPC-эндпоинтНазначение
Mainnethttps://api.mainnet.solana.comПродакшн
Devnethttps://api.devnet.solana.comЭксперименты разработчиков
Testnethttps://api.testnet.solana.comТестирование validator

Is this page helpful?

Содержание

Редактировать страницу