Інтерфейс командного рядка solana налаштовує підключення до кластера, зчитує
стан мережі, надсилає SOL, керує довговічними nonce, розгортає програми та працює
з акаунтами стейкінгу й голосування.
Цей довідник відповідає Agave v4.2.1. Виконайте
solana --version, щоб перевірити встановлений реліз, і скористайтеся --help, щоб побачити точні
опції, доступні в цій версії.
Команди, які створюють, переказують, авторизують, виводять кошти або розгортають, надсилають транзакції. Перш ніж запускати їх, перевірте налаштований кластер і підписанта. Токени Devnet і Testnet не мають вартості; команди Mainnet використовують справжні SOL.
Структура команд
solana [GLOBAL_OPTIONS] <COMMAND> [COMMAND_OPTIONS]
Отримайте довідку на будь-якому рівні:
solana --helpsolana transfer --helpsolana address-lookup-table extend --help
Глобальні опції
Глобальні опції можна розміщувати перед командою. Довідка конкретної команди повторює опції, які до неї застосовуються.
| Опція | Призначення |
|---|---|
-u, --url <URL_OR_MONIKER> | Вибрати RPC URL або mainnet-beta, testnet, devnet чи localhost. |
--ws <URL> | Перевизначити кінцеву точку WebSocket. |
-k, --keypair <KEYPAIR> | Вибрати файл keypair, ASK, stdin (-) або підтримуваний URL підписанта. |
-C, --config <FILEPATH> | Використати інший файл конфігурації CLI. |
--commitment <LEVEL> | Читати з рівнем підтвердження processed, confirmed або finalized. |
--output <FORMAT> | Повернути json або json-compact, де це підтримується. |
--skip-preflight | Надіслати без симуляції на RPC. Використовуйте лише тоді, коли ви розумієте компроміс щодо можливих збоїв. |
--use-tpu-client | Надсилати транзакції через клієнт TPU. |
--no-address-labels | Виводити адреси без локальних міток. |
--skip-seed-phrase-validation | Дозволити фразу відновлення, якої немає в англійському списку BIP39. |
-v, --verbose | Показувати додаткові дані команди. |
-V, --version | Вивести встановлену версію CLI. |
Налаштування CLI
# Inspect the effective configuration.solana config get# Use Devnet and a specific signer by default.solana config set --url devnetsolana config set --keypair ./devnet-keypair.json# Override defaults for one command.solana --url mainnet-beta --keypair usb://ledger address
Конфігурація містить RPC URL, URL WebSocket, підписанта за замовчуванням і рівень підтвердження. Опція командного рядка перевизначає збережене значення для цього виклику.
Типові робочі процеси з акаунтами й транзакціями
# Print the default signer's address and balance.solana addresssolana balance# Read an account as JSON.solana account <ACCOUNT_ADDRESS> --output json# Request Devnet SOL.solana airdrop 1 --url devnet# Send SOL and then confirm the returned signature.solana transfer <RECIPIENT_ADDRESS> 0.1 --allow-unfunded-recipientsolana confirm <TRANSACTION_SIGNATURE># Inspect recent activity and stream logs mentioning an address.solana transaction-history <ADDRESS> --limit 20solana logs <ADDRESS>
transfer за замовчуванням працює з SOL. Вкажіть ALL як суму, щоб перемістити доступний
баланс після сплати комісій. Приклади з токенами дивіться в
короткому посібнику з токенів.
Робочі процеси з програмами
# Deploy or upgrade an SBF program.solana program deploy ./target/deploy/my_program.so# Inspect the deployed program and list programs controlled by the signer.solana program show <PROGRAM_ID>solana program show --programs# Close a program buffer and recover its lamports.solana program close <BUFFER_ADDRESS>
Передайте --program-id <KEYPAIR_OR_ADDRESS>, коли розгортання має використовувати відомий
ідентифікатор програми. --final робить нове розгортання незмінним; уважно прочитайте його довідку
перед використанням, оскільки повноваження на оновлення відновити неможливо.
Робочі процеси з довговічними nonce
solana-keygen new --outfile nonce-account.jsonsolana create-nonce-account nonce-account.json 0.1solana nonce nonce-account.jsonsolana new-nonce nonce-account.jsonsolana withdraw-from-nonce-account nonce-account.json <RECIPIENT_ADDRESS> ALL
Використовуйте authorize-nonce-account, щоб змінити authority для nonce, і nonce-account,
щоб переглянути повний стан акаунта. Транзакції з nonce також приймають
--nonce і --nonce-authority у підтримуваних командах.
Робочі процеси зі стейкінгом
solana-keygen new --outfile stake-account.jsonsolana create-stake-account stake-account.json 1solana delegate-stake stake-account.json <VOTE_ACCOUNT_ADDRESS>solana stake-account stake-account.jsonsolana deactivate-stake stake-account.jsonsolana withdraw-stake stake-account.json <RECIPIENT_ADDRESS> ALL
Деактивація завершується на межі epoch і може тривати понад один epoch.
Використовуйте stakes, validators, stake-history і stake-minimum-delegation, щоб
перевірити стан кластера та делегування перед надсиланням змін.
Утиліти для адрес
# Derive a PDA from typed seeds.solana find-program-derived-address \<PROGRAM_ID> \string:profile \pubkey:<OWNER_ADDRESS># Create and extend an address lookup table.solana address-lookup-table createsolana address-lookup-table extend \<LOOKUP_TABLE_ADDRESS> \--addresses <ADDRESS_1>,<ADDRESS_2>
PDA seeds використовують формат PREFIX:VALUE. Підтримувані префікси: string, pubkey,
hex, u8 та кодування цілих чисел фіксованої ширини зі знаком або без знака, як-от
u64le.
Off-chain повідомлення та автодоповнення в оболонці
solana sign-offchain-message "terms accepted"solana verify-offchain-signature \"terms accepted" \<SIGNATURE> \--signer <SIGNER_ADDRESS># Print a completion script for the current shell.solana completion --shell zsh
Повний індекс команд
Наведений індекс охоплює кожну команду верхнього рівня в Agave v4.2.1. Команди
на кшталт program, config, feature і address-lookup-table містять
вкладені команди; виконайте <command> --help, щоб побачити їх список.
| Команда | Опис |
|---|---|
account | Показати lamports, власника, дані та стан виконуваності акаунта. |
address | Вивести публічний ключ вибраного підписанта. |
address-lookup-table | Створення, розширення, заморожування, деактивація, закриття та перегляд таблиць пошуку адрес. |
airdrop | Запросити SOL із фаусета кластера. |
alpenglow-genesis-info | Прочитати інформацію про genesis-сертифікат Alpenglow. |
authorize-nonce-account | Призначити authority для довговічного nonce-акаунта. |
balance | Показати баланс SOL акаунта. |
block | Отримати підтверджений блок за slot. |
block-height | Показати поточну висоту блоку. |
block-production | Показати вироблення блоків лідером для діапазону slot. |
block-time | Оцінити час створення блоку. |
catchup | Дочекатися, поки validator наздожене кластер. |
close-vote-account | Закрити акаунт голосування й вивести його залишкові кошти. |
cluster-date | Оцінити дату кластера за часом genesis і мережевим часом. |
cluster-version | Показати версію програмного забезпечення точки входу кластера. |
completion | Згенерувати скрипт автодоповнення для оболонки. |
config | Отримати або встановити значення CLI за замовчуванням. |
confirm | Перевірити статус підтвердження підпису транзакції. |
create-address-with-seed | Вивести системну адресу з base, seed та ідентифікатора програми. |
create-nonce-account | Створити й ініціалізувати довговічний nonce-акаунт. |
create-stake-account | Створити акаунт стейкінгу. |
create-stake-account-checked | Створити акаунт стейкінгу з перевіркою withdraw authority як підписанта. |
create-vote-account | Створити акаунт голосування для validator. |
deactivate-stake | Розпочати деактивацію делегованого стейку. |
decode-transaction | Декодувати серіалізовану транзакцію. |
delegate-stake | Делегувати акаунт стейкінгу акаунту голосування. |
epoch | Показати номер поточного epoch. |
epoch-info | Показати інформацію про epoch, slot, висоту блоку та кількість транзакцій. |
feature | Переглядати й керувати акаунтами функцій середовища виконання. |
find-program-derived-address | Вивести PDA та канонічний bump із типізованих seed. |
first-available-block | Показати перший повний блок, збережений вузлом RPC. |
genesis-hash | Показати genesis-хеш кластера. |
gossip | Показати список вузлів, видимих через gossip. |
help | Вивести довідку кореневого рівня або команди. |
inflation | Показати інформацію про inflation governor, ставку або винагороди. |
largest-accounts | Показати найбільші акаунти кластера. |
leader-schedule | Показати розклад лідерів. |
live-slots | Транслювати перебіг поточних slot. |
logs | Транслювати журнали транзакцій, за потреби з фільтром за адресою. |
merge-stake | Об’єднати сумісні акаунти стейкінгу. |
new-nonce | Просунути довговічний nonce. |
nonce | Вивести значення довговічного nonce. |
nonce-account | Показати повний стан довговічного nonce-акаунта. |
program | Розгортати, оновлювати, переглядати, вивантажувати, встановлювати authority для програм і буферів або закривати їх. |
recent-prioritization-fees | Показати нещодавні комісії за пріоритизацію для акаунтів із правом запису. |
rent | Обчислити мінімум для звільнення від оренди (rent-exempt) для заданого розміру даних акаунта. |
resolve-signer | Перетворити загальне посилання на підписанта, наприклад URL Ledger, на його конкретний шлях. |
sign-offchain-message | Підписати off-chain повідомлення в UTF-8. |
slot | Показати поточний slot. |
split-stake | Перенести lamports з одного акаунта стейкінгу в інший. |
stake-account | Показати authority, баланс і стан делегування акаунта стейкінгу. |
stake-authorize | Змінити stake authority або withdraw authority. |
stake-authorize-checked | Змінити stake authority з перевіркою нового authority як підписанта. |
stake-history | Показати історію активації та деактивації стейку в кластері. |
stake-minimum-delegation | Показати мінімальне делегування стейку в кластері. |
stake-set-lockup | Встановити lockup для акаунта стейкінгу. |
stake-set-lockup-checked | Встановити lockup з перевіркою нового custodian як підписанта. |
stakes | Показати акаунти стейкінгу, за потреби з фільтром за validator або authority. |
supply | Показати циркулюючу, нециркулюючу та загальну пропозицію SOL. |
transaction-count | Показати кількість транзакцій у кластері. |
transaction-history | Показати транзакції, пов’язані з адресою, від найновіших до найстаріших. |
transfer | Переказати SOL між системними акаунтами. |
upgrade-nonce-account | Ідемпотентно оновити застарілий nonce-акаунт. |
validator-info | Опублікувати або прочитати інформацію про validator. |
validators | Показати зведення про стейк validator, комісію, частку пропусків і версію. |
verify-offchain-signature | Перевірити підписане off-chain повідомлення. |
vote-account | Показати authority, комісію, кредити та голоси акаунта голосування. |
vote-authorize-voter | Змінити voter authority акаунта голосування. |
vote-authorize-voter-checked | Змінити voter authority з перевіркою нового authority як підписанта. |
vote-authorize-withdrawer | Змінити withdraw authority акаунта голосування. |
vote-authorize-withdrawer-checked | Змінити withdraw authority з перевіркою нового authority як підписанта. |
vote-update-commission | Змінити комісію акаунта голосування. |
vote-update-validator | Змінити identity validator, призначену акаунту голосування. |
withdraw-from-nonce-account | Вивести частину або всі SOL із довговічного nonce-акаунта. |
withdraw-from-vote-account | Вивести lamports з акаунта голосування. |
withdraw-stake | Вивести неактивні SOL з акаунта стейкінгу. |
Вивід для скриптів
Використовуйте --output json або --output json-compact, де це підтримується, замість
розбору виводу, призначеного для людини:
solana epoch-info --output jsonsolana account <ACCOUNT_ADDRESS> --output json-compactsolana validators --output json > validators.json
Не кожна команда підтримує структурований вивід. Перевіряйте довідку команди, перш ніж покладатися на нього в автоматизації, і вважайте ненульовий код завершення помилкою.
Is this page helpful?