De opdrachtregelinterface spl-token maakt en beheert mints, token accounts,
autoriteiten, overdrachten en Token-2022-extensies.
Deze referentie volgt
spl-token-cli v5.6.1,
de versie die met Agave v4.2.1 wordt meegeleverd. Voer spl-token --version uit en gebruik
<command> --help voor de exacte opties die beschikbaar zijn in jouw geïnstalleerde versie.
Het aanmaken van een mint, overdrachten, wijzigingen van autoriteiten, burns, freezes en het sluiten van accounts verzenden transacties. Controleer het cluster, het Token Program, de ondertekenaar en de adressen voordat je een commando uitvoert. Wijzigingen op Mainnet gebruiken echte activa.
Installeren en hulp opvragen
De Agave CLI-releasebundel bevat spl-token. Als het niet is geïnstalleerd, gebruik dan
de gepubliceerde Rust-crate:
cargo install spl-token-cli --version 5.6.1spl-token --version
Bekijk de help op rootniveau of commandoniveau:
spl-token --helpspl-token create-token --helpspl-token transfer --help
Globale opties
Plaats globale opties vóór het commando.
| Optie | Doel |
|---|---|
-u, --url <URL_OR_MONIKER> | Selecteer een RPC-URL of mainnet-beta, testnet, devnet of localhost. |
-C, --config <PATH> | Gebruik een ander Solana CLI-configuratiebestand. |
--fee-payer <KEYPAIR> | Selecteer het account dat de transactiekosten betaalt. |
-p, --program-id <ADDRESS> | Gebruik een expliciete Token Program-ID. |
--program-2022 | Gebruik Token-2022 (TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb). |
--output <FORMAT> | Geef json of json-compact terug waar dit wordt ondersteund. |
--with-compute-unit-limit <UNITS> | Stel de limiet voor compute units van de transactie in. |
--with-compute-unit-price <MICRO_LAMPORTS> | Stel de prioriteitsprijs per compute unit in. |
-v, --verbose | Toon aanvullende uitvoer. |
-V, --version | Toon de geïnstalleerde CLI-versie. |
Het standaardprogramma is het oorspronkelijke Token Program. Gebruik --program-2022 voor een
Token-2022-mint of -account, ook bij het uitlezen ervan. Een commando mislukt als het
geselecteerde programma niet de eigenaar is van het opgegeven adres.
Een token aanmaken en gebruiken
De commando's tonen de aangemaakte adressen. Bewaar het mint-adres dat door
create-token wordt teruggegeven voor de volgende commando's.
# 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
Bedragen zijn UI-tokenbedragen, aangepast aan de decimalen van de mint. Commando's zoals
transfer, burn en unwrap-sol accepteren ALL waar dit in hun help wordt vermeld.
Een Token-2022-mint aanmaken
Extensies reserveren extra mint- of accountstatus en moeten meestal worden gekozen wanneer de mint wordt aangemaakt. Dit voorbeeld maakt een mint met zes decimalen aan met ingebouwde metadata-ondersteuning:
spl-token --program-2022 create-token \--decimals 6 \--enable-metadataspl-token --program-2022 initialize-metadata \<MINT_ADDRESS> \"Example Token" \EXAMPLE \https://example.com/token.json
Veelgebruikte extensieopties van create-token zijn onder andere:
--enable-close--enable-confidential-transfers auto|manual--enable-freeze--enable-groupen--enable-member--enable-metadata--enable-non-transferable--enable-pause--enable-permanent-delegate--enable-permissioned-burn--enable-transfer-hookof--transfer-hook <PROGRAM_ID>--interest-rate <BASIS_POINTS>--transfer-fee-basis-points <BASIS_POINTS>met--transfer-fee-maximum-fee <AMOUNT>--ui-amount-multiplier <MULTIPLIER>
Combineer alleen extensies die het Token-2022-programma samen toestaat. Raadpleeg de relevante Token-2022-extensiegids voordat je een onomkeerbare mintconfiguratie aanmaakt.
Autoriteiten en delegates beheren
# 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 ondersteunt mint-, freeze-, owner-, close- en extensiespecifieke
autoriteitstypen. Het verwijderen van een autoriteit met --disable is permanent als geen
andere programmamechanisme deze kan herstellen.
Freezen, burnen en sluiten
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 verlaagt zowel het accountsaldo als de totale supply. close stuurt de
resterende lamports van het account naar de geconfigureerde ontvanger; het herstelt
geburnde tokens niet.
SOL wrappen en unwrappen
# 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
Gebruik sync-native nadat je lamports rechtstreeks hebt overgemaakt naar een gewrapt SOL-
token account, zodat het tokenbedrag overeenkomt met de onderliggende lamports.
Multisig-ondertekening
Maak een M-of-N Token Program-multisig aan met maximaal 11 leden:
spl-token create-multisig \2 \<MEMBER_1_ADDRESS> \<MEMBER_2_ADDRESS> \<MEMBER_3_ADDRESS>
Geef voor een transactie die door die multisig wordt beheerd het multisig-adres door als de
relevante autoriteit en lever de keypairs van de leden aan via herhaalde
--multisig-signer-waarden. Controleer de help van het betreffende commando, omdat de vlag voor de primaire
autoriteit per bewerking verschilt.
Vertrouwelijke saldi
Commando's voor vertrouwelijke saldi vereisen een Token-2022-mint die is geconfigureerd voor vertrouwelijke overdrachten en een geconfigureerd ontvangeraccount.
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
Geef voor configure-confidential-transfer-account en apply-pending-balance óf
--address <TOKEN_ACCOUNT_ADDRESS> óf een positioneel <MINT_ADDRESS> op, niet
beide. De positionele vorm gebruikt het associated token account van de eigenaar. Storting en
opname nemen altijd de mint als argument en accepteren --address om dat standaardaccount
te overschrijven.
Gebruik enable-confidential-credits, disable-confidential-credits,
enable-non-confidential-credits en disable-non-confidential-credits om
te bepalen welke stortingen het account accepteert. Deze instellingen beïnvloeden de
privacy van het account en de compatibiliteit van betalingen; controleer het account voordat je ze wijzigt.
Volledige commando-index
De volgende index bevat elk commando op het hoogste niveau in spl-token-cli v5.6.1.
| Commando | Beschrijving |
|---|---|
accounts | Toon token accounts van een wallet, optioneel gefilterd op mint. |
address | Toon het geselecteerde walletadres of het bijbehorende token-adres. |
apply-pending-balance | Verplaats openstaande vertrouwelijke tokens naar het beschikbare vertrouwelijke saldo. |
approve | Keur een delegate en bestedingslimiet goed voor een token account. |
authorize | Wijzig of schakel een mint-, account- of extensieautoriteit uit. |
balance | Toon het saldo van een token account. |
bench | Voer benchmarkcommando's voor tokens uit. |
burn | Vernietig tokens van een account en verlaag de mint-supply. |
close | Sluit een in aanmerking komend token account en haal de lamports terug. |
close-mint | Sluit een Token-2022-mint die is geconfigureerd met de close-mint-extensie. |
configure-confidential-transfer-account | Configureer een account voor het gebruik van vertrouwelijke overdrachten. |
create-account | Maak een associated token account of een hulp-token account aan. |
create-multisig | Maak een M-of-N Token Program-multisig aan. |
create-token | Maak een mint aan, optioneel met Token-2022-extensies. |
deposit-confidential-tokens | Verplaats niet-vertrouwelijke tokens naar een openstaand vertrouwelijk saldo. |
disable-confidential-credits | Weiger inkomende vertrouwelijke overdrachten voor een account. |
disable-cpi-guard | Schakel CPI Guard uit voor een account. |
disable-non-confidential-credits | Weiger inkomende niet-vertrouwelijke overdrachten voor een vertrouwelijk account. |
disable-required-transfer-memos | Stop met het vereisen van memo's bij inkomende overdrachten. |
display | Toon volledige details van een mint, token account of multisig. |
enable-confidential-credits | Accepteer inkomende vertrouwelijke overdrachten voor een geconfigureerd account. |
enable-cpi-guard | Beperk geselecteerde tokenbewerkingen wanneer ze via CPI worden aangeroepen. |
enable-non-confidential-credits | Accepteer inkomende niet-vertrouwelijke overdrachten voor een vertrouwelijk account. |
enable-required-transfer-memos | Vereis dat inkomende overdrachten een memo bevatten. |
freeze | Freeze een token account met de freeze-autoriteit van de mint. |
gc | Sluit onnodige token accounts en consolideer waar mogelijk saldi. |
help | Toon de help op rootniveau of commandoniveau. |
initialize-group | Initialiseer de Token-2022-groepsconfiguratie voor een mint. |
initialize-member | Voeg een Token-2022-mint toe als groepslid. |
initialize-metadata | Initialiseer ingebouwde Token-2022-metadata. |
mint | Maak nieuwe tokeneenheden aan met de mint-autoriteit. |
pause | Pauzeer mint, burn en transfer voor een pauzeerbare Token-2022-mint. |
resume | Hervat de bewerkingen voor een gepauzeerde Token-2022-mint. |
revoke | Verwijder de delegate van een token account. |
set-interest-rate | Werk het rentepercentage van een rentedragende mint bij. |
set-transfer-fee | Plan nieuwe parameters voor overdrachtskosten. |
set-transfer-hook | Wijzig de transfer hook-programma-ID van een mint. |
supply | Toon de totale supply van een mint. |
sync-native | Synchroniseer het bedrag van een gewrapt SOL-account met de lamports. |
thaw | Thaw een gefreezed token account. |
transfer | Draag tokens over naar een token account of wallet. |
unwrap | Sluit een gewrapt SOL-account en haal alle lamports terug. |
unwrap-sol | Verwijder een deel of alle SOL uit een gewrapt SOL-account. |
update-confidential-transfer-settings | Werk de goedkeurings- of auditorinstellingen voor vertrouwelijke overdrachten van een mint bij. |
update-default-account-state | Wijzig de standaardstatus van een mint voor nieuwe token accounts. |
update-group-address | Wijzig het groepspointer-adres van een mint. |
update-group-max-size | Wijzig het maximale aantal leden van een tokengroep. |
update-member-address | Wijzig het groepslidpointer-adres van een mint. |
update-metadata | Wijzig of verwijder velden van ingebouwde metadata. |
update-metadata-address | Wijzig het metadatapointer-adres van een mint. |
update-ui-amount-multiplier | Plan een nieuwe multiplier voor het geschaalde UI-bedrag. |
withdraw-confidential-tokens | Verplaats vertrouwelijke tokens terug naar het niet-vertrouwelijke saldo. |
withdraw-excess-lamports | Neem lamports boven het van rent vrijgestelde saldo op van een Token Program-account. |
withdraw-withheld-tokens | Haal overdrachtskosten op die zijn ingehouden in token accounts of de mint. |
wrap | Wrap SOL in een token account van de native mint. |
Gestructureerde en offline ondertekening
Gebruik gestructureerde uitvoer in plaats van weergavetekst te parsen:
spl-token accounts --output jsonspl-token display <MINT_ADDRESS> --output json-compact
Commando's die transacties genereren ondersteunen doorgaans --sign-only, --blockhash,
--signer <PUBKEY=SIGNATURE>, --nonce en --nonce-authority. De exacte
offline-invoer hangt af van het commando, de decimalen van de mint en de autoriteitsopzet,
dus genereer het niet-ondertekende bericht aan de hand van de --help-instructies van dat commando en
controleer elk adres voordat je handtekeningen verzamelt.
Is this page helpful?