Solana CLI — це основний інструмент командного рядка для взаємодії з блокчейном Solana: розгортання програм, управління гаманцями, відправка транзакцій та моніторинг кластера. Без нього не працює жоден серйозний процес розробки, навіть якщо ви плануєте писати frontend на web3.js. Ця інструкція проведе вас від встановлення до повністю робочого середовища на Devnet.
Встановлення Solana CLI
Офіційний інсталятор для macOS та Linux
Найпростіший спосіб — використати офіційний скрипт встановлення. Він завантажує попередньо зібрані бінарні файли та розміщує їх у вашій системі.
Відкрийте термінал і виконайте:
sh -c "$(curl -sSfL https://release.solana.com/stable/install)"
Увага: екосистема Solana активно трансформується. Перевірте актуальну адресу інсталятора в офіційному репозиторії Solana Labs на GitHub перед виконанням команди.
Очікуваний результат: скрипт завантажує архів, розпаковує його у каталог ~/.local/share/solana/install/active_release/bin і виводить повідомлення про успішне встановлення з підказкою додати шлях до змінної PATH.
Після встановлення оновіть поточну сесію терміналу:
source ~/.bashrc
Або для zsh:
source ~/.zshrc
Якщо скрипт не додав шлях автоматично, виконайте це вручну. Додайте наступний рядок у ваш конфігураційний файл оболонки (.bashrc, .zshrc або інший):
export PATH="$HOME/.local/share/solana/install/active_release/bin:$PATH"
Встановлення для Windows
Solana CLI не має нативного інсталятора для Windows. Офіційно підтримуваний спосіб — використання WSL (Windows Subsystem for Linux). Встановіть WSL з дистрибутивом Ubuntu, відкрийте термінал WSL і виконайте ті самі кроки, що й для Linux.
Альтернативний варіант — збірка з вихідного коду через Rust і Cargo, але це значно повільніший процес і вимагає встановленого Rust-компілятора.
Перевірка версії: solana --version
Після встановлення обов'язково перевірте, що CLI доступний і працює:
solana --version
Очікуваний результат: рядок із версією, наприклад solana-cli 1.18.x. Точна версія залежить від дати встановлення — актуальну стабільну версію перевірте в офіційному репозиторії на GitHub.
Якщо термінал повертає помилку command not found, проблема у змінній PATH — поверніться до кроку додавання шляху.
Конфігурація CLI
solana config get — поточні налаштування
Solana CLI зберігає всі налаштування у файлі конфігурації. Щоб побачити поточний стан, виконайте:
solana config get
Очікуваний результат — таблиця з трьома ключовими параметрами:
- RPC URL — адреса ноди, до якої CLI надсилає запити
- WebSocket URL — адреса для підключення через WebSocket
- Keypair Path — шлях до файлу з приватним ключем за замовчуванням
Файл конфігурації розташований за адресою ~/.config/solana/cli/config.yml. Ви можете редагувати його вручну, але використання CLI-команд надійніше, оскільки вони валідують значення.
Зміна RPC-endpoint та keypair path
Щоб змінити RPC-ендпоінт, наприклад, перейти на Devnet:
solana config set --url https://api.devnet.solana.com
Щоб вказати інший файл ключів:
solana config set --keypair ~/my-project/wallet.json
Після кожної зміни виконуйте solana config get, щоб переконатися, що значення оновилися коректно. Це простий спосіб перевірки, який виключає помилки через описки в шляху або URL.
Генерація ключової пари
solana-keygen new — створення нового гаманця
Для взаємодії з блокчейном вам потрібна ключова пара — приватний і публічний ключі. У контексті Solana CLI це файл гаманця, який використовується за замовчуванням для підпису транзакцій.
Створіть нову ключову пару:
solana-keygen new
CLI запитає парольну фразу (bip39 passphrase) — це додатковий рівень захисту. Ви можете залишити її порожньою, натиснувши Enter, але для будь-яких непорожніх коштів це не рекомендується.
Очікуваний результат: у терміналі з'явиться публічна адреса гаманця (рядок, що починається з букв і цифр), а файл із приватним ключем буде збережено за шляхом, вказаним у конфігурації (за замовчуванням ~/.config/solana/id.json).
Формат файлу ключів та безпека
Файл id.json містить масив байтів приватного ключа у форматі JSON. Це повний приватний ключ — той, хто має доступ до цього файлу, має повний контроль над відповідним гаманцем.
Основні правила безпеки для цього етапу:
- Ніколи не комітьте файл ключів у системи контролю версій — додайте
id.jsonдо.gitignore - Не передавайте файл ключів через месенджери чи пошту
- Використовуйте окремий гаманець для Devnet-розробки — він не повинен мати жодного зв'язку з вашим основним гаманцем на Mainnet
- Зберігайте seed-фразу, яку виводить
solana-keygen new, у надійному місці — вона дозволяє відновити гаманець навіть без файлу ключів
Для локальної розробки на Devnet ці обмеження менш критичні, але формування правильної звички з першого дня захистить вас від помилок у майбутньому.
Перехід між кластерами
solana config set --url — localhost, devnet, mainnet-beta
Solana має три основні кластери для розробки та експлуатації. Перехід між ними — це зміна одного параметра конфігурації.
| Кластер | URL | Призначення |
|---|---|---|
| Localhost | http://127.0.0.1:8899 |
Локальна тестова нода (solana-test-validator) |
| Devnet | https://api.devnet.solana.com |
Публічна тестова мережа з безкоштовними SOL |
| Mainnet-beta | https://api.mainnet-beta.solana.com |
Продакшн-мережа з реальними коштами |
Приклади перемикання:
На локальну ноду:
solana config set --url http://127.0.0.1:8899
На Devnet:
solana config set --url https://api.devnet.solana.com
На Mainnet-beta:
solana config set --url https://api.mainnet-beta.solana.com
Як перевірити поточний кластер
Щоб переконатися, що ви підключені до правильного кластера, виконайте:
solana config get
Зверніть увагу на поле RPC URL. Додатково можна перевірити з'єднання та отримати інформацію про ноду:
solana cluster-version
Очікуваний результат: рядок із версією програмного забезпечення ноди, до якої ви підключені. Якщо ви отримуєте помилку тайм-ауту, перевірте підключення до інтернету та коректність URL.
Важливий нюанс: гаманці (ключові пари) однаково працюють у всіх кластерах, але баланси — ні. Гаманець із 100 SOL на Devnet матиме нульовий баланс на Mainnet. Транзакції, підписані одним і тим самим ключем, йдуть у той кластер, який зараз вказано у конфігурації.
Типові помилки
CLI не знайдено після встановлення
Симптом: після виконання скрипта встановлення команда solana --version повертає solana: command not found.
Причина: шлях до бінарних файлів Solana не додано до змінної PATH або зміни не застосовано до поточної сесії терміналу.
Рішення крок за кроком:
- Перевірте, чи існує каталог із бінарними файлами:
ls ~/.local/share/solana/install/active_release/bin/ - Якщо каталог існує, додайте його до
PATHу вашому конфігураційному файлі оболонки - Застосуйте зміни:
source ~/.bashrcабоsource ~/.zshrc - Якщо ви використовуєте іншу оболонку (fish, nushell), синтаксис додавання до
PATHбуде іншим — зверніться до документації вашої оболонки
Невірна версія для поточного проєкту
Симптом: команди CLI виконуються, але при розгортанні програми або взаємодії з контрактом виникають помилки сумісності.
Причина: екосистема Solana активно розвивається, і різні версії CLI можуть використовувати різні формати транзакцій, версії BPF-компілятора або структури даних.
Рішення:
- Перевірте, яку версію CLI вимагає ваш проєкт — зазвичай це вказано у файлі
Cargo.tomlдля Rust-програм або у документації фреймворку - Перевірте поточну версію:
solana --version - Якщо версії не збігаються, встановіть потрібну версію, вказавши її тег у скрипті встановлення:
sh -c "$(curl -sSfL https://release.solana.com/v1.18.0/install)"— замінітьv1.18.0на потрібну версію, точний тег перевірте у репозиторії проєкту - Перевірте, що після встановлення іншої версії
solana --versionпоказує очікуване значення
У професійній розробці версію CLI часто фіксують у скриптах налаштування проєкту або використовують інструменти керування версіями, щоб уникнути конфліктів між різними проєктами на одній машині.
Тепер, коли Solana CLI встановлено та налаштовано, а ви маєте робочий гаманець на Devnet, логічний наступний крок — почати взаємодіяти з блокчейном програмно. Наступний матеріал у цьому розділі присвячений Solana web3.js: перші кроки, де ви напишете перший скрипт, що підключається до кластера з коду.