Referensi CLI SPL Token

Antarmuka baris perintah spl-token digunakan untuk membuat dan mengelola mint, token account, otoritas, transfer, serta ekstensi Token-2022.

Referensi ini mengacu pada spl-token-cli v5.6.1, versi yang dibundel dengan Agave v4.2.1. Jalankan spl-token --version dan gunakan <command> --help untuk melihat opsi yang tersedia di versi yang Anda instal.

Pembuatan mint, transfer, perubahan otoritas, burn, freeze, dan penutupan akun akan mengirimkan transaksi. Konfirmasikan cluster, Token Program, signer, dan alamat sebelum menjalankan perintah. Perubahan di mainnet menggunakan aset sungguhan.

Instal dan dapatkan bantuan

Paket rilis Agave CLI sudah menyertakan spl-token. Jika belum terinstal, gunakan crate Rust yang dipublikasikan:

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

Lihat bantuan di tingkat root atau tingkat perintah:

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

Opsi global

Letakkan opsi global sebelum perintah.

OpsiFungsi
-u, --url <URL_OR_MONIKER>Pilih URL RPC atau mainnet-beta, testnet, devnet, atau localhost.
-C, --config <PATH>Gunakan file konfigurasi Solana CLI yang berbeda.
--fee-payer <KEYPAIR>Pilih akun yang membayar biaya transaksi.
-p, --program-id <ADDRESS>Gunakan Token Program ID secara eksplisit.
--program-2022Gunakan Token-2022 (TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb).
--output <FORMAT>Mengembalikan json atau json-compact jika didukung.
--with-compute-unit-limit <UNITS>Atur batas compute unit transaksi.
--with-compute-unit-price <MICRO_LAMPORTS>Atur harga prioritas per compute unit.
-v, --verboseTampilkan output tambahan.
-V, --versionCetak versi CLI yang terinstal.

Program default adalah Token Program asli. Gunakan --program-2022 untuk mint atau akun Token-2022, termasuk saat membacanya. Perintah akan gagal jika program yang dipilih bukan pemilik alamat yang diberikan.

Membuat dan menggunakan token

Perintah akan mencetak alamat yang dibuat. Simpan alamat mint yang dikembalikan oleh create-token untuk perintah-perintah berikutnya.

# 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

Jumlah yang digunakan adalah jumlah token UI, disesuaikan dengan desimal mint. Perintah seperti transfer, burn, dan unwrap-sol menerima ALL sebagaimana ditampilkan pada bantuannya.

Membuat mint Token-2022

Ekstensi mengalokasikan state mint atau akun tambahan dan biasanya harus dipilih saat mint dibuat. Contoh ini membuat mint dengan enam desimal dan dukungan metadata tertanam:

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

Opsi ekstensi create-token yang umum meliputi:

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

Hanya gabungkan ekstensi yang diizinkan digunakan bersamaan oleh program Token-2022. Tinjau panduan ekstensi Token-2022 yang relevan sebelum membuat konfigurasi mint yang tidak dapat diubah.

Mengelola otoritas dan delegate

# 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 mendukung tipe otoritas mint, freeze, owner, close, dan otoritas khusus ekstensi. Menghapus otoritas dengan --disable bersifat permanen jika tidak ada mekanisme program lain yang dapat memulihkannya.

Freeze, burn, dan close

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 mengurangi saldo akun sekaligus total suplai. close mengembalikan sisa lamport akun ke penerima yang dikonfigurasi; perintah ini tidak memulihkan token yang sudah di-burn.

Wrap dan 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

Gunakan sync-native setelah mentransfer lamport langsung ke token account SOL yang di-wrap agar jumlah tokennya sesuai dengan lamport yang mendasarinya.

Penandatanganan multisig

Buat multisig Token Program M-of-N dengan hingga 11 anggota:

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

Untuk transaksi yang dikendalikan oleh multisig tersebut, berikan alamat multisig sebagai otoritas yang relevan dan sediakan keypair anggota melalui nilai --multisig-signer yang diulang. Periksa bantuan perintah yang dituju karena flag otoritas utamanya berbeda-beda tergantung operasinya.

Saldo rahasia

Perintah saldo rahasia memerlukan mint Token-2022 yang dikonfigurasi untuk transfer rahasia dan akun penerima yang telah dikonfigurasi.

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

Untuk configure-confidential-transfer-account dan apply-pending-balance, berikan --address <TOKEN_ACCOUNT_ADDRESS> atau <MINT_ADDRESS> posisional, tidak keduanya. Bentuk posisional menggunakan associated token account milik owner. Deposit dan penarikan selalu menggunakan mint dan menerima --address untuk menimpa akun default tersebut.

Gunakan enable-confidential-credits, disable-confidential-credits, enable-non-confidential-credits, dan disable-non-confidential-credits untuk mengontrol deposit mana yang diterima akun. Pengaturan ini memengaruhi privasi akun dan kompatibilitas pembayaran; periksa akun sebelum mengubahnya.

Indeks perintah lengkap

Indeks berikut mencakup setiap perintah tingkat atas di spl-token-cli v5.6.1.

PerintahDeskripsi
accountsDaftar token account milik sebuah wallet, dapat difilter berdasarkan mint.
addressCetak alamat wallet yang dipilih atau alamat associated token account-nya.
apply-pending-balancePindahkan token rahasia yang tertunda ke saldo rahasia yang tersedia.
approveSetujui delegate dan batas pengeluaran untuk sebuah token account.
authorizeUbah atau nonaktifkan otoritas mint, akun, atau ekstensi.
balanceTampilkan saldo token account.
benchJalankan perintah benchmark token.
burnHancurkan token dari sebuah akun dan kurangi suplai mint.
closeTutup token account yang memenuhi syarat dan pulihkan lamport-nya.
close-mintTutup mint Token-2022 yang dikonfigurasi dengan ekstensi close-mint.
configure-confidential-transfer-accountKonfigurasikan akun untuk menggunakan transfer rahasia.
create-accountBuat token account asosiasi atau tambahan.
create-multisigBuat multisig Token Program M-of-N.
create-tokenBuat mint, opsional dengan ekstensi Token-2022.
deposit-confidential-tokensPindahkan token non-rahasia ke saldo rahasia yang tertunda.
disable-confidential-creditsTolak transfer rahasia masuk untuk sebuah akun.
disable-cpi-guardNonaktifkan CPI Guard untuk sebuah akun.
disable-non-confidential-creditsTolak transfer non-rahasia masuk untuk akun rahasia.
disable-required-transfer-memosBerhenti mewajibkan transfer masuk menyertakan memo.
displayTampilkan detail lengkap mint, token account, atau multisig.
enable-confidential-creditsTerima transfer rahasia masuk untuk akun yang sudah dikonfigurasi.
enable-cpi-guardBatasi operasi token tertentu saat dipanggil melalui CPI.
enable-non-confidential-creditsTerima transfer non-rahasia masuk untuk akun rahasia.
enable-required-transfer-memosWajibkan transfer masuk menyertakan memo.
freezeBekukan token account menggunakan otoritas freeze milik mint.
gcTutup token account yang tidak diperlukan dan konsolidasikan saldo jika memungkinkan.
helpCetak bantuan root atau bantuan perintah.
initialize-groupInisialisasi konfigurasi grup Token-2022 untuk sebuah mint.
initialize-memberTambahkan mint Token-2022 sebagai anggota grup.
initialize-metadataInisialisasi metadata Token-2022 yang tertanam.
mintBuat unit token baru menggunakan otoritas mint.
pauseJeda mint, burn, dan transfer untuk mint Token-2022 yang dapat dijeda.
resumeLanjutkan operasi untuk mint Token-2022 yang dijeda.
revokeHapus delegate token account.
set-interest-ratePerbarui suku bunga mint yang berbunga.
set-transfer-feeJadwalkan parameter biaya transfer baru.
set-transfer-hookUbah ID program transfer hook milik mint.
supplyTampilkan total suplai mint.
sync-nativeSinkronkan jumlah pada akun SOL yang di-wrap dengan lamport-nya.
thawCairkan kembali token account yang dibekukan.
transferTransfer token ke token account atau wallet.
unwrapTutup akun SOL yang di-wrap dan pulihkan semua lamport.
unwrap-solKeluarkan sebagian atau seluruh SOL dari akun SOL yang di-wrap.
update-confidential-transfer-settingsPerbarui pengaturan persetujuan atau auditor transfer rahasia untuk sebuah mint.
update-default-account-stateUbah state default mint untuk token account baru.
update-group-addressUbah alamat group pointer milik mint.
update-group-max-sizeUbah jumlah anggota maksimum sebuah grup token.
update-member-addressUbah alamat group member pointer milik mint.
update-metadataUbah atau hapus field metadata yang tertanam.
update-metadata-addressUbah alamat metadata pointer milik mint.
update-ui-amount-multiplierJadwalkan pengali jumlah UI berskala yang baru.
withdraw-confidential-tokensPindahkan token rahasia kembali ke saldo non-rahasia.
withdraw-excess-lamportsTarik lamport di atas saldo bebas sewa (rent-exempt) dari akun Token Program.
withdraw-withheld-tokensKumpulkan biaya transfer yang ditahan di token account atau mint.
wrapWrap SOL ke dalam token account mint native.

Penandatanganan terstruktur dan offline

Gunakan output terstruktur daripada mengurai teks tampilan:

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

Perintah yang menghasilkan transaksi umumnya mendukung --sign-only, --blockhash, --signer <PUBKEY=SIGNATURE>, --nonce, dan --nonce-authority. Input offline yang tepat bergantung pada perintah, desimal mint, dan pengaturan otoritas, jadi buat pesan yang belum ditandatangani sesuai petunjuk --help perintah tersebut dan verifikasi setiap alamat sebelum mengumpulkan tanda tangan.

Is this page helpful?

Daftar Isi

Edit Halaman
© 2026 Yayasan Solana. Semua hak dilindungi.