Αναφορά Solana CLI

Η διεπαφή γραμμής εντολών solana ρυθμίζει τη σύνδεση με ένα cluster, διαβάζει την κατάσταση του δικτύου, στέλνει SOL, διαχειρίζεται durable nonces, αναπτύσσει προγράμματα και χειρίζεται λογαριασμούς stake και vote.

Αυτή η αναφορά ακολουθεί το Agave v4.2.1. Εκτελέστε την εντολή solana --version για να ελέγξετε την εγκατεστημένη έκδοση και χρησιμοποιήστε το --help για τις ακριβείς επιλογές που είναι διαθέσιμες σε αυτήν την έκδοση.

Οι εντολές που δημιουργούν, μεταφέρουν, εξουσιοδοτούν, αποσύρουν ή αναπτύσσουν υποβάλλουν συναλλαγές. Επιβεβαιώστε το ρυθμισμένο cluster και τον υπογράφοντα πριν τις εκτελέσετε. Τα tokens του Devnet και του Testnet δεν έχουν αξία· οι εντολές στο Mainnet χρησιμοποιούν πραγματικά SOL.

Δομή εντολών

solana [GLOBAL_OPTIONS] <COMMAND> [COMMAND_OPTIONS]

Λάβετε βοήθεια σε οποιοδήποτε επίπεδο:

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

Καθολικές επιλογές

Οι καθολικές επιλογές μπορούν να τοποθετηθούν πριν από την εντολή. Η βοήθεια της κάθε εντολής επαναλαμβάνει τις επιλογές που ισχύουν για αυτήν.

ΕπιλογήΣκοπός
-u, --url <URL_OR_MONIKER>Επιλέξτε ένα RPC URL ή mainnet-beta, testnet, devnet ή localhost.
--ws <URL>Αντικατάσταση του endpoint 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 devnet
solana config set --keypair ./devnet-keypair.json
# Override defaults for one command.
solana --url mainnet-beta --keypair usb://ledger address

Οι ρυθμίσεις περιλαμβάνουν ένα RPC URL, ένα WebSocket URL, τον προεπιλεγμένο υπογράφοντα και το επίπεδο δέσμευσης. Μια επιλογή γραμμής εντολών υπερισχύει της αποθηκευμένης τιμής για τη συγκεκριμένη εκτέλεση.

Συνήθεις ροές εργασίας λογαριασμών και συναλλαγών

# 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 δέχεται SOL από προεπιλογή. Χρησιμοποιήστε το ALL ως ποσό για να μεταφέρετε το διαθέσιμο υπόλοιπο μετά την αφαίρεση των χρεώσεων. Για παραδείγματα με tokens, δείτε τον οδηγό γρήγορης εκκίνησης για tokens.

Ροές εργασίας προγραμμάτων

# 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> όταν μια ανάπτυξη πρέπει να χρησιμοποιεί ένα γνωστό program ID. Το --final καθιστά μια νέα ανάπτυξη αμετάβλητη· διαβάστε προσεκτικά τη βοήθειά του πριν το χρησιμοποιήσετε, επειδή η αρχή αναβάθμισης δεν μπορεί να αποκατασταθεί.

Ροές εργασίας durable nonce

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

Χρησιμοποιήστε την authorize-nonce-account για να αλλάξετε την αρχή του nonce και την nonce-account για να επιθεωρήσετε την πλήρη κατάσταση του λογαριασμού. Οι συναλλαγές που χρησιμοποιούν nonce δέχονται επίσης τα --nonce και --nonce-authority στις εντολές που τα υποστηρίζουν.

Ροές εργασίας stake

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

Η απενεργοποίηση ολοκληρώνεται στα όρια ενός epoch και μπορεί να διαρκέσει περισσότερα από ένα epoch. Χρησιμοποιήστε τις stakes, validators, stake-history και stake-minimum-delegation για να επιθεωρήσετε την κατάσταση του cluster και των αναθέσεων πριν υποβάλετε αλλαγές.

Βοηθητικά εργαλεία διευθύνσεων

# 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>

Τα seeds των PDA χρησιμοποιούν τη μορφή PREFIX:VALUE. Τα υποστηριζόμενα προθέματα περιλαμβάνουν τα string, pubkey, hex, u8, καθώς και κωδικοποιήσεις ακεραίων σταθερού πλάτους, με ή χωρίς πρόσημο, όπως το u64le.

Μηνύματα εκτός αλυσίδας και συμπλήρωση κελύφους

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 από το faucet ενός cluster.
alpenglow-genesis-infoΔιαβάζει πληροφορίες σχετικά με το πιστοποιητικό genesis του Alpenglow.
authorize-nonce-accountΑναθέτει αρχή σε έναν λογαριασμό durable nonce.
balanceΕμφανίζει το υπόλοιπο SOL ενός λογαριασμού.
blockΑνακτά ένα επιβεβαιωμένο μπλοκ με βάση το slot.
block-heightΕμφανίζει το τρέχον ύψος μπλοκ.
block-productionΕμφανίζει την παραγωγή μπλοκ των leaders για ένα εύρος slots.
block-timeΕκτιμά τον χρόνο παραγωγής ενός μπλοκ.
catchupΑναμένει μέχρι ένας validator να συγχρονιστεί με το cluster.
close-vote-accountΚλείνει έναν λογαριασμό vote και αποσύρει τα υπόλοιπα κεφάλαιά του.
cluster-dateΕκτιμά την ημερομηνία του cluster από τον χρόνο genesis και τον χρόνο δικτύου.
cluster-versionΕμφανίζει την έκδοση λογισμικού του entrypoint του cluster.
completionΔημιουργεί ένα σενάριο συμπλήρωσης κελύφους.
configΑνάγνωση ή ορισμός των προεπιλογών του CLI.
confirmΕλέγχει την κατάσταση επιβεβαίωσης της υπογραφής μιας συναλλαγής.
create-address-with-seedΠαράγει μια διεύθυνση συστήματος από μια βάση, ένα seed και ένα program ID.
create-nonce-accountΔημιουργεί και αρχικοποιεί έναν λογαριασμό durable nonce.
create-stake-accountΔημιουργεί έναν λογαριασμό stake.
create-stake-account-checkedΔημιουργεί έναν λογαριασμό stake ελέγχοντας την αρχή απόσυρσης ως υπογράφοντα.
create-vote-accountΔημιουργεί έναν λογαριασμό vote για validator.
deactivate-stakeΞεκινά την απενεργοποίηση του ανατεθειμένου stake.
decode-transactionΑποκωδικοποιεί μια σειριοποιημένη συναλλαγή.
delegate-stakeΑναθέτει έναν λογαριασμό stake σε έναν λογαριασμό vote.
epochΕμφανίζει τον αριθμό του τρέχοντος epoch.
epoch-infoΕμφανίζει πληροφορίες για το epoch, το slot, το ύψος μπλοκ και το πλήθος συναλλαγών.
featureΕπιθεωρεί και διαχειρίζεται τους λογαριασμούς χαρακτηριστικών του runtime.
find-program-derived-addressΠαράγει ένα PDA και το κανονικό bump από seeds με τύπο.
first-available-blockΕμφανίζει το πρώτο πλήρες μπλοκ που διατηρεί ο κόμβος RPC.
genesis-hashΕμφανίζει το genesis hash του cluster.
gossipΑπαριθμεί τους κόμβους που είναι ορατοί μέσω gossip.
helpΕκτυπώνει τη βοήθεια της ρίζας ή μιας εντολής.
inflationΕμφανίζει πληροφορίες για τον governor του πληθωρισμού, το ποσοστό ή τις ανταμοιβές.
largest-accountsΑπαριθμεί τους μεγαλύτερους λογαριασμούς του cluster.
leader-scheduleΕμφανίζει το πρόγραμμα των leaders.
live-slotsΜεταδίδει σε ροή την πρόοδο των τρεχόντων slots.
logsΜεταδίδει σε ροή τα αρχεία καταγραφής συναλλαγών, με προαιρετικό φιλτράρισμα ανά διεύθυνση.
merge-stakeΣυγχωνεύει συμβατούς λογαριασμούς stake.
new-nonceΠροωθεί ένα durable nonce.
nonceΕκτυπώνει την τιμή ενός durable nonce.
nonce-accountΕμφανίζει την πλήρη κατάσταση ενός λογαριασμού durable nonce.
programΑναπτύσσει, αναβαθμίζει, επιθεωρεί, εξάγει, ορίζει αρχή για ή κλείνει προγράμματα και buffers.
recent-prioritization-feesΕμφανίζει τις πρόσφατες χρεώσεις προτεραιότητας για λογαριασμούς με δυνατότητα εγγραφής.
rentΥπολογίζει το ελάχιστο ποσό απαλλαγής από rent για ένα δεδομένο μέγεθος δεδομένων λογαριασμού.
resolve-signerΑναλύει μια γενική αναφορά υπογράφοντος, όπως ένα URL Ledger, στη συγκεκριμένη διαδρομή της.
sign-offchain-messageΥπογράφει ένα μήνυμα UTF-8 εκτός αλυσίδας.
slotΕμφανίζει το τρέχον slot.
split-stakeΔιαχωρίζει lamports από έναν λογαριασμό stake και τα μεταφέρει σε άλλον.
stake-accountΕμφανίζει τις αρχές, το υπόλοιπο και την κατάσταση ανάθεσης ενός λογαριασμού stake.
stake-authorizeΑλλάζει την αρχή stake ή την αρχή απόσυρσης.
stake-authorize-checkedΑλλάζει μια αρχή stake ελέγχοντας τη νέα αρχή ως υπογράφοντα.
stake-historyΕμφανίζει το ιστορικό ενεργοποίησης και απενεργοποίησης stake του cluster.
stake-minimum-delegationΕμφανίζει την ελάχιστη ανάθεση stake του cluster.
stake-set-lockupΟρίζει το lockup ενός λογαριασμού stake.
stake-set-lockup-checkedΟρίζει ένα lockup ελέγχοντας τον νέο custodian ως υπογράφοντα.
stakesΑπαριθμεί λογαριασμούς stake, με προαιρετικό φιλτράρισμα ανά validator ή αρχή.
supplyΕμφανίζει την κυκλοφορούσα, τη μη κυκλοφορούσα και τη συνολική προσφορά SOL.
transaction-countΕμφανίζει το πλήθος συναλλαγών του cluster.
transaction-historyΑπαριθμεί τις συναλλαγές που αφορούν μια διεύθυνση, από τις νεότερες προς τις παλαιότερες.
transferΜεταφέρει SOL μεταξύ λογαριασμών συστήματος.
upgrade-nonce-accountΑναβαθμίζει με ιδεμπότεντ τρόπο έναν παλαιού τύπου λογαριασμό nonce.
validator-infoΔημοσιεύει ή διαβάζει πληροφορίες validator.
validatorsΕμφανίζει σύνοψη για το stake, την προμήθεια, το ποσοστό παράλειψης και την έκδοση των validators.
verify-offchain-signatureΕπαληθεύει ένα υπογεγραμμένο μήνυμα εκτός αλυσίδας.
vote-accountΕμφανίζει τις αρχές, την προμήθεια, τα credits και τα votes ενός λογαριασμού vote.
vote-authorize-voterΑλλάζει την αρχή voter ενός λογαριασμού vote.
vote-authorize-voter-checkedΑλλάζει την αρχή voter ελέγχοντας τη νέα αρχή ως υπογράφοντα.
vote-authorize-withdrawerΑλλάζει την αρχή απόσυρσης ενός λογαριασμού vote.
vote-authorize-withdrawer-checkedΑλλάζει την αρχή απόσυρσης ελέγχοντας τη νέα αρχή ως υπογράφοντα.
vote-update-commissionΑλλάζει την προμήθεια ενός λογαριασμού vote.
vote-update-validatorΑλλάζει την ταυτότητα validator που έχει ανατεθεί σε έναν λογαριασμό vote.
withdraw-from-nonce-accountΑποσύρει μέρος ή το σύνολο των SOL από έναν λογαριασμό durable nonce.
withdraw-from-vote-accountΑποσύρει lamports από έναν λογαριασμό vote.
withdraw-stakeΑποσύρει ανενεργά SOL από έναν λογαριασμό stake.

Έξοδος για σενάρια

Χρησιμοποιήστε το --output json ή το --output json-compact όπου υποστηρίζεται, αντί να αναλύετε την έξοδο που προορίζεται για ανθρώπους:

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

Δεν υποστηρίζουν όλες οι εντολές δομημένη έξοδο. Ελέγξτε τη βοήθεια της εντολής πριν βασιστείτε σε αυτήν σε αυτοματισμούς και αντιμετωπίστε έναν μη μηδενικό κωδικό εξόδου ως αποτυχία.

Is this page helpful?

© 2026 Ίδρυμα Solana. Με επιφύλαξη παντός δικαιώματος.