Αναφορά CLI του SPL Token

Η διεπαφή γραμμής εντολών spl-token δημιουργεί και διαχειρίζεται mints, token accounts, αρχές εξουσιοδότησης, μεταφορές και επεκτάσεις Token-2022.

Η παρούσα αναφορά ακολουθεί το spl-token-cli v5.6.1, την έκδοση που συνοδεύει το Agave v4.2.1. Εκτελέστε spl-token --version και χρησιμοποιήστε <command> --help για τις ακριβείς επιλογές που διαθέτει η εγκατεστημένη έκδοσή σας.

Η δημιουργία mint, οι μεταφορές, οι αλλαγές αρχών εξουσιοδότησης, οι καύσεις, τα παγώματα και το κλείσιμο λογαριασμών υποβάλλουν συναλλαγές. Επιβεβαιώστε το cluster, το Token Program, τον signer και τις διευθύνσεις πριν εκτελέσετε μια εντολή. Οι αλλαγές στο Mainnet αφορούν πραγματικά περιουσιακά στοιχεία.

Εγκατάσταση και βοήθεια

Το πακέτο έκδοσης του Agave CLI περιλαμβάνει το spl-token. Αν δεν είναι εγκατεστημένο, χρησιμοποιήστε το δημοσιευμένο crate της Rust:

cargo install spl-token-cli --version 5.6.1
spl-token --version

Δείτε τη βοήθεια σε επίπεδο root ή εντολής:

spl-token --help
spl-token create-token --help
spl-token transfer --help

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

Τοποθετήστε τις καθολικές επιλογές πριν από την εντολή.

ΕπιλογήΣκοπός
-u, --url <URL_OR_MONIKER>Επιλέξτε ένα RPC URL ή mainnet-beta, testnet, devnet ή localhost.
-C, --config <PATH>Χρησιμοποιήστε διαφορετικό αρχείο ρυθμίσεων του Solana CLI.
--fee-payer <KEYPAIR>Επιλέξτε τον λογαριασμό που πληρώνει τα τέλη συναλλαγής.
-p, --program-id <ADDRESS>Χρησιμοποιήστε ρητά ένα Token Program ID.
--program-2022Χρησιμοποιήστε το Token-2022 (TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb).
--output <FORMAT>Επιστρέφει json ή json-compact όπου υποστηρίζεται.
--with-compute-unit-limit <UNITS>Ορίστε το όριο compute units της συναλλαγής.
--with-compute-unit-price <MICRO_LAMPORTS>Ορίστε την τιμή προτεραιότητας ανά compute unit.
-v, --verboseΕμφάνιση επιπλέον εξόδου.
-V, --versionΕμφάνιση της εγκατεστημένης έκδοσης του CLI.

Το προεπιλεγμένο πρόγραμμα είναι το αρχικό Token Program. Χρησιμοποιήστε --program-2022 για mint ή λογαριασμό Token-2022, ακόμη και κατά την ανάγνωσή του. Μια εντολή αποτυγχάνει αν το επιλεγμένο πρόγραμμα δεν κατέχει την παρεχόμενη διεύθυνση.

Δημιουργία και χρήση ενός token

Οι εντολές εκτυπώνουν τις διευθύνσεις που δημιουργήθηκαν. Αποθηκεύστε τη διεύθυνση του mint που επιστρέφει η create-token για τις επόμενες εντολές.

# Create a six-decimal mint under the original Token Program.
spl-token --url devnet create-token --decimals 6
# Create the default signer's associated token account for the mint.
spl-token --url devnet create-account <MINT_ADDRESS>
# Mint 100 tokens to that associated token account.
spl-token --url devnet mint <MINT_ADDRESS> 100
# Read supply, balance, and complete mint or account details.
spl-token --url devnet supply <MINT_ADDRESS>
spl-token --url devnet balance <MINT_ADDRESS>
spl-token --url devnet display <MINT_OR_TOKEN_ACCOUNT_ADDRESS>
# Transfer tokens to a wallet and create its associated account if needed.
spl-token --url devnet transfer \
<MINT_ADDRESS> \
10 \
<RECIPIENT_WALLET_ADDRESS> \
--fund-recipient

Τα ποσά είναι ποσά token σε μορφή UI, προσαρμοσμένα στα δεκαδικά ψηφία του mint. Εντολές όπως οι transfer, burn και unwrap-sol δέχονται το ALL εκεί όπου αναφέρεται στη βοήθειά τους.

Δημιουργία mint Token-2022

