Основні програми

Підсумок

Основні програми забезпечують фундаментальну функціональність мережі: управління обліковими записами (System Program), консенсус (Vote, Stake), оптимізацію транзакцій (Compute Budget, Address Lookup Table) та конфіденційність (ZK ElGamal Proof). Включає довідник інструкцій System Program та посилання на вихідний код для всіх 7 програм.

System Program

System Program (11111111111111111111111111111111) — єдина програма, яка може створювати нові облікові записи. Усі нові облікові записи спочатку належать System Program, хоча право власності зазвичай переназначається під час створення. System Program споживає DEFAULT_COMPUTE_UNITS (150 CU) на інструкцію.

Довідник інструкцій System Program

ІнструкціяОпис
CreateAccountСтворює новий обліковий запис. Виділяє space байтів, призначає owner та переказує lamports від платника. Новий обліковий запис і платник повинні підписати.
CreateAccountWithSeedТе саме, що й CreateAccount, але виводить адресу нового облікового запису з pubkey облікового запису, рядка seed та програми-власника. Обліковий запис, чий pubkey використовувався для виведення адреси, і платник повинні підписати.
AssignВстановлює власника облікового запису. Обліковий запис повинен підписати. Не виконує дій, якщо вже є цей власник.
AssignWithSeedТе саме, що й Assign, але для адреси, виведеної з seed. Обліковий запис, чий pubkey використовувався для виведення адреси, повинен підписати.
TransferПереказує lamports між обліковими записами. Відправник повинен підписати.
TransferWithSeedТе саме, що й Transfer, але з адреси, виведеної з seed. Обліковий запис, чий pubkey використовувався для виведення адреси, повинен підписати.
AllocateВстановлює довжину даних облікового запису. Обліковий запис повинен підписати, мати порожні дані та належати System Program. Максимум 10 МіБ.
AllocateWithSeedТе саме, що й Allocate, але для адреси, виведеної з seed. Також призначає власника. Обліковий запис, чий pubkey використовувався для виведення адреси, повинен підписати.
AdvanceNonceAccountПросуває значення nonce до поточного blockhash. Повноваження nonce повинні підписати.
InitializeNonceAccountІніціалізує обліковий запис як nonce-обліковий запис із заданими повноваженнями. Обліковий запис повинен бути звільнений від rent.
AuthorizeNonceAccountЗмінює повноваження nonce. Поточні повноваження повинні підписати.
WithdrawNonceAccountЗнімає lamports з nonce-облікового запису. Повноваження повинні підписати. Якщо не закривається, залишок повинен покривати rent.
UpgradeNonceAccountОновлює nonce-обліковий запис зі старого формату до поточної версії. Обліковий запис повинен бути доступним для запису та містити застарілу версію nonce.

Усі основні програми

ПрограмаID програмиОписДжерело
System11111111111111111111111111111111Створює акаунти, переказує SOL, виділяє дані та призначає власністьДжерело
VoteVote111111111111111111111111111111111111111Створює та керує акаунтами, які відстежують стан голосування валідаторів та винагородиДжерело
StakeStake11111111111111111111111111111111111111Створює та керує делегуванням стейку валідаторамДжерело
ConfigConfig1111111111111111111111111111111111111Зберігає конфігураційні дані в блокчейні з контролем доступу на основі ключівДжерело
Compute BudgetComputeBudget111111111111111111111111111111Встановлює ліміти обчислювальних одиниць та пріоритетні комісії для транзакційДжерело
Address Lookup TableAddressLookupTab1e1111111111111111111111111Керує таблицями пошуку адрес для транзакцій, які посилаються на багато акаунтівДжерело
ZK ElGamal ProofZkE1Gama1Proof11111111111111111111111111111Перевіряє докази з нульовим розголошенням для даних, зашифрованих ElGamalДжерело

Програми-завантажувачі

Кожна програма належить програмі-завантажувачу. Завантажувачі обробляють розгортання, оновлення та виконання програм, якими вони володіють. Дивіться Програми-завантажувачі для повного списку завантажувачів та їхніх адрес.

Is this page helpful?

Зміст

Редагувати сторінку

Керується

© 2026 Фонд Solana.
Всі права захищені.
Залишайтеся на зв'язку