Сім концепцій формують фундамент розробки на Solana. Читайте Акаунти, Програми, Інструкції, Транзакції та Комісії саме в такому порядку, оскільки кожна наступна базується на попередній. Прочитайте Акаунти та Програми перед PDA. Прочитайте Програми, Інструкції та PDA перед CPI.
Акаунти
Solana зберігає весь стан в акаунтах — сховищі ключ-значення з 32-байтними адресами як ключами. Кожен акаунт має п'ять полів: lamports, data, owner, executable та rent_epoch.
Програми
Смарт-контракти Solana, скомпільовані в sBPF. Програми є stateless, а весь змінюваний стан зберігається в окремих акаунтах даних, що передаються через інструкції.
Інструкції
Запит на виконання однієї програми, що містить ID програми, список акаунтів та непрозорі байти даних. Кілька інструкцій об'єднуються в одну транзакцію.
Транзакції
Атомарна одиниця виконання на Solana. Містить підписи та повідомлення (адреси акаунтів, останній blockhash та скомпільовані інструкції). Максимум 1232 байти.
Комісії
Базова комісія 5000 lamports за підпис, плюс опціональна пріоритетна комісія на основі запитаних обчислювальних одиниць. Максимум 1,4 млн обчислювальних одиниць на транзакцію.
Адреси, похідні від програм (PDA)
Детерміністичні адреси, похідні від ID програми та seeds. Тільки програма-власник може підписувати від імені PDA через invoke_signed.
Міжпрограмні виклики (CPI)
Виклик однією програмою іншої через invoke або invoke_signed. Привілеї підписанта та запису поширюються на викликану програму. Максимальна глибина стеку інструкцій — 5 (верхній рівень плюс CPI).
Додаткові теми
Токени
Взаємозамінні та невзаємозамінні цифрові активи на Solana (SPL Token, Token-2022).
Кластери та ендпоінти
Mainnet, Devnet та Testnet: групи валідаторів, що обслуговують JSON-RPC запити.
| Кластер | Публічний RPC ендпоінт | Використання |
|---|---|---|
| Mainnet | https://api.mainnet.solana.com | Продакшн |
| Devnet | https://api.devnet.solana.com | Експерименти розробників |
| Testnet | https://api.testnet.solana.com | Тестування валідаторів |
Is this page helpful?