Οι επεκτάσεις δεσμεύουν επιπλέον κατάσταση mint ή λογαριασμού και συνήθως πρέπει να επιλεγούν κατά τη δημιουργία του mint. Αυτό το παράδειγμα δημιουργεί ένα mint με έξι δεκαδικά ψηφία και ενσωματωμένη υποστήριξη μεταδεδομένων:

spl-token --program-2022 create-token \
--decimals 6 \
--enable-metadata
spl-token --program-2022 initialize-metadata \
<MINT_ADDRESS> \
"Example Token" \
EXAMPLE \
https://example.com/token.json

Συνήθεις επιλογές επεκτάσεων του create-token περιλαμβάνουν:

  • --enable-close
  • --enable-confidential-transfers auto|manual
  • --enable-freeze
  • --enable-group και --enable-member
  • --enable-metadata
  • --enable-non-transferable
  • --enable-pause
  • --enable-permanent-delegate
  • --enable-permissioned-burn
  • --enable-transfer-hook ή --transfer-hook <PROGRAM_ID>
  • --interest-rate <BASIS_POINTS>
  • --transfer-fee-basis-points <BASIS_POINTS> με --transfer-fee-maximum-fee <AMOUNT>
  • --ui-amount-multiplier <MULTIPLIER>

Συνδυάζετε μόνο επεκτάσεις που επιτρέπεται να χρησιμοποιούνται μαζί από το πρόγραμμα Token-2022. Ανατρέξτε στον σχετικό οδηγό επεκτάσεων Token-2022 πριν από τη δημιουργία μιας μη αναστρέψιμης διαμόρφωσης mint.

Διαχείριση αρχών εξουσιοδότησης και delegates

# Change the mint authority.
spl-token authorize <MINT_ADDRESS> mint <NEW_AUTHORITY_ADDRESS>
# Permanently remove the mint authority.
spl-token authorize <MINT_ADDRESS> mint --disable
# Let a delegate spend up to 25 tokens from one token account.
spl-token approve \
<TOKEN_ACCOUNT_ADDRESS> \
25 \
<DELEGATE_ADDRESS>
# Remove the current delegate.
spl-token revoke <TOKEN_ACCOUNT_ADDRESS>

Η authorize υποστηρίζει τύπους αρχής εξουσιοδότησης για mint, freeze, owner, close, καθώς και ειδικούς για επεκτάσεις. Η αφαίρεση μιας αρχής με --disable είναι μόνιμη όταν κανένας άλλος μηχανισμός προγράμματος δεν μπορεί να την επαναφέρει.

Πάγωμα, καύση και κλείσιμο

spl-token freeze <TOKEN_ACCOUNT_ADDRESS>
spl-token thaw <TOKEN_ACCOUNT_ADDRESS>
spl-token burn <TOKEN_ACCOUNT_ADDRESS> 5
# A token account must normally have a zero token balance before closing.
spl-token close --address <TOKEN_ACCOUNT_ADDRESS>

Η burn μειώνει τόσο το υπόλοιπο του λογαριασμού όσο και τη συνολική προσφορά. Η close επιστρέφει τα εναπομείναντα lamports του λογαριασμού στον ρυθμισμένο παραλήπτη· δεν ανακτά τα tokens που έχουν καεί.

Wrap και unwrap του SOL

# Create or fund the owner's wrapped SOL token account.
spl-token wrap 1
# Unwrap part of the wrapped SOL balance.
spl-token unwrap-sol 0.25
# Close the wrapped SOL account and return its full lamport balance.
spl-token unwrap

Χρησιμοποιήστε το sync-native αφού μεταφέρετε lamports απευθείας σε έναν wrapped SOL token account, ώστε το ποσό των token του να ταιριάζει με τα υποκείμενα lamports.

Υπογραφή multisig

Δημιουργήστε ένα multisig M-of-N του Token Program με έως 11 μέλη:

spl-token create-multisig \
2 \
<MEMBER_1_ADDRESS> \
<MEMBER_2_ADDRESS> \
<MEMBER_3_ADDRESS>

Για μια συναλλαγή που ελέγχεται από αυτό το multisig, περάστε τη διεύθυνση του multisig ως την αντίστοιχη αρχή εξουσιοδότησης και δώστε τα keypairs των μελών μέσω επαναλαμβανόμενων τιμών --multisig-signer. Ελέγξτε τη βοήθεια της εντολής-στόχου, επειδή η σημαία της κύριας αρχής εξουσιοδότησης διαφέρει ανά λειτουργία.

Εμπιστευτικά υπόλοιπα

Οι εντολές εμπιστευτικών υπολοίπων απαιτούν ένα mint Token-2022 ρυθμισμένο για εμπιστευτικές μεταφορές και έναν ρυθμισμένο λογαριασμό παραλήπτη.

