Solana-CLI-Referenz

Die Befehlszeilenschnittstelle solana konfiguriert eine Cluster-Verbindung, liest den Netzwerkstatus, sendet SOL, verwaltet Durable Nonces, deployt Programme und verwaltet Stake- und Vote-Konten.

Diese Referenz folgt Agave v4.2.1. Mit solana --version lässt sich die installierte Version prüfen; --help zeigt die genauen Optionen, die in dieser Version verfügbar sind.

Befehle, mit denen etwas erstellt, übertragen, autorisiert, abgehoben oder deployt wird, senden Transaktionen. Vor der Ausführung sollten der konfigurierte Cluster und der Signer geprüft werden. Devnet- und Testnet-Token haben keinen Wert; Mainnet-Befehle verwenden echtes SOL.

Befehlsstruktur

solana [GLOBAL_OPTIONS] <COMMAND> [COMMAND_OPTIONS]

Hilfe auf jeder Ebene abrufen:

solana --help
solana transfer --help
solana address-lookup-table extend --help

Globale Optionen

Globale Optionen können vor dem Befehl stehen. Die befehlsspezifische Hilfe wiederholt die Optionen, die für den jeweiligen Befehl gelten.

OptionZweck
-u, --url <URL_OR_MONIKER>Wählt eine RPC-URL oder mainnet-beta, testnet, devnet oder localhost aus.
--ws <URL>Überschreibt den WebSocket-Endpunkt.
-k, --keypair <KEYPAIR>Wählt eine Keypair-Datei, ASK, stdin (-) oder eine unterstützte Signer-URL aus.
-C, --config <FILEPATH>Verwendet eine andere CLI-Konfigurationsdatei.
--commitment <LEVEL>Liest mit dem Commitment-Level processed, confirmed oder finalized.
--output <FORMAT>Gibt json oder json-compact zurück, sofern unterstützt.
--skip-preflightSendet ohne RPC-Simulation. Nur verwenden, wenn die Risiken eines möglichen Fehlschlags bekannt sind.
--use-tpu-clientSendet Transaktionen über den TPU-Client.
--no-address-labelsGibt Adressen ohne lokale Labels aus.
--skip-seed-phrase-validationErlaubt eine Recovery-Phrase außerhalb der englischen BIP39-Liste.
-v, --verboseZeigt zusätzliche Befehlsausgaben an.
-V, --versionGibt die installierte CLI-Version aus.

Die CLI konfigurieren

# Inspect the effective configuration.
solana config get
# Use Devnet and a specific signer by default.
solana config set --url devnet
solana config set --keypair ./devnet-keypair.json
# Override defaults for one command.
solana --url mainnet-beta --keypair usb://ledger address

Die Konfiguration enthält eine RPC-URL, eine WebSocket-URL, den Standard-Signer und das Commitment. Eine Befehlszeilenoption überschreibt den gespeicherten Wert für den jeweiligen Aufruf.

Gängige Workflows für Konten und Transaktionen

# Print the default signer's address and balance.
solana address
solana 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-recipient
solana confirm <TRANSACTION_SIGNATURE>
# Inspect recent activity and stream logs mentioning an address.
solana transaction-history <ADDRESS> --limit 20
solana logs <ADDRESS>

transfer akzeptiert standardmäßig SOL. Mit ALL als Betrag wird das verfügbare Guthaben nach Abzug der Fee übertragen. Beispiele für Token siehe Token-Quickstart.

Programm-Workflows

# 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> angeben, wenn ein Deployment eine bekannte Programm-ID verwenden muss. --final macht ein neues Deployment unveränderlich; vor der Verwendung die Hilfe sorgfältig lesen, da die Upgrade-Authority nicht wiederhergestellt werden kann.

Durable-Nonce-Workflows

solana-keygen new --outfile nonce-account.json
solana create-nonce-account nonce-account.json 0.1
solana nonce nonce-account.json
solana new-nonce nonce-account.json
solana withdraw-from-nonce-account nonce-account.json <RECIPIENT_ADDRESS> ALL

Mit authorize-nonce-account wird die Nonce-Authority geändert, mit nonce-account der vollständige Kontostatus abgerufen. Transaktionen mit einer Nonce akzeptieren bei unterstützten Befehlen außerdem --nonce und --nonce-authority.

