Основні концепції

Сім концепцій утворюють основу розробки на Solana. Почніть з акаунтів та програм, потім простежте, як інструкції перетворюються на транзакції. PDA, CPI та комісії доповнюють цю модель виконання.

Solana core concepts, ordered from accounts and programs through instructions and transactions, with PDAs, CPIs, and fees

Акаунти

Solana зберігає весь стан в акаунтах — сховищі типу «ключ-значення» з 32-байтними адресами. Кожен акаунт має п'ять полів: lamports, data, owner, executable та rent_epoch.

Програми

Смартконтракти Solana, скомпільовані у sBPF. Програми не мають стану, і весь змінний стан зберігається в окремих акаунтах даних, що передаються через інструкції.

Інструкції

Запит на виконання однієї програми, що містить ідентифікатор програми, список акаунтів та байти даних. Кілька інструкцій об'єднуються в одну транзакцію.

Транзакції

Атомарна одиниця виконання на Solana. Містить підписи та повідомлення (адреси акаунтів, останній хеш блоку та скомпільовані інструкції). Максимум 1232 байти або 4096 у форматі v1.

Комісії

Базова комісія — 5 000 lamports за підпис, плюс необов'язкова пріоритетна комісія на основі запитуваних обчислювальних одиниць. Максимум 1,4 млн обчислювальних одиниць на транзакцію.

Program Derived Addresses (PDAs)

Детерміновані адреси, похідні від ідентифікатора програми та seeds. Тільки програма-власник може підписувати від імені PDA через invoke_signed.

Cross-Program Invocations (CPIs)

Виклик однієї програми іншою через invoke або invoke_signed. Привілеї підписувача та права на запис поширюються на викликану програму. Максимальна глибина стеку інструкцій — 5 (верхній рівень плюс CPI).

Додаткові теми

КластерПублічний RPC ендпоінтВикористання
Mainnethttps://api.mainnet.solana.comПродакшн
Devnethttps://api.devnet.solana.comЕксперименти розробників
Testnethttps://api.testnet.solana.comТестування validator

Is this page helpful?

Зміст

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