spl-token --program-2022 configure-confidential-transfer-account \
--address <TOKEN_ACCOUNT_ADDRESS>
spl-token --program-2022 deposit-confidential-tokens \
<MINT_ADDRESS> \
10 \
--address <TOKEN_ACCOUNT_ADDRESS>
spl-token --program-2022 apply-pending-balance \
--address <TOKEN_ACCOUNT_ADDRESS>
spl-token --program-2022 withdraw-confidential-tokens \
<MINT_ADDRESS> \
5 \
--address <TOKEN_ACCOUNT_ADDRESS>
spl-token --program-2022 transfer \
<MINT_ADDRESS> \
1 \
<RECIPIENT_ADDRESS> \
--confidential

Για τις configure-confidential-transfer-account και apply-pending-balance, περάστε είτε --address <TOKEN_ACCOUNT_ADDRESS> είτε ένα θεσιακό όρισμα <MINT_ADDRESS>, όχι και τα δύο. Η θεσιακή μορφή χρησιμοποιεί τον associated token account του owner. Η κατάθεση και η ανάληψη λαμβάνουν πάντα το mint και δέχονται το --address για να παρακάμψουν αυτόν τον προεπιλεγμένο λογαριασμό.

Χρησιμοποιήστε τις enable-confidential-credits, disable-confidential-credits, enable-non-confidential-credits και disable-non-confidential-credits για να ελέγξετε ποιες καταθέσεις δέχεται ο λογαριασμός. Αυτές οι ρυθμίσεις επηρεάζουν το απόρρητο του λογαριασμού και τη συμβατότητα πληρωμών· ελέγξτε τον λογαριασμό πριν τις αλλάξετε.

Πλήρες ευρετήριο εντολών

Το παρακάτω ευρετήριο περιλαμβάνει κάθε εντολή ανώτατου επιπέδου του spl-token-cli v5.6.1.