Stake-Workflows

solana-keygen new --outfile stake-account.json
solana create-stake-account stake-account.json 1
solana delegate-stake stake-account.json <VOTE_ACCOUNT_ADDRESS>
solana stake-account stake-account.json
solana deactivate-stake stake-account.json
solana withdraw-stake stake-account.json <RECIPIENT_ADDRESS> ALL

Die Deaktivierung wird an einer Epoch-Grenze abgeschlossen und kann mehr als eine Epoch dauern. Mit stakes, validators, stake-history und stake-minimum-delegation lassen sich der Cluster- und Delegierungsstatus prüfen, bevor Änderungen gesendet werden.

Adress-Hilfsprogramme

# 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 create
solana address-lookup-table extend \
<LOOKUP_TABLE_ADDRESS> \
--addresses <ADDRESS_1>,<ADDRESS_2>

PDA-Seeds verwenden das Format PREFIX:VALUE. Unterstützte Präfixe sind unter anderem string, pubkey, hex, u8 sowie vorzeichenbehaftete oder vorzeichenlose Integer-Kodierungen mit fester Breite, wie u64le.

Off-Chain-Nachrichten und Shell-Vervollständigung

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

Vollständiger Befehlsindex

Der folgende Index enthält jeden Top-Level-Befehl in Agave v4.2.1. Befehle wie program, config, feature und address-lookup-table enthalten verschachtelte Befehle; mit <command> --help lassen sie sich auflisten.

BefehlBeschreibung
accountZeigt Lamports, Owner, Daten und ausführbaren Status eines Kontos an.
addressGibt den öffentlichen Schlüssel des ausgewählten Signers aus.
address-lookup-tableErstellt, erweitert, friert ein, deaktiviert, schließt und prüft Address Lookup Tables.
airdropFordert SOL von einem Cluster-Faucet an.
alpenglow-genesis-infoLiest Informationen zum Alpenglow-Genesis-Zertifikat.
authorize-nonce-accountWeist einem Durable-Nonce-Konto eine Authority zu.
balanceZeigt das SOL-Guthaben eines Kontos an.
blockRuft einen bestätigten Block anhand des Slots ab.
block-heightZeigt die aktuelle Blockhöhe an.
block-productionZeigt die Block-Produktion der Leader für einen Slot-Bereich an.
block-timeSchätzt den Produktionszeitpunkt eines Blocks.
catchupWartet, bis ein Validator zum Cluster aufgeschlossen hat.
close-vote-accountSchließt ein Vote-Konto und hebt das verbleibende Guthaben ab.
cluster-dateSchätzt das Cluster-Datum anhand von Genesis-Zeit und Netzwerkzeit.
cluster-versionZeigt die Softwareversion des Cluster-Entrypoints an.
completionErzeugt ein Shell-Vervollständigungsskript.
configLiest oder setzt CLI-Standardwerte.
confirmPrüft den Bestätigungsstatus einer Transaktionssignatur.
create-address-with-seedLeitet eine System-Adresse aus Base, Seed und Programm-ID ab.
create-nonce-accountErstellt und initialisiert ein Durable-Nonce-Konto.
create-stake-accountErstellt ein Stake-Konto.
create-stake-account-checkedErstellt ein Stake-Konto und prüft dabei die Withdraw-Authority als Signer.
create-vote-accountErstellt ein Validator-Vote-Konto.
deactivate-stakeBeginnt mit der Deaktivierung delegierter Stakes.
decode-transactionDekodiert eine serialisierte Transaktion.
delegate-stakeDelegiert ein Stake-Konto an ein Vote-Konto.
epochZeigt die aktuelle Epoch-Nummer an.
epoch-infoZeigt Informationen zu Epoch, Slot, Blockhöhe und Transaktionsanzahl an.
featurePrüft und verwaltet Runtime-Feature-Konten.
find-program-derived-addressLeitet eine PDA und den kanonischen Bump aus typisierten Seeds ab.
first-available-blockZeigt den ersten vollständigen Block an, den der RPC-Node vorhält.
genesis-hashZeigt den Genesis-Hash des Clusters an.
gossipListet über Gossip sichtbare Nodes auf.
helpGibt die Hilfe für die Root-Ebene oder einen Befehl aus.
inflationZeigt Inflation-Governor-, Raten- oder Reward-Informationen an.
largest-accountsListet die größten Konten des Clusters auf.
leader-scheduleZeigt den Leader-Schedule an.
live-slotsStreamt den aktuellen Slot-Fortschritt.
logsStreamt Transaktionslogs, optional nach Adresse gefiltert.
merge-stakeFührt kompatible Stake-Konten zusammen.
new-nonceSetzt eine Durable Nonce weiter.
nonceGibt den Wert einer Durable Nonce aus.
nonce-accountZeigt den vollständigen Status eines Durable-Nonce-Kontos an.
programDeployt, aktualisiert, prüft und dumpt Programme und Buffer, legt deren Authority fest oder schließt sie.
recent-prioritization-feesZeigt die aktuelle Priorisierungs-Fee für beschreibbare Konten an.
rentBerechnet das Rent-Exempt-Minimum für eine bestimmte Kontodatengröße.
resolve-signerLöst eine allgemeine Signer-Referenz wie eine Ledger-URL in ihren spezifischen Pfad auf.
sign-offchain-messageSigniert eine UTF-8-Off-Chain-Nachricht.
slotZeigt den aktuellen Slot an.
split-stakeTeilt Lamports von einem Stake-Konto auf ein anderes auf.
stake-accountZeigt Authorities, Guthaben und Delegierungsstatus eines Stake-Kontos an.
stake-authorizeÄndert eine Stake- oder Withdraw-Authority.
stake-authorize-checkedÄndert eine Stake-Authority und prüft dabei die neue Authority als Signer.
stake-historyZeigt den Verlauf der Stake-Aktivierung und -Deaktivierung im Cluster an.
stake-minimum-delegationZeigt die minimale Stake-Delegierung des Clusters an.
stake-set-lockupLegt einen Lockup für ein Stake-Konto fest.
stake-set-lockup-checkedLegt einen Lockup fest und prüft dabei den neuen Custodian als Signer.
stakesListet Stake-Konten auf, optional nach Validator oder Authority gefiltert.
supplyZeigt das zirkulierende, das nicht zirkulierende und das gesamte SOL-Angebot an.
transaction-countZeigt die Transaktionsanzahl des Clusters an.
transaction-historyListet Transaktionen einer Adresse von der neuesten zur ältesten auf.
transferÜberträgt SOL zwischen System-Konten.
upgrade-nonce-accountAktualisiert idempotent ein veraltetes Nonce-Konto.
validator-infoVeröffentlicht oder liest Validator-Informationen.
validatorsZeigt eine Übersicht der Validatoren mit Stake, Commission, Skip-Rate und Version an.
verify-offchain-signatureVerifiziert eine signierte Off-Chain-Nachricht.
vote-accountZeigt Authorities, Commission, Credits und Votes eines Vote-Kontos an.
vote-authorize-voterÄndert die Voter-Authority eines Vote-Kontos.
vote-authorize-voter-checkedÄndert die Voter-Authority und prüft dabei die neue Authority als Signer.
vote-authorize-withdrawerÄndert die Withdraw-Authority eines Vote-Kontos.
vote-authorize-withdrawer-checkedÄndert die Withdraw-Authority und prüft dabei die neue Authority als Signer.
vote-update-commissionÄndert die Commission eines Vote-Kontos.
vote-update-validatorÄndert die einem Vote-Konto zugewiesene Validator-Identität.
withdraw-from-nonce-accountHebt einen Teil oder das gesamte SOL von einem Durable-Nonce-Konto ab.
withdraw-from-vote-accountHebt Lamports von einem Vote-Konto ab.
withdraw-stakeHebt inaktives SOL von einem Stake-Konto ab.

Skriptausgabe

Anstatt die für Menschen lesbare Ausgabe zu parsen, sollte --output json oder --output json-compact verwendet werden, sofern unterstützt:

solana epoch-info --output json
solana account <ACCOUNT_ADDRESS> --output json-compact
solana validators --output json > validators.json

Nicht jeder Befehl unterstützt strukturierte Ausgabe. Vor dem Einsatz in der Automatisierung die Hilfe des Befehls prüfen und einen Exit-Status ungleich null als Fehler behandeln.

Is this page helpful?

Inhaltsverzeichnis

Seite bearbeiten
© 2026 Solana Foundation. Alle Rechte vorbehalten.