Programmes

Un programme Solana est un compte qui contient du bytecode sBPF exécutable et dont le flag executable est défini sur true. Les programmes sont sans état. Tout état mutable réside dans des comptes de données séparés transmis via des instructions.

Diagramme d'un program account, ses 4 composants et son programme chargeur.Diagramme d'un program account, ses 4 composants et son programme chargeur.

Points clés

  • Compilés en sBPF : les programmes sont compilés en Solana Bytecode Format (sBPF) via LLVM et stockés dans des comptes exécutables.
  • Sans état : tout état mutable réside dans des comptes de données séparés, pas dans le program account.
  • Évolutifs : les programmes déployés avec loader-v3 (BPF Loader Upgradeable) peuvent être mis à niveau lorsqu'une autorité de mise à niveau est définie ; révoquer cette autorité rend le programme immuable.

Limites

LimiteValeurSource
Taille de heap par défaut32 KioHEAP_LENGTH
Taille de heap maximale (ajustable)256 KioMAX_HEAP_FRAME_BYTES
Taille de stack frame4 096 octetsSTACK_FRAME_SIZE
Profondeur d'appel sBPF maximale64MAX_CALL_DEPTH
Profondeur de pile d'instructions maximale (top-level + CPI)5 (9 avec SIMD-0268)MAX_INSTRUCTION_STACK_DEPTH, MAX_INSTRUCTION_STACK_DEPTH_SIMD_0268
Coût du heap8 CU par page de 32 KioDEFAULT_HEAP_COST
Programmes en cache maximum512MAX_LOADED_ENTRY_COUNT
Délai de visibilité du déploiement1 slotDELAY_VISIBILITY_SLOT_OFFSET

Is this page helpful?

Table des matières

Modifier la page

Géré par

© 2026 Fondation Solana.
Tous droits réservés.
Restez connecté