Zusammenfassung
Core-Programme bieten grundlegende Netzwerkfunktionalität: Kontenverwaltung (System Program), Konsens (Vote, Stake), Transaktionsoptimierung (Compute Budget, Address Lookup Table) und Datenschutz (ZK ElGamal Proof). Enthält System Program-Instruktionsreferenz und Quellcode-Links für alle 7 Programme.
Das System Program
Das System Program (11111111111111111111111111111111) ist das einzige
Programm, das neue Konten erstellen kann. Alle neuen Konten gehören zunächst dem
System Program, obwohl die Eigentümerschaft in der Regel bei der Erstellung neu
zugewiesen wird. Das System Program verbraucht
DEFAULT_COMPUTE_UNITS
(150 CUs) pro Instruktion.
System Program-Instruktionsreferenz
| Instruktion | Beschreibung |
|---|---|
CreateAccount | Erstellt ein neues Konto. Allokiert space Bytes, weist owner zu und überträgt lamports vom Zahler. Das neue Konto und der Zahler müssen signieren. |
CreateAccountWithSeed | Wie CreateAccount, leitet jedoch die Adresse des neuen Kontos von einem Konto-Pubkey, einem Seed-String und dem Owner-Programm ab. Das Konto, dessen Pubkey zur Ableitung der Adresse verwendet wurde, und der Zahler müssen signieren. |
Assign | Setzt den Owner des Kontos. Konto muss signieren. Keine Operation, wenn bereits dieser Owner. |
AssignWithSeed | Wie Assign, aber für eine Seed-abgeleitete Adresse. Das Konto, dessen Pubkey zur Ableitung der Adresse verwendet wurde, muss signieren. |
Transfer | Überträgt Lamports zwischen Konten. Der Sender muss signieren. |
TransferWithSeed | Wie Transfer, aber von einer Seed-abgeleiteten Adresse. Das Konto, dessen Pubkey zur Ableitung der Adresse verwendet wurde, muss signieren. |
Allocate | Setzt die Datenlänge des Kontos. Konto muss signieren, leere Daten haben und dem System Program gehören. Maximum 10 MiB. |
AllocateWithSeed | Wie Allocate, aber für eine Seed-abgeleitete Adresse. Weist auch den Owner zu. Das Konto, dessen Pubkey zur Ableitung der Adresse verwendet wurde, muss signieren. |
AdvanceNonceAccount | Setzt den Nonce-Wert auf den aktuellen Blockhash. Nonce-Authority muss signieren. |
InitializeNonceAccount | Initialisiert ein Konto als Nonce-Konto mit der angegebenen Authority. Konto muss rent-exempt sein. |
AuthorizeNonceAccount | Ändert die Nonce-Authority. Aktuelle Authority muss signieren. |
WithdrawNonceAccount | Hebt Lamports von einem Nonce-Konto ab. Authority muss signieren. Wenn nicht geschlossen wird, muss der verbleibende Saldo die Miete decken. |
UpgradeNonceAccount | Aktualisiert ein Nonce-Konto vom Legacy- auf das aktuelle Versionsformat. Konto muss beschreibbar sein und eine Legacy-Nonce-Version enthalten. |
Alle Core-Programme
| Programm | Programm-ID | Beschreibung | Quelle |
|---|---|---|---|
| System | 11111111111111111111111111111111 | Erstellt Accounts, überträgt SOL, weist Daten zu und vergibt Eigentümerschaft | Quelle |
| Vote | Vote111111111111111111111111111111111111111 | Erstellt und verwaltet Accounts, die den Voting-Status und Belohnungen von Validatoren verfolgen | Quelle |
| Stake | Stake11111111111111111111111111111111111111 | Erstellt und verwaltet Stake-Delegationen an Validatoren | Quelle |
| Config | Config1111111111111111111111111111111111111 | Speichert Konfigurationsdaten on-chain mit schlüsselbasierter Zugriffskontrolle | Quelle |
| Compute Budget | ComputeBudget111111111111111111111111111111 | Legt Compute-Unit-Limits und Priority-Fees für Transaktionen fest | Quelle |
| Address Lookup Table | AddressLookupTab1e1111111111111111111111111 | Verwaltet Address-Lookup-Tables für Transaktionen, die viele Accounts referenzieren | Quelle |
| ZK ElGamal Proof | ZkE1Gama1Proof11111111111111111111111111111 | Verifiziert Zero-Knowledge-Proofs für ElGamal-verschlüsselte Daten | Quelle |
Loader-Programme
Jedes Programm gehört einem Loader-Programm. Loader verwalten Deployment, Upgrade und Ausführung der Programme, die sie besitzen. Siehe Loader-Programme für die vollständige Liste der Loader und ihrer Adressen.
Is this page helpful?