Стати Solana-розробником означає навчитися писати програми (on-chain programs) на Rust або Anchor та клієнтські застосунки на TypeScript, які відправляють транзакції в блокчейн Solana. Нижче — покрокова інструкція від підготовки середовища до першої підтвердженої взаємодії з Devnet-кластером.

Передумови та дорожня карта

Необхідні знання (Rust, TypeScript, блокчейн-основи)

Для ефективної роботи з Solana потрібні три стовпи:

  • Rust — мова, на якій написані програми Solana. Достатньо базового рівня: володіння системою власності, borrow checker, структурами, enum та трейтами. Не потрібно бути експертом із Rust, але розуміння причин відмов компілятора економить години налагодження.
  • TypeScript — основна мова для клієнтської частини. Бібліотека @solana/web3.js та фреймворк Anchor створені для TypeScript-екосистеми.
  • Блокчейн-основи — розуміння транзакції, підпису, кластера, газу (у Solana — compute units), приватного та публічного ключів. Глибоке знання Ethereum не обов'язкове і може заважати, оскільки архітектура Solana суттєво відрізняється.

Дорожня карта виглядає так:

  1. Налаштувати середовище (ця стаття).
  2. Зрозуміти модель акаунтів Solana.
  3. Написати першу програму на чистому Rust без Anchor.
  4. Перейти на Anchor для продуктивної розробки.
  5. Побудувати клієнтський застосунок, який відправляє транзакції.

Де навчатися: офіційна документація та спільнота

Основне джерело — офіційна документація Solana. Вона містить посібники, інтерактивні приклади та описи API. Додатково варто звернутися до Solana Cookbook на GitHub — це збірка готових патернів для типових завдань: створення токенів, управління акаунтами, кросс-програмні виклики (CPI).

Спільнота зосереджена на Discord-сервері Solana (канали #developer-support та #rust) та на форумі Stack Exchange з тегом solana, де інженери фонду відповідують на технічні запитання.

Налаштування середовища розробки

Встановлення Rust, Solana CLI, Node.js

Середовище: macOS або Linux (Ubuntu 20.04+). Користувачам Windows необхідно використовувати WSL2 — нативна розробка на Windows безпосередньо не підтримується інструментами Solana.

Крок 1. Rust

Встановіть Rust через rustup:

curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh

Після встановлення перезавантажте термінал або виконайте:

source $HOME/.cargo/env

Крок 2. Solana CLI

Встановіть інструментарій Solana. Перевірте актуальну команду встановлення в офіційній документації, оскільки URL релізів може змінюватися. Стандартна команда:

sh -c "$(curl -sSfL https://release.solana.com/stable/install)"

Після виконання скрипт виведе інструкцію для додавання шляху до PATH. Зазвичай це:

export PATH="$HOME/.local/share/solana/install/active_release/bin:$PATH"

Додайте цей рядок до ~/.bashrc або ~/.zshrc і застосуйте:

source ~/.bashrc

Крок 3. Node.js

Встановіть Node.js LTS через nvm (Node Version Manager) — це дозволяє керувати версіями без конфліктів. Встановіть nvm з офіційного репозиторію (перевірте актуальну версію скрипта), потім:

source ~/.bashrc
nvm install --lts

Перевірка встановлення та версій

Перевірте, що всі інструменти доступні в терміналі:

Команда Очікуваний результат
rustc --version Версія компілятора Rust
solana --version Версія Solana CLI
node --version Версія Node.js LTS
npm --version Версія пакетного менеджера npm

Якщо будь-яка команда повертає «command not found», PATH не налаштовано коректно. Поверніться до кроку встановлення відповідного інструменту та переконайтеся, що рядок export PATH додано до правильного файлу конфігурації оболонки, а файл перезавантажено.

Перший крок на Devnet

Створення ключової пари, отримання тестових SOL

Кластер: Devnet — тестова мережа Solana з реальними валідаторами, але без грошової цінності токенів. Усі дії нижче виконуються саме в Devnet.

Перемкніть CLI на Devnet:

solana config set --url devnet

Згенеруйте нову ключову пару (файл ~/.config/solana/id.json):

solana-keygen new

Система запитає парольну фразу (passphrase) для шифрування ключового файлу. У ізольованому навчальному середовищі можна залишити порожньою, але для будь-якого ключа, що використовується довше одного дня, обов'язково встановіть парольну фразу.

Отримайте тестові токени SOL через кран:

solana airdrop 2

Очікуваний результат: повідомлення про успішне зарахування 2 SOL на ваш акаунт. Якщо кран повертає помилку, повторіть спробу через кілька секунд — кран має ліміт запитів на одну адресу.

Перевірка підключення до кластера

Перевірте баланс вашого акаунта:

solana balance

Очікуваний результат: число, близьке до 2 SOL (можна трохи менше через комісію за створення акаунта).

Перевірте стан кластера:

solana slot

Очікуваний результат: велике число — номер поточного слота. Якщо команда повертає число, ви успішно підключені до Devnet і кластер обробляє ваші запити.

Перевірте, який акаунт використовується за замовчуванням:

solana address

Очікуваний результат: публічний ключ у форматі Base58 (рядок із літер і цифр, довжиною 32–44 символи).

Типові помилки на старті

Проблеми з версіями CLI та інструментів

Невідповідність версій Solana CLI та Anchor. Anchor жорстко прив'язаний до конкретних версій Solana CLI. Якщо ви встановили Anchor до оновлення CLI (або навпаки), компіляція програми може завершуватися помилками, які не пов'язані з вашим кодом. Рішення: перед встановленням Anchor перевірте таблицю сумісності у репозиторії Anchor на GitHub.

Застарілий кеш Rust. Після оновлення Solana CLI старі скомпільовані бібліотеки можуть конфліктувати з новими. Очистіть кеш:

cargo clean

Якщо це не допомагає, видаліть цільовий каталог повністю:

rm -rf target

Невдале підключення до Devnet

Таймаут запитів. Devnet — публічна мережа, і навантаження на неї коливається. Якщо команди solana slot або solana balance зависають, проблема не у вашому налаштуванні. Спробуйте вказати явний RPC-ендпоінт:

solana config set --url https://api.devnet.solana.com

Якщо стандартний ендпоінт недоступний, перевірте актуальний список публічних RPC-ендпоінтів Devnet в офіційній документації.

CLI вказує на неправильний кластер. Якщо ви випадково виконали solana config set --url mainnet-beta, усі подальші команди спробують звернутися до основної мережі. Перевірте поточну конфігурацію:

solana config get

Значення RPC URL має містити «devnet» або пряму посилання на Devnet-ендпоінт.

Брандмауер блокує з'єднання. Solana CLI використовує TCP-з'єднання до RPC-вузла (зазвичай порт 8899 для локального кластера, 443 для публічних ендпоінтів). Переконайтеся, що вихідні HTTPS-з'єднання не заблоковані мережевою політикою вашої організації або провайдера.

Наступний крок

Тепер у вас є робоче середовище, ключова пара з тестовими SOL і підтверджене підключення до Devnet. Наступний логічний крок — зрозуміти, як Solana зберігає дані та стан програм. Перейдіть до матеріалу «Як працює модель акаунтів у Solana», де детально розібрано, чому акаунти — це фундаментальна одиниця стану, і як це відрізняється від моделі контрактів в інших блокчейнах.

Джерела