spl-token-komentorivikäyttöliittymällä luodaan ja hallitaan mintejä, token account -tilejä, valtuuksia, siirtoja ja Token-2022-laajennuksia.
Tämä viite noudattaa versiota
spl-token-cli v5.6.1,
joka sisältyy Agave v4.2.1 -pakettiin. Suorita spl-token --version ja käytä
<command> --help nähdäksesi asennetussa versiossasi käytettävissä olevat tarkat valinnat.
Mintin luonti, siirrot, valtuuksien muutokset, polttamiset, jäädytykset ja tilin sulkeminen lähettävät transaktioita. Tarkista klusteri, Token Program, allekirjoittaja ja osoitteet ennen komennon suorittamista. Mainnetissa tehtävät muutokset koskevat oikeita varoja.
Asennus ja ohjeen käyttö
Agave CLI -julkaisupaketti sisältää spl-token-työkalun. Jos sitä ei ole asennettu, käytä julkaistua Rust-pakettia (crate):
cargo install spl-token-cli --version 5.6.1spl-token --version
Tarkastele ohjetta juuritasolla tai komentokohtaisesti:
spl-token --helpspl-token create-token --helpspl-token transfer --help
Yleiset valinnat
Sijoita yleiset valinnat ennen komentoa.
| Valinta | Tarkoitus |
|---|---|
-u, --url <URL_OR_MONIKER> | Valitse RPC-URL tai mainnet-beta, testnet, devnet tai localhost. |
-C, --config <PATH> | Käytä toista Solana CLI:n asetustiedostoa. |
--fee-payer <KEYPAIR> | Valitse tili, joka maksaa transaktiomaksut. |
-p, --program-id <ADDRESS> | Käytä nimenomaista Token Program ID:tä. |
--program-2022 | Käytä Token-2022:ta (TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb). |
--output <FORMAT> | Palauta json tai json-compact, kun tuettu. |
--with-compute-unit-limit <UNITS> | Aseta transaktion laskentayksikkörajoitus. |
--with-compute-unit-price <MICRO_LAMPORTS> | Aseta prioriteettihinta laskentayksikköä kohden. |
-v, --verbose | Näytä lisätulostetta. |
-V, --version | Tulosta asennetun CLI:n versio. |
Oletusohjelma on alkuperäinen Token Program. Käytä --program-2022-valintaa Token-2022-mintin tai -tilin yhteydessä, myös sitä luettaessa. Komento epäonnistuu, jos valittu ohjelma ei omista annettua osoitetta.
Luo token ja käytä sitä
Komennot tulostavat luodut osoitteet. Tallenna create-token-komennon palauttama mint-osoite seuraavia komentoja varten.
# 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
Määrät ovat käyttöliittymän token-määriä, jotka on säädetty mintin desimaalien mukaan. Komennot kuten transfer, burn ja unwrap-sol hyväksyvät arvon ALL, kun se on esitetty niiden ohjeessa.
Luo Token-2022-mint
Laajennukset varaavat mintille tai tilille lisätilaa, ja ne on yleensä valittava mintin luontihetkellä. Tämä esimerkki luo kuuden desimaalin mintin, jossa on sisäisten metatietojen tuki:
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
Yleisiä create-token-komennon laajennusvalintoja ovat:
--enable-close--enable-confidential-transfers auto|manual--enable-freeze--enable-groupja--enable-member--enable-metadata--enable-non-transferable--enable-pause--enable-permanent-delegate--enable-permissioned-burn--enable-transfer-hooktai--transfer-hook <PROGRAM_ID>--interest-rate <BASIS_POINTS>--transfer-fee-basis-points <BASIS_POINTS>yhdessä valinnan--transfer-fee-maximum-fee <AMOUNT>kanssa--ui-amount-multiplier <MULTIPLIER>
Yhdistä vain laajennuksia, joiden yhteiskäytön Token-2022-ohjelma sallii. Tutustu asiaankuuluvaan Token-2022-laajennusoppaaseen ennen kuin luot peruuttamattoman mint-määrityksen.
Hallitse valtuuksia ja delegaatteja
# 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 tukee mint-, freeze-, owner-, close- ja laajennuskohtaisia valtuustyyppejä. Valtuuden poistaminen --disable-valinnalla on pysyvää, jos mikään muu ohjelmamekanismi ei voi palauttaa sitä.
Jäädytä, polta ja sulje
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 pienentää sekä tilin saldoa että kokonaistarjontaa. close palauttaa tilin jäljellä olevat lamports määritetylle vastaanottajalle; se ei palauta poltettuja tokeneita.
Kääri SOL ja pura se
# 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
Käytä sync-native-komentoa, kun olet siirtänyt lamports suoraan käärittyyn SOL token account -tiliin, jotta sen token-määrä vastaa taustalla olevaa lamports-määrää.
Multisig-allekirjoitus
Luo M-of-N Token Program -multisig, jossa on enintään 11 jäsentä:
spl-token create-multisig \2 \<MEMBER_1_ADDRESS> \<MEMBER_2_ADDRESS> \<MEMBER_3_ADDRESS>
Kun transaktiota ohjaa kyseinen multisig, anna multisig-osoite asianomaisena valtuutena ja toimita jäsenten keypair-tiedot toistamalla --multisig-signer-arvoja. Tarkista kohdekomennon ohje, koska sen ensisijainen valtuusvalinta vaihtelee toiminnon mukaan.
Luottamukselliset saldot
Luottamuksellisten saldojen komennot vaativat Token-2022-mintin, joka on määritetty luottamuksellisia siirtoja varten, sekä määritetyn vastaanottajatilin.
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
Komennoissa configure-confidential-transfer-account ja apply-pending-balance anna joko --address <TOKEN_ACCOUNT_ADDRESS> tai paikkaan perustuva <MINT_ADDRESS>, ei molempia. Paikkaan perustuva muoto käyttää omistajan associated token account -tiliä. Talletus ja nosto ottavat aina mintin ja hyväksyvät --address-valinnan, jolla kyseinen oletustili voidaan korvata.
Komennoilla enable-confidential-credits, disable-confidential-credits, enable-non-confidential-credits ja disable-non-confidential-credits hallitaan, mitä talletuksia tili hyväksyy. Nämä asetukset vaikuttavat tilin yksityisyyteen ja maksujen yhteensopivuuteen; tarkista tili ennen niiden muuttamista.
Täydellinen komentohakemisto
Seuraava hakemisto sisältää kaikki spl-token-cli v5.6.1:n ylimmän tason komennot.
| Komento | Kuvaus |
|---|---|
accounts | Luettele lompakon omistamat token account -tilit, tarvittaessa mintin mukaan suodatettuina. |
address | Tulosta valitun lompakon osoite tai sen associated token account -osoite. |
apply-pending-balance | Siirrä odottavat luottamukselliset tokenit käytettävissä olevaan luottamukselliseen saldoon. |
approve | Hyväksy delegaatti ja käyttöoikeuden määrä token account -tilille. |
authorize | Muuta tai poista käytöstä mintin, tilin tai laajennuksen valtuus. |
balance | Näytä token account -tilin saldo. |
bench | Suorita token-suorituskykytestauskomentoja. |
burn | Tuhoa tilin tokeneita ja pienennä mintin tarjontaa. |
close | Sulje kelpaava token account ja palauta sen lamports. |
close-mint | Sulje Token-2022-mint, jolle on määritetty close-mint-laajennus. |
configure-confidential-transfer-account | Määritä tili käyttämään luottamuksellisia siirtoja. |
create-account | Luo associated token account tai apu-token account. |
create-multisig | Luo M-of-N Token Program -multisig. |
create-token | Luo mint, tarvittaessa Token-2022-laajennuksilla. |
deposit-confidential-tokens | Siirrä ei-luottamukselliset tokenit odottavaan luottamukselliseen saldoon. |
disable-confidential-credits | Hylkää tilille saapuvat luottamukselliset siirrot. |
disable-cpi-guard | Poista CPI Guard käytöstä tililtä. |
disable-non-confidential-credits | Hylkää luottamukselliselle tilille saapuvat ei-luottamukselliset siirrot. |
disable-required-transfer-memos | Lopeta memojen vaatiminen saapuviin siirtoihin. |
display | Näytä mintin, token account -tilin tai multisigin täydet tiedot. |
enable-confidential-credits | Hyväksy määritetylle tilille saapuvat luottamukselliset siirrot. |
enable-cpi-guard | Rajoita tiettyjä token-toimintoja, kun ne kutsutaan CPI:n kautta. |
enable-non-confidential-credits | Hyväksy luottamukselliselle tilille saapuvat ei-luottamukselliset siirrot. |
enable-required-transfer-memos | Vaadi saapuvilta siirroilta memo. |
freeze | Jäädytä token account mintin freeze-valtuuden avulla. |
gc | Sulje tarpeettomat token account -tilit ja yhdistä saldot mahdollisuuksien mukaan. |
help | Tulosta juuritason tai komennon ohje. |
initialize-group | Alusta mintin Token-2022-ryhmämääritys. |
initialize-member | Lisää Token-2022-mint ryhmän jäseneksi. |
initialize-metadata | Alusta sisäiset Token-2022-metatiedot. |
mint | Luo uusia tokeniyksiköitä mint-valtuuden avulla. |
pause | Keskeytä mint-, burn- ja transfer-toiminnot keskeytettävälle Token-2022-mintille. |
resume | Jatka keskeytetyn Token-2022-mintin toimintoja. |
revoke | Poista token account -tilin delegaatti. |
set-interest-rate | Päivitä korkoa tuottavan mintin korko. |
set-transfer-fee | Ajasta uudet siirtomaksun parametrit. |
set-transfer-hook | Muuta mintin transfer hook -ohjelman ID:tä. |
supply | Näytä mintin kokonaistarjonta. |
sync-native | Synkronisoi käärityn SOL-tilin määrä vastaamaan sen lamports-määrää. |
thaw | Sulata jäädytetty token account. |
transfer | Siirrä tokeneita token account -tilille tai lompakkoon. |
unwrap | Sulje kääritty SOL-tili ja palauta kaikki lamports. |
unwrap-sol | Poista osa tai kaikki SOL käärityltä SOL-tililtä. |
update-confidential-transfer-settings | Päivitä mintin luottamuksellisten siirtojen hyväksyntä- tai auditoija-asetukset. |
update-default-account-state | Muuta mintin oletustilaa uusille token account -tileille. |
update-group-address | Muuta mintin ryhmäosoittimen osoitetta. |
update-group-max-size | Muuta token-ryhmän jäsenten enimmäismäärää. |
update-member-address | Muuta mintin ryhmäjäsenosoittimen osoitetta. |
update-metadata | Muuta tai poista sisäisiä metatietokenttiä. |
update-metadata-address | Muuta mintin metatieto-osoittimen osoitetta. |
update-ui-amount-multiplier | Ajasta uusi skaalatun UI-määrän kerroin. |
withdraw-confidential-tokens | Siirrä luottamukselliset tokenit takaisin ei-luottamukselliseen saldoon. |
withdraw-excess-lamports | Nosta vuokravapaan saldon ylittävät lamports Token Program -ohjelman omistamalta tililtä. |
withdraw-withheld-tokens | Kerää token account -tileille tai mintille pidätetyt siirtomaksut. |
wrap | Kääri SOL natiivin mintin token account -tiliin. |
Jäsennelty ja offline-allekirjoitus
Käytä jäsenneltyä tulostetta näytettävän tekstin jäsentämisen sijaan:
spl-token accounts --output jsonspl-token display <MINT_ADDRESS> --output json-compact
Transaktioita tuottavat komennot tukevat yleisesti valintoja --sign-only, --blockhash,
--signer <PUBKEY=SIGNATURE>, --nonce ja --nonce-authority. Tarkat
offline-syötteet riippuvat komennosta, mintin desimaaleista ja valtuusjärjestelystä,
joten luo allekirjoittamaton viesti kyseisen komennon --help-ohjeiden mukaan ja
tarkista jokainen osoite ennen allekirjoitusten keräämistä.
Is this page helpful?