Ringkasan
Program inti menyediakan fungsionalitas jaringan fundamental: manajemen akun (System Program), konsensus (Vote, Stake), optimisasi transaksi (Compute Budget, Address Lookup Table), dan privasi (ZK ElGamal Proof). Termasuk referensi instruksi System Program dan tautan sumber untuk semua 7 program.
System Program
System Program (11111111111111111111111111111111) adalah satu-satunya program
yang dapat membuat akun baru. Semua akun baru awalnya dimiliki oleh System
Program, meskipun kepemilikan biasanya dialihkan saat pembuatan. System Program
mengonsumsi
DEFAULT_COMPUTE_UNITS
(150 CU) per instruksi.
Referensi instruksi System Program
| Instruksi | Deskripsi |
|---|---|
CreateAccount | Membuat akun baru. Mengalokasikan space byte, menetapkan owner, dan mentransfer lamports dari pembayar. Akun baru dan pembayar harus menandatangani. |
CreateAccountWithSeed | Sama seperti CreateAccount, tetapi menurunkan alamat akun baru dari pubkey akun, string seed, dan program pemilik. Akun yang pubkey-nya digunakan untuk menurunkan alamat dan pembayar harus menandatangani. |
Assign | Menetapkan pemilik akun. Akun harus menandatangani. Tidak ada operasi jika sudah menjadi pemilik tersebut. |
AssignWithSeed | Sama seperti Assign, tetapi untuk alamat yang diturunkan dari seed. Akun yang pubkey-nya digunakan untuk menurunkan alamat harus menandatangani. |
Transfer | Mentransfer lamport antar akun. Pengirim harus menandatangani. |
TransferWithSeed | Sama seperti Transfer, tetapi dari alamat yang diturunkan dari seed. Akun yang pubkey-nya digunakan untuk menurunkan alamat harus menandatangani. |
Allocate | Menetapkan panjang data akun. Akun harus menandatangani, memiliki data kosong, dan dimiliki oleh System Program. Maksimum 10 MiB. |
AllocateWithSeed | Sama seperti Allocate, tetapi untuk alamat yang diturunkan dari seed. Juga menetapkan pemilik. Akun yang pubkey-nya digunakan untuk menurunkan alamat harus menandatangani. |
AdvanceNonceAccount | Memajukan nilai nonce ke blockhash saat ini. Otoritas nonce harus menandatangani. |
InitializeNonceAccount | Menginisialisasi akun sebagai akun nonce dengan otoritas yang diberikan. Akun harus bebas rent. |
AuthorizeNonceAccount | Mengubah otoritas nonce. Otoritas saat ini harus menandatangani. |
WithdrawNonceAccount | Menarik lamport dari akun nonce. Otoritas harus menandatangani. Jika tidak menutup, saldo yang tersisa harus menutupi rent. |
UpgradeNonceAccount | Meningkatkan akun nonce dari versi lama ke format versi saat ini. Akun harus dapat ditulis dan berisi versi nonce lama. |
Semua program inti
| Program | Program ID | Deskripsi | Sumber |
|---|---|---|---|
| System | 11111111111111111111111111111111 | Membuat akun, mentransfer SOL, mengalokasikan data, dan menetapkan kepemilikan | Sumber |
| Vote | Vote111111111111111111111111111111111111111 | Membuat dan mengelola akun yang melacak status voting dan reward validator | Sumber |
| Stake | Stake11111111111111111111111111111111111111 | Membuat dan mengelola delegasi stake kepada validator | Sumber |
| Config | Config1111111111111111111111111111111111111 | Menyimpan data konfigurasi on-chain dengan kontrol akses berbasis kunci | Sumber |
| Compute Budget | ComputeBudget111111111111111111111111111111 | Menetapkan batas compute unit dan biaya prioritas untuk transaksi | Sumber |
| Address Lookup Table | AddressLookupTab1e1111111111111111111111111 | Mengelola tabel pencarian alamat untuk transaksi yang mereferensikan banyak akun | Sumber |
| ZK ElGamal Proof | ZkE1Gama1Proof11111111111111111111111111111 | Memverifikasi zero-knowledge proof untuk data terenkripsi ElGamal | Sumber |
Program loader
Setiap program dimiliki oleh program loader. Loader menangani deployment, upgrade, dan eksekusi program yang mereka miliki. Lihat Program Loader untuk daftar lengkap loader dan alamatnya.
Is this page helpful?