Программы

Программа Solana — это аккаунт, который содержит исполняемый sBPF-байткод и имеет установленный флаг executable в значение true. Программы не хранят состояние. Все изменяемые данные размещаются в отдельных аккаунтах данных, которые передаются через инструкции.

Схема аккаунта программы, его 4 компонентов и загрузчика.Схема аккаунта программы, его 4 компонентов и загрузчика.

Основные факты

  • Компилируются в sBPF: Программы компилируются в Solana Bytecode Format (sBPF) через LLVM и хранятся в исполняемых аккаунтах.
  • Без состояния: Все изменяемые данные хранятся в отдельных аккаунтах данных, а не в аккаунте программы.
  • Обновляемые: Программы, развернутые с помощью loader-v3 (BPF Loader Upgradeable), могут быть обновлены при наличии полномочий на обновление; если эти полномочия отозваны, программа становится неизменяемой.

Ограничения

ОграничениеЗначениеИсточник
Размер кучи по умолчанию32 КиБHEAP_LENGTH
Максимальный размер кучи (настраиваемый)256 КиБMAX_HEAP_FRAME_BYTES
Размер стека4096 байтSTACK_FRAME_SIZE
Максимальная глубина вызова sBPF64MAX_CALL_DEPTH
Максимальная глубина стека инструкций (всего + CPI)5 (9 с SIMD-0268)MAX_INSTRUCTION_STACK_DEPTH, MAX_INSTRUCTION_STACK_DEPTH_SIMD_0268
Стоимость кучи8 CU за страницу 32 КиБDEFAULT_HEAP_COST
Максимум кэшированных программ512MAX_LOADED_ENTRY_COUNT
Задержка видимости после деплоя1 слотDELAY_VISIBILITY_SLOT_OFFSET

Is this page helpful?

Содержание

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

Управляется

© 2026 Solana Foundation.
Все права защищены.
Связаться с нами