Сім концепцій утворюють основу розробки на Solana. Почніть з акаунтів та програм, потім простежте, як інструкції перетворюються на транзакції. PDA, CPI та комісії доповнюють цю модель виконання.
Акаунти
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).
Додаткові теми
Активи
Взаємозамінні та невзаємозамінні цифрові активи на Solana (SPL Token, Token-2022).
Кластери та ендпоінти
Mainnet, Devnet та Testnet: групи validator, що обробляють JSON-RPC запити.
| Кластер | Публічний RPC ендпоінт | Використання |
|---|---|---|
| Mainnet | https://api.mainnet.solana.com | Продакшн |
| Devnet | https://api.devnet.solana.com | Експерименти розробників |
| Testnet | https://api.testnet.solana.com | Тестування validator |
Is this page helpful?