Η διεπαφή γραμμής εντολών 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 --helpsolana transfer --helpsolana 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 devnetsolana 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 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 ως ποσό για να μεταφέρετε το διαθέσιμο
υπόλοιπο μετά την αφαίρεση των χρεώσεων. Για παραδείγματα με 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.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 για να αλλάξετε την αρχή του nonce και την nonce-account
για να επιθεωρήσετε την πλήρη κατάσταση του λογαριασμού. Οι συναλλαγές που χρησιμοποιούν nonce δέχονται επίσης
τα --nonce και --nonce-authority στις εντολές που τα υποστηρίζουν.
Ροές εργασίας 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
Η απενεργοποίηση ολοκληρώνεται στα όρια ενός 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 createsolana 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 jsonsolana account <ACCOUNT_ADDRESS> --output json-compactsolana validators --output json > validators.json
Δεν υποστηρίζουν όλες οι εντολές δομημένη έξοδο. Ελέγξτε τη βοήθεια της εντολής πριν βασιστείτε σε αυτήν σε αυτοματισμούς και αντιμετωπίστε έναν μη μηδενικό κωδικό εξόδου ως αποτυχία.
Is this page helpful?