ΕντολήΠεριγραφή
accountsΕμφανίζει τους token accounts που ανήκουν σε ένα πορτοφόλι, με προαιρετικό φιλτράρισμα ανά mint.
addressΕκτυπώνει τη διεύθυνση του επιλεγμένου πορτοφολιού ή τη διεύθυνση του associated token account του.
apply-pending-balanceΜετακινεί τα εκκρεμή εμπιστευτικά tokens στο διαθέσιμο εμπιστευτικό υπόλοιπο.
approveΕγκρίνει έναν delegate και ένα όριο δαπάνης για έναν token account.
authorizeΑλλάζει ή απενεργοποιεί μια αρχή εξουσιοδότησης mint, λογαριασμού ή επέκτασης.
balanceΕμφανίζει το υπόλοιπο ενός token account.
benchΕκτελεί εντολές benchmarking των token.
burnΚαταστρέφει tokens από έναν λογαριασμό και μειώνει την προσφορά του mint.
closeΚλείνει έναν επιλέξιμο token account και ανακτά τα lamports του.
close-mintΚλείνει ένα mint Token-2022 που έχει ρυθμιστεί με την επέκταση close-mint.
configure-confidential-transfer-accountΡυθμίζει έναν λογαριασμό ώστε να χρησιμοποιεί εμπιστευτικές μεταφορές.
create-accountΔημιουργεί έναν associated ή βοηθητικό token account.
create-multisigΔημιουργεί ένα multisig M-of-N του Token Program.
create-tokenΔημιουργεί ένα mint, προαιρετικά με επεκτάσεις Token-2022.
deposit-confidential-tokensΜετακινεί μη εμπιστευτικά tokens σε εκκρεμές εμπιστευτικό υπόλοιπο.
disable-confidential-creditsΑπορρίπτει τις εισερχόμενες εμπιστευτικές μεταφορές για έναν λογαριασμό.
disable-cpi-guardΑπενεργοποιεί το CPI Guard για έναν λογαριασμό.
disable-non-confidential-creditsΑπορρίπτει τις εισερχόμενες μη εμπιστευτικές μεταφορές για έναν εμπιστευτικό λογαριασμό.
disable-required-transfer-memosΣταματά να απαιτεί από τις εισερχόμενες μεταφορές να περιλαμβάνουν memos.
displayΕμφανίζει πλήρη στοιχεία για ένα mint, έναν token account ή ένα multisig.
enable-confidential-creditsΔέχεται εισερχόμενες εμπιστευτικές μεταφορές για έναν ρυθμισμένο λογαριασμό.
enable-cpi-guardΠεριορίζει επιλεγμένες λειτουργίες token όταν καλούνται μέσω CPI.
enable-non-confidential-creditsΔέχεται εισερχόμενες μη εμπιστευτικές μεταφορές για έναν εμπιστευτικό λογαριασμό.
enable-required-transfer-memosΑπαιτεί από τις εισερχόμενες μεταφορές να περιλαμβάνουν memos.
freezeΠαγώνει έναν token account χρησιμοποιώντας την αρχή πάγωματος (freeze authority) του mint.
gcΚλείνει τους περιττούς token accounts και ενοποιεί τα υπόλοιπα όπου είναι δυνατόν.
helpΕκτυπώνει τη βοήθεια του root ή μιας εντολής.
initialize-groupΑρχικοποιεί τη διαμόρφωση ομάδας Token-2022 για ένα mint.
initialize-memberΠροσθέτει ένα mint Token-2022 ως μέλος ομάδας.
initialize-metadataΑρχικοποιεί τα ενσωματωμένα μεταδεδομένα Token-2022.
mintΔημιουργεί νέες μονάδες token χρησιμοποιώντας την αρχή εξουσιοδότησης του mint.
pauseΘέτει σε παύση το mint, το burn και τη μεταφορά για ένα mint Token-2022 με δυνατότητα παύσης.
resumeΣυνεχίζει τις λειτουργίες ενός mint Token-2022 που βρίσκεται σε παύση.
revokeΑφαιρεί τον delegate ενός token account.
set-interest-rateΕνημερώνει το επιτόκιο ενός mint με τόκους.
set-transfer-feeΠρογραμματίζει νέες παραμέτρους τέλους μεταφοράς.
set-transfer-hookΑλλάζει το program ID του transfer hook ενός mint.
supplyΕμφανίζει τη συνολική προσφορά ενός mint.
sync-nativeΣυγχρονίζει το ποσό ενός wrapped SOL account με τα lamports του.
thawΞεπαγώνει έναν παγωμένο token account.
transferΜεταφέρει tokens σε έναν token account ή σε ένα πορτοφόλι.
unwrapΚλείνει έναν wrapped SOL account και ανακτά όλα τα lamports.
unwrap-solΑφαιρεί μέρος ή το σύνολο των SOL από έναν wrapped SOL account.
update-confidential-transfer-settingsΕνημερώνει τις ρυθμίσεις έγκρισης εμπιστευτικών μεταφορών ή ελεγκτή (auditor) για ένα mint.
update-default-account-stateΑλλάζει την προεπιλεγμένη κατάσταση ενός mint για νέους token accounts.
update-group-addressΑλλάζει τη διεύθυνση του group pointer ενός mint.
update-group-max-sizeΑλλάζει το μέγιστο πλήθος μελών μιας ομάδας token.
update-member-addressΑλλάζει τη διεύθυνση του group member pointer ενός mint.
update-metadataΑλλάζει ή αφαιρεί ενσωματωμένα πεδία μεταδεδομένων.
update-metadata-addressΑλλάζει τη διεύθυνση του metadata pointer ενός mint.
update-ui-amount-multiplierΠρογραμματίζει νέο πολλαπλασιαστή scaled UI amount.
withdraw-confidential-tokensΜετακινεί εμπιστευτικά tokens πίσω στο μη εμπιστευτικό υπόλοιπο.
withdraw-excess-lamportsΑναλαμβάνει lamports πάνω από το υπόλοιπο απαλλαγής από rent από έναν λογαριασμό του Token Program.
withdraw-withheld-tokensΣυλλέγει τέλη μεταφοράς που παρακρατούνται σε token accounts ή στο mint.
wrapΚάνει wrap SOL σε έναν token account του native mint.

Δομημένη και offline υπογραφή

Χρησιμοποιήστε δομημένη έξοδο αντί να αναλύετε το κείμενο εμφάνισης:

spl-token accounts --output json
spl-token display <MINT_ADDRESS> --output json-compact

Οι εντολές που παράγουν συναλλαγές υποστηρίζουν συνήθως τα --sign-only, --blockhash, --signer <PUBKEY=SIGNATURE>, --nonce και --nonce-authority. Οι ακριβείς εισόδοι για offline χρήση εξαρτώνται από την εντολή, τα δεκαδικά ψηφία του mint και τη διάταξη των αρχών εξουσιοδότησης, γι' αυτό δημιουργήστε το μη υπογεγραμμένο μήνυμα ακολουθώντας τις οδηγίες --help της συγκεκριμένης εντολής και επαληθεύστε κάθε διεύθυνση πριν συλλέξετε υπογραφές.

Is this page helpful?

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