Interfejs wiersza poleceń solana konfiguruje połączenie z klastrem, odczytuje
stan sieci, wysyła SOL, zarządza durable nonce, wdraża programy oraz obsługuje
konta stake i konta głosowania.
Ta dokumentacja odpowiada wersji
Agave v4.2.1. Uruchom
solana --version, aby sprawdzić zainstalowaną wersję, i użyj --help, aby zobaczyć dokładne
opcje dostępne w tej wersji.
Polecenia, które tworzą, przesyłają, autoryzują, wypłacają lub wdrażają, wysyłają transakcje. Przed ich uruchomieniem sprawdź skonfigurowany klaster i podpisującego. Tokeny Devnet i Testnet nie mają wartości; polecenia w Mainnet używają prawdziwych SOL.
Struktura poleceń
solana [GLOBAL_OPTIONS] <COMMAND> [COMMAND_OPTIONS]
Uzyskaj pomoc na dowolnym poziomie:
solana --helpsolana transfer --helpsolana address-lookup-table extend --help
Opcje globalne
Opcje globalne można umieścić przed poleceniem. Pomoc dla konkretnego polecenia powtarza opcje, które go dotyczą.
| Opcja | Przeznaczenie |
|---|---|
-u, --url <URL_OR_MONIKER> | Wybierz adres URL RPC lub mainnet-beta, testnet, devnet albo localhost. |
--ws <URL> | Zastąp punkt końcowy WebSocket. |
-k, --keypair <KEYPAIR> | Wybierz plik keypair, ASK, stdin (-) lub obsługiwany adres URL podpisującego. |
-C, --config <FILEPATH> | Użyj innego pliku konfiguracyjnego CLI. |
--commitment <LEVEL> | Odczytuj na poziomie zatwierdzenia processed, confirmed lub finalized. |
--output <FORMAT> | Zwróć json lub json-compact tam, gdzie jest to obsługiwane. |
--skip-preflight | Wyślij bez symulacji RPC. Używaj tylko wtedy, gdy rozumiesz kompromis związany z możliwymi błędami. |
--use-tpu-client | Wysyłaj transakcje przez klienta TPU. |
--no-address-labels | Wyświetlaj adresy bez lokalnych etykiet. |
--skip-seed-phrase-validation | Zezwól na frazę odzyskiwania spoza angielskiej listy BIP39. |
-v, --verbose | Pokaż dodatkowe dane wyjściowe polecenia. |
-V, --version | Wyświetl zainstalowaną wersję CLI. |
Konfiguracja 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
Konfiguracja zawiera adres URL RPC, adres URL WebSocket, domyślnego podpisującego oraz poziom zatwierdzenia. Opcja wiersza poleceń zastępuje zapisaną wartość na czas danego wywołania.
Typowe przepływy pracy z kontami i transakcjami
# 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 domyślnie przyjmuje SOL. Użyj ALL jako kwoty, aby przenieść dostępne
saldo po odliczeniu opłat. Przykłady z tokenami znajdziesz w
krótkim przewodniku po tokenach.
Przepływy pracy z programami
# 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>
Przekaż --program-id <KEYPAIR_OR_ADDRESS>, gdy wdrożenie musi używać znanego
identyfikatora programu. --final czyni nowe wdrożenie niezmiennym; przeczytaj jego pomoc uważnie
przed użyciem, ponieważ uprawnień do aktualizacji (upgrade authority) nie można przywrócić.
Przepływy pracy z durable 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
Użyj authorize-nonce-account, aby zmienić nonce authority, oraz nonce-account,
aby sprawdzić pełny stan konta. Transakcje korzystające z nonce akceptują też
--nonce i --nonce-authority w obsługiwanych poleceniach.
Przepływy pracy ze stake
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
Dezaktywacja kończy się na granicy epoch i może potrwać dłużej niż jeden epoch.
Użyj stakes, validators, stake-history i stake-minimum-delegation, aby
sprawdzić stan klastra i delegacji przed wysłaniem zmian.
Narzędzia adresowe
# 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>
Wartości seed dla PDA używają formatu PREFIX:VALUE. Obsługiwane prefiksy to m.in. string, pubkey,
hex, u8 oraz kodowania liczb całkowitych ze znakiem lub bez znaku o stałej szerokości, takie jak
u64le.
Wiadomości off-chain i uzupełnianie poleceń w powłoce
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
Pełny indeks poleceń
Poniższy indeks zawiera wszystkie polecenia najwyższego poziomu w Agave v4.2.1. Polecenia
takie jak program, config, feature i address-lookup-table zawierają
polecenia zagnieżdżone; uruchom <command> --help, aby je wyświetlić.
| Polecenie | Opis |
|---|---|
account | Pokazuje lamport konta, właściciela, dane i stan wykonywalności. |
address | Wyświetla klucz publiczny wybranego podpisującego. |
address-lookup-table | Tworzy, rozszerza, zamraża, dezaktywuje, zamyka i sprawdza tabele wyszukiwania adresów. |
airdrop | Żąda SOL z faucetu klastra. |
alpenglow-genesis-info | Odczytuje informacje o certyfikacie genesis Alpenglow. |
authorize-nonce-account | Przypisuje uprawnienia do konta durable nonce. |
balance | Pokazuje saldo SOL konta. |
block | Pobiera potwierdzony blok na podstawie slot. |
block-height | Pokazuje bieżącą wysokość bloku. |
block-production | Pokazuje produkcję bloków przez lidera dla zakresu slot. |
block-time | Szacuje czas utworzenia bloku. |
catchup | Czeka, aż validator nadrobi zaległości względem klastra. |
close-vote-account | Zamyka konto głosowania i wypłaca pozostałe środki. |
cluster-date | Szacuje datę klastra na podstawie czasu genesis i czasu sieci. |
cluster-version | Pokazuje wersję oprogramowania punktu wejścia klastra. |
completion | Generuje skrypt uzupełniania poleceń w powłoce. |
config | Pobiera lub ustawia domyślne wartości CLI. |
confirm | Sprawdza status potwierdzenia sygnatury transakcji. |
create-address-with-seed | Wyprowadza adres systemowy na podstawie bazy, seed i identyfikatora programu. |
create-nonce-account | Tworzy i inicjalizuje konto durable nonce. |
create-stake-account | Tworzy konto stake. |
create-stake-account-checked | Tworzy konto stake, sprawdzając withdraw authority jako podpisującego. |
create-vote-account | Tworzy konto głosowania validator. |
deactivate-stake | Rozpoczyna dezaktywację zdelegowanego stake. |
decode-transaction | Dekoduje zserializowaną transakcję. |
delegate-stake | Deleguje konto stake do konta głosowania. |
epoch | Pokazuje numer bieżącego epoch. |
epoch-info | Pokazuje informacje o epoch, slot, wysokości bloku i liczbie transakcji. |
feature | Sprawdza i zarządza kontami funkcji środowiska uruchomieniowego. |
find-program-derived-address | Wyprowadza PDA i kanoniczny bump z typowanych wartości seed. |
first-available-block | Pokazuje pierwszy kompletny blok przechowywany przez węzeł RPC. |
genesis-hash | Pokazuje hash genesis klastra. |
gossip | Wyświetla listę węzłów widocznych przez gossip. |
help | Wyświetla pomoc główną lub dla polecenia. |
inflation | Pokazuje informacje o governor inflacji, jej stopie lub nagrodach. |
largest-accounts | Wyświetla listę największych kont klastra. |
leader-schedule | Wyświetla harmonogram liderów. |
live-slots | Strumieniuje postęp bieżącego slot. |
logs | Strumieniuje logi transakcji, opcjonalnie filtrowane według adresu. |
merge-stake | Scala zgodne konta stake. |
new-nonce | Przesuwa durable nonce do kolejnej wartości. |
nonce | Wyświetla wartość durable nonce. |
nonce-account | Pokazuje pełny stan konta durable nonce. |
program | Wdraża, aktualizuje, sprawdza, zrzuca, ustawia authority dla lub zamyka programy i bufory. |
recent-prioritization-fees | Pokazuje ostatnie opłaty priorytetowe dla kont z możliwością zapisu. |
rent | Oblicza minimalne saldo zwalniające z rent dla danego rozmiaru danych konta. |
resolve-signer | Zamienia ogólne odwołanie do podpisującego, np. adres URL Ledger, na konkretną ścieżkę. |
sign-offchain-message | Podpisuje wiadomość off-chain w UTF-8. |
slot | Pokazuje bieżący slot. |
split-stake | Przenosi lamport z jednego konta stake na drugie. |
stake-account | Pokazuje uprawnienia, saldo i stan delegacji konta stake. |
stake-authorize | Zmienia stake authority lub withdraw authority. |
stake-authorize-checked | Zmienia stake authority, sprawdzając nowe authority jako podpisującego. |
stake-history | Pokazuje historię aktywacji i dezaktywacji stake w klastrze. |
stake-minimum-delegation | Pokazuje minimalną delegację stake w klastrze. |
stake-set-lockup | Ustawia blokadę (lockup) konta stake. |
stake-set-lockup-checked | Ustawia blokadę, sprawdzając nowego custodiana jako podpisującego. |
stakes | Wyświetla listę kont stake, opcjonalnie filtrowaną według validator lub authority. |
supply | Pokazuje podaż SOL: w obiegu, poza obiegiem i całkowitą. |
transaction-count | Pokazuje liczbę transakcji w klastrze. |
transaction-history | Wyświetla transakcje z udziałem adresu, od najnowszych do najstarszych. |
transfer | Przesyła SOL między kontami systemowymi. |
upgrade-nonce-account | Idempotentnie aktualizuje starsze konto nonce. |
validator-info | Publikuje lub odczytuje informacje o validator. |
validators | Pokazuje podsumowanie stake, prowizji, wskaźnika pominięć i wersji validator. |
verify-offchain-signature | Weryfikuje podpisaną wiadomość off-chain. |
vote-account | Pokazuje uprawnienia, prowizję, kredyty i głosy konta głosowania. |
vote-authorize-voter | Zmienia voter authority konta głosowania. |
vote-authorize-voter-checked | Zmienia voter authority, sprawdzając nowe authority jako podpisującego. |
vote-authorize-withdrawer | Zmienia withdraw authority konta głosowania. |
vote-authorize-withdrawer-checked | Zmienia withdraw authority, sprawdzając nowe authority jako podpisującego. |
vote-update-commission | Zmienia prowizję konta głosowania. |
vote-update-validator | Zmienia tożsamość validator przypisaną do konta głosowania. |
withdraw-from-nonce-account | Wypłaca część lub całość SOL z konta durable nonce. |
withdraw-from-vote-account | Wypłaca lamport z konta głosowania. |
withdraw-stake | Wypłaca nieaktywne SOL z konta stake. |
Dane wyjściowe skryptów
Zamiast analizować dane wyjściowe przeznaczone dla człowieka, użyj --output json lub
--output json-compact tam, gdzie jest to obsługiwane:
solana epoch-info --output jsonsolana account <ACCOUNT_ADDRESS> --output json-compactsolana validators --output json > validators.json
Nie każde polecenie obsługuje ustrukturyzowane dane wyjściowe. Sprawdź pomoc polecenia, zanim zaczniesz na nich polegać w automatyzacji, i traktuj niezerowy kod wyjścia jako błąd.
Is this page helpful?