spl-token CLI
Crie mints SPL Token, associated token accounts (ATAs), minte tokens e transfira saldos pelo terminal.
Receita
Card de receita de referência rápida - pronto para copiar e colar.
spl-token create-token
spl-token create-account <MINT>
spl-token mint <MINT> 1000
spl-token transfer <MINT> 50 <RECIPIENT_TOKEN_ACCOUNT>Quando usar:
- Subir mint de teste em devnet antes de integração de client.
- Financiar wallets de teste com tokens mock.
- Verificar derivação ATA e decimals sem TypeScript.
- Transfers manuais de tesouraria de tokens SPL.
Exemplo Funcional
solana config set --url devnet
solana airdrop 2
# Create mint with 6 decimals (common for fungible tokens)
MINT=$(spl-token create-token --decimals 6 | grep "Creating token" | awk '{print $3}')
echo "Mint: $MINT"
# Create ATA for your wallet
spl-token create-account "$MINT"
ATA=$(spl-token accounts --token "$MINT" | grep -v "Token accounts" | awk '{print $1}')
echo "ATA: $ATA"
# Mint 1,000,000 raw units (= 1.0 tokens with 6 decimals)
spl-token mint "$MINT" 1000000
spl-token balance "$MINT"
spl-token supply "$MINT"O que isso demonstra:
create-tokeninicializa novo mint com decimals escolhidos.create-accountcria ATA owned pela sua wallet para esse mint.mintaumenta supply quando seu keypair detém mint authority.
Aprofundamento
Como Funciona
- Programa SPL Token possui mints e contas de token com state codificado Borsh.
- ATAs são PDAs derivadas de wallet + mint para endereços determinísticos.
- Valores na CLI usam unidades inteiras raw - aplique decimals mentalmente.
- Mint e freeze authorities podem ser revogadas após setup.
Comandos Comuns
| Comando | Ação |
|---|---|
create-token | Nova conta mint |
create-account | ATA para owner configurado |
mint | Aumentar supply (mint authority) |
transfer | Mover tokens entre contas de token |
authorize | Mudar ou revogar mint/freeze authority |
display | Info legível de mint/conta |
Notas bash
# Transfer to wallet pubkey (CLI resolves ATA)
spl-token transfer "$MINT" 100 <RECIPIENT_WALLET_PUBKEY> --fund-recipient
# Revoke mint authority (fixed supply)
spl-token authorize "$MINT" mint --disableErros Comuns
- Confusão de decimal -
mint 1000com 6 decimals é 0,001 tokens, não 1000. Correção: multiplique quantidade humana por 10^decimals. - ATA faltando - transfer falha se destinatário não tem conta de token. Correção:
--fund-recipientoucreate-accountprimeiro. - Mint authority errada - apenas keypair authority pode mintar. Correção:
spl-token displaypara ver authorities. - Usar solana transfer para tokens - move SOL, não saldos SPL. Correção: sempre
spl-token transfer. - Contas congeladas - freeze authority pode bloquear transfers. Correção: verifique status freeze com
display.
Alternativas
| Alternativa | Use Quando | Não Use Quando |
|---|---|---|
Anchor anchor_spl | Minting programático em código on-chain | Setup devnet manual rápido |
@solana/kit + Token program | Integrações client dApp | Experimentos CLI one-off |
| Extensões Token-2022 | Taxas de transfer, ponteiros de metadata | MVP fungível simples |
Scaffolds mucho | Templates full-stack de launch de token | Aprender layout SPL raw |
FAQs
Como escolher decimals?
6 ou 9 são comuns (espelhando USDC ou divisibilidade SOL). Decimals são imutáveis após criação do mint.
Qual diferença entre mint e conta de token?
Mint define tipo de token e supply; contas de token guardam saldos por owner por mint.
Posso enviar tokens diretamente para endereço de wallet?
Sim com spl-token transfer <MINT> <AMOUNT> <WALLET_PUBKEY> --fund-recipient - CLI deriva ou cria ATA.
Como ver todas minhas contas de token?
spl-token accounts lista ATAs da wallet configurada.
Como queimar tokens?
spl-token burn <TOKEN_ACCOUNT> <AMOUNT> reduz supply se permitido.
spl-token vem com Solana CLI?
Sim - instalado junto com solana do bundle de release Agave.
Como tornar supply fixo?
spl-token authorize <MINT> mint --disable após mintar supply pretendido.
O que é --fund-recipient?
Paga para criar ATA do destinatário se faltando, cobrado ao seu fee payer.
Posso usar Token-2022?
Use spl-token --program-id TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb para program ID Token-2022.
Como inspecionar mint?
spl-token display <MINT> mostra decimals, supply e authorities.
Relacionado
- Airdrops e Saldos - SOL para fees e rent
- Inspecionando Contas e Programas - bytes raw de conta
- Noções Básicas SPL Token - modelo on-chain de token
- Enviando SOL e Transações - transfers de SOL nativo
Versões do stack: Esta página foi escrita para Agave 4.1.1, Solana CLI 3.0.10, Anchor 0.32.1, anchor-lang 0.32.1, Rust 1.91.1, @solana/kit 7.0.0, Surfpool 0.12.0 e LiteSVM 0.6.x.