Résumé
Les programmes principaux fournissent des fonctionnalités réseau fondamentales : gestion des comptes (System Program), consensus (Vote, Stake), optimisation des transactions (Compute Budget, Address Lookup Table) et confidentialité (ZK ElGamal Proof). Inclut la référence des instructions du System Program et les liens sources pour les 7 programmes.
Le System Program
Le System Program (11111111111111111111111111111111) est le seul programme
capable de créer de nouveaux comptes. Tous les nouveaux comptes appartiennent
initialement au System Program, bien que la propriété soit généralement
réattribuée lors de la création. Le System Program consomme
DEFAULT_COMPUTE_UNITS
(150 CU) par instruction.
Référence des instructions du System Program
| Instruction | Description |
|---|---|
CreateAccount | Crée un nouveau compte. Alloue space octets, attribue owner et transfère lamports depuis le payeur. Le nouveau compte et le payeur doivent signer. |
CreateAccountWithSeed | Identique à CreateAccount, mais dérive l'adresse du nouveau compte à partir du pubkey d'un compte, d'une chaîne seed et du programme propriétaire. Le compte dont le pubkey a été utilisé pour dériver l'adresse et le payeur doivent signer. |
Assign | Définit le propriétaire du compte. Le compte doit signer. Sans effet si déjà ce propriétaire. |
AssignWithSeed | Identique à Assign, mais pour une adresse dérivée de seed. Le compte dont le pubkey a été utilisé pour dériver l'adresse doit signer. |
Transfer | Transfère des lamports entre comptes. L'expéditeur doit signer. |
TransferWithSeed | Identique à Transfer, mais depuis une adresse dérivée de seed. Le compte dont le pubkey a été utilisé pour dériver l'adresse doit signer. |
Allocate | Définit la longueur des données du compte. Le compte doit signer, avoir des données vides et appartenir au System Program. Maximum 10 Mio. |
AllocateWithSeed | Identique à Allocate, mais pour une adresse dérivée de seed. Attribue également le propriétaire. Le compte dont le pubkey a été utilisé pour dériver l'adresse doit signer. |
AdvanceNonceAccount | Avance la valeur nonce au blockhash actuel. L'autorité nonce doit signer. |
InitializeNonceAccount | Initialise un compte en tant que compte nonce avec l'autorité donnée. Le compte doit être exempté de rent. |
AuthorizeNonceAccount | Modifie l'autorité nonce. L'autorité actuelle doit signer. |
WithdrawNonceAccount | Retire des lamports d'un compte nonce. L'autorité doit signer. Si non fermé, le solde restant doit couvrir le rent. |
UpgradeNonceAccount | Met à niveau un compte nonce du format legacy vers la version actuelle. Le compte doit être modifiable et contenir une version nonce legacy. |
Tous les programmes principaux
| Programme | ID du programme | Description | Source |
|---|---|---|---|
| System | 11111111111111111111111111111111 | Crée des comptes, transfère des SOL, alloue des données et attribue la propriété | Source |
| Vote | Vote111111111111111111111111111111111111111 | Crée et gère les comptes qui suivent l'état de vote des validateurs et les récompenses | Source |
| Stake | Stake11111111111111111111111111111111111111 | Crée et gère les délégations de mise aux validateurs | Source |
| Config | Config1111111111111111111111111111111111111 | Stocke les données de configuration on-chain avec contrôle d'accès basé sur des clés | Source |
| Compute Budget | ComputeBudget111111111111111111111111111111 | Définit les limites d'unités de calcul et les frais de priorité pour les transactions | Source |
| Address Lookup Table | AddressLookupTab1e1111111111111111111111111 | Gère les tables de recherche d'adresses pour les transactions qui référencent de nombreux comptes | Source |
| ZK ElGamal Proof | ZkE1Gama1Proof11111111111111111111111111111 | Vérifie les preuves à divulgation nulle de connaissance pour les données chiffrées ElGamal | Source |
Programmes de chargement
Chaque programme appartient à un programme de chargement. Les chargeurs gèrent le déploiement, la mise à niveau et l'exécution des programmes qu'ils possèdent. Consultez Programmes de chargement pour la liste complète des chargeurs et leurs adresses.
Is this page helpful?