Sept concepts constituent le fondement du développement sur Solana. Commencez par les comptes et les programmes, puis suivez comment les instructions deviennent des transactions. Les PDAs, les CPIs et les frais s'appuient sur ce modèle d'exécution.
Comptes
Solana stocke tout l'état dans des comptes, un magasin clé-valeur (key-value) indexé par des adresses de 32 octets. Chaque compte possède cinq champs : lamports, data, owner, executable et rent_epoch.
Programmes
Les contrats intelligents de Solana, compilés en sBPF. Les programmes sont sans état et tout état mutable réside dans des comptes de données distincts transmis via des instructions.
Instructions
Une requête d'exécution d'un programme, contenant un identifiant de programme, une liste de comptes et des octets de données opaques. Plusieurs instructions se combinent en une seule transaction.
Transactions
L'unité atomique d'exécution sur Solana. Contient des signatures et un message (adresses de comptes, blockhash récent et instructions compilées). Maximum 1 232 octets, ou 4 096 avec le format v1.
Frais
Frais de base de 5 000 lamports par signature, plus des frais de priorité optionnels basés sur les unités de calcul demandées. Maximum 1,4 M d'unités de calcul par transaction.
Program Derived Addresses (PDAs)
Adresses déterministes dérivées d'un identifiant de programme et de seeds. Seul le programme propriétaire peut signer au nom d'un PDA via invoke_signed.
Cross-Program Invocations (CPIs)
Un programme en appelle un autre via invoke ou invoke_signed. Les privilèges de signataire et d'écriture s'étendent au programme appelé. Profondeur maximale de la pile d'instructions de 5 (niveau supérieur plus CPIs).
Sujets complémentaires
Actifs
Actifs numériques fongibles et non fongibles sur Solana (SPL Token, Token-2022).
Clusters et points de terminaison
Mainnet, Devnet et Testnet : groupes de validator traitant les requêtes JSON-RPC.
| Cluster | Point de terminaison RPC public | Utilisation |
|---|---|---|
| Mainnet | https://api.mainnet.solana.com | Production |
| Devnet | https://api.devnet.solana.com | Expérimentation pour les développeurs |
| Testnet | https://api.testnet.solana.com | Tests des validator |
Is this page helpful?