Pagamento básico

A Solana permite transferências instantâneas e globais de tokens com taxas inferiores a $0,001. Seja você construindo remessas internacionais, desembolsos de folha de pagamento ou operações de tesouraria, um pagamento básico de stablecoin é liquidado em menos de um segundo e custa uma fração de centavo.

Como funciona

Um pagamento move stablecoins da token account do remetente para a token account do destinatário. Se o destinatário estiver recebendo este token pela primeira vez, sua token account pode ser criada como parte da mesma transação.

Consulte Como funcionam os pagamentos na Solana para conceitos fundamentais de pagamento.

O auxiliar splToken do @solana/client lida automaticamente com a derivação de ATA, conversão de decimais e construção de transações. Isso é ideal para transferências de pagamento único.

As etapas abaixo mostram o fluxo principal. Consulte a Demonstração para código executável completo.

Criar o auxiliar de token

Configure o auxiliar splToken() chamando client.splToken() com o endereço da mint. O auxiliar fornece métodos para operações comuns de token.

Definir tokenProgram: "auto" detecta automaticamente se a mint account pertence ao programa Token ou Token-2022.

Enviar o pagamento

Use sendTransfer() para transferir tokens entre carteiras. O método lida com:

  • Resolução de ATA: Deriva automaticamente as Associated Token Accounts (ATAs) para o remetente e o destinatário. Se a ATA do destinatário não existir, a instrução para criar a conta é automaticamente adicionada à mesma transação.
  • Conversão de decimais: Aceita quantidades de tokens e converte automaticamente para unidades base com base nos decimais da mint (por exemplo, 0,25 tokens -> 250000 unidades base, se a mint tiver 6 decimais)
  • Construção de transação: Cria, assina e envia a transação com a instrução de transferência

Verificar saldos

Após a conclusão da transferência, use fetchBalance() para verificar os saldos de tokens. Este método recebe um endereço de carteira e deriva automaticamente a ATA correspondente para obter o saldo.

Criar o auxiliar de token

Configure o auxiliar splToken() chamando client.splToken() com o endereço da mint. O auxiliar fornece métodos para operações comuns de token.

Definir tokenProgram: "auto" detecta automaticamente se a mint account pertence ao programa Token ou Token-2022.

Enviar o pagamento

Use sendTransfer() para transferir tokens entre carteiras. O método lida com:

  • Resolução de ATA: Deriva automaticamente as Associated Token Accounts (ATAs) para o remetente e o destinatário. Se a ATA do destinatário não existir, a instrução para criar a conta é automaticamente adicionada à mesma transação.
  • Conversão de decimais: Aceita quantidades de tokens e converte automaticamente para unidades base com base nos decimais da mint (por exemplo, 0,25 tokens -> 250000 unidades base, se a mint tiver 6 decimais)
  • Construção de transação: Cria, assina e envia a transação com a instrução de transferência

Verificar saldos

Após a conclusão da transferência, use fetchBalance() para verificar os saldos de tokens. Este método recebe um endereço de carteira e deriva automaticamente a ATA correspondente para obter o saldo.

Basic Payment
const client = createClient({
endpoint: "http://localhost:8899",
websocketEndpoint: "ws://localhost:8900",
commitment: "confirmed"
});
const splToken = client.splToken({
mint: mint.address,
tokenProgram: "auto"
});

Demonstração

Demo
// Generate keypairs for sender and recipient
const sender = (await generateKeypair()).signer;
const recipient = (await generateKeypair()).signer;
console.log("Sender Address:", sender.address);
console.log("Recipient Address:", recipient.address);
// Demo Setup: Create client, mint account, token accounts, and fund with initial tokens
const { client, mint } = await demoSetup(sender, recipient);
console.log("\nMint Address:", mint.address);
// =============================================================================
// Basic Token Payment Demo
// =============================================================================
// Create splToken helper for this mint using @solana/client
const splToken = client.splToken({
mint: mint.address,
tokenProgram: "auto"
});
// Transfer tokens from sender to recipient (ATA and decimals handled automatically)
const signature = await splToken.sendTransfer({
amount: 0.25,
authority: sender,
destinationOwner: recipient.address
});
console.log("\n=== Token Payment Complete ===");
console.log("Transaction Signature:", signature.toString());
// Fetch final token account balances using splToken helper
const senderBalance = await splToken.fetchBalance(sender.address);
const recipientBalance = await splToken.fetchBalance(recipient.address);
console.log("\nSender Token Account Balance:", senderBalance);
console.log("Recipient Token Account Balance:", recipientBalance);
// =============================================================================
// Demo Setup Helper Function
// =============================================================================
Console
Click to execute the code.

Is this page helpful?

Índice

Editar Página

Gerenciado por

© 2026 Fundação Solana.
Todos os direitos reservados.
Conecte-se
  • Blog