Samenvatting
Core-programma's bieden fundamentele netwerkfunctionaliteit: accountbeheer (System Program), consensus (Vote, Stake), transactie-optimalisatie (Compute Budget, Address Lookup Table) en privacy (ZK ElGamal Proof). Bevat System Program-instructiereferentie en bronlinks voor alle 7 programma's.
Het System Program
Het System Program (11111111111111111111111111111111) is het enige programma
dat nieuwe accounts kan aanmaken. Alle nieuwe accounts zijn aanvankelijk
eigendom van het System Program, hoewel het eigendom doorgaans bij aanmaak wordt
overgedragen. Het System Program verbruikt
DEFAULT_COMPUTE_UNITS
(150 CU's) per instructie.
System Program-instructiereferentie
| Instructie | Beschrijving |
|---|---|
CreateAccount | Maakt een nieuw account aan. Wijst space bytes toe, wijst owner toe en draagt lamports over van de betaler. Het nieuwe account en de betaler moeten ondertekenen. |
CreateAccountWithSeed | Hetzelfde als CreateAccount, maar leidt het adres van het nieuwe account af van een account-pubkey, een seed-string en het eigenaar-programma. Het account waarvan de pubkey is gebruikt om het adres af te leiden en de betaler moeten ondertekenen. |
Assign | Stelt de eigenaar van het account in. Account moet ondertekenen. Geen actie als het al die eigenaar is. |
AssignWithSeed | Hetzelfde als Assign, maar voor een seed-afgeleid adres. Het account waarvan de pubkey is gebruikt om het adres af te leiden moet ondertekenen. |
Transfer | Draagt lamports over tussen accounts. De verzender moet ondertekenen. |
TransferWithSeed | Hetzelfde als Transfer, maar vanaf een seed-afgeleid adres. Het account waarvan de pubkey is gebruikt om het adres af te leiden moet ondertekenen. |
Allocate | Stelt de datalengte van het account in. Account moet ondertekenen, lege data hebben en eigendom zijn van System Program. Maximum 10 MiB. |
AllocateWithSeed | Hetzelfde als Allocate, maar voor een seed-afgeleid adres. Wijst ook de eigenaar toe. Het account waarvan de pubkey is gebruikt om het adres af te leiden moet ondertekenen. |
AdvanceNonceAccount | Verhoogt de nonce-waarde naar de huidige blockhash. Nonce-authority moet ondertekenen. |
InitializeNonceAccount | Initialiseert een account als nonce-account met de opgegeven authority. Account moet rent-exempt zijn. |
AuthorizeNonceAccount | Wijzigt de nonce-authority. Huidige authority moet ondertekenen. |
WithdrawNonceAccount | Haalt lamports op van een nonce-account. Authority moet ondertekenen. Bij niet-sluiten moet het resterende saldo de rent dekken. |
UpgradeNonceAccount | Upgradet een nonce-account van legacy naar het huidige versieformaat. Account moet schrijfbaar zijn en een legacy nonce-versie bevatten. |
Alle kernprogramma's
| Programma | Programma-ID | Beschrijving | Bron |
|---|---|---|---|
| System | 11111111111111111111111111111111 | Maakt accounts aan, draagt SOL over, wijst data toe en kent eigendom toe | Bron |
| Vote | Vote111111111111111111111111111111111111111 | Maakt accounts aan en beheert deze die de stemstatus en beloningen van validators bijhouden | Bron |
| Stake | Stake11111111111111111111111111111111111111 | Maakt stake-delegaties naar validators aan en beheert deze | Bron |
| Config | Config1111111111111111111111111111111111111 | Slaat configuratiedata on-chain op met op sleutels gebaseerde toegangscontrole | Bron |
| Compute Budget | ComputeBudget111111111111111111111111111111 | Stelt compute unit-limieten en prioriteitskosten voor transacties in | Bron |
| Address Lookup Table | AddressLookupTab1e1111111111111111111111111 | Beheert adresopzoektabellen voor transacties die naar veel accounts verwijzen | Bron |
| ZK ElGamal Proof | ZkE1Gama1Proof11111111111111111111111111111 | Verifieert zero-knowledge proofs voor ElGamal-versleutelde data | Bron |
Loaderprogramma's
Elk programma is eigendom van een loaderprogramma. Loaders verzorgen de implementatie, upgrade en uitvoering van de programma's die ze bezitten. Zie Loaderprogramma's voor de volledige lijst van loaders en hun adressen.
Is this page helpful?