Interagir com a Solana

Antes de construir fluxos de pagamento, você precisa conectar-se à Solana e entender como consultar dados da rede. Este guia cobre o básico: estabelecer uma conexão e usar os métodos RPC que você precisará para pagamentos usando o SDK TypeScript @solana/kit e Solana CLI. Além disso, vamos cobrir o básico de usar o Solana Explorer para verificar manualmente pagamentos, inspecionar contas e depurar problemas.

Conectar à Solana

A API RPC da Solana é a principal forma de interagir programaticamente com a rede. O seu URL RPC é efetivamente uma chave de API para a rede.

Não use RPC público para produção

Os endpoints públicos (api.mainnet-beta.solana.com, api.devnet.solana.com) têm limite de taxa, não possuem SLA e são inadequados para fluxos de pagamento em produção. Use um provedor RPC para garantir um endpoint RPC privado para implementações em produção.

Para desenvolvimento e testes, você pode usar endpoints públicos com limite de taxa.

Crie um cliente RPC para interagir com a rede:

import { createSolanaRpc, createSolanaRpcSubscriptions } from "@solana/kit";
const rpc = createSolanaRpc("https://api.mainnet-beta.solana.com");
const rpcSubscriptions = createSolanaRpcSubscriptions(
"wss://api.mainnet-beta.solana.com"
);

Para desenvolvimento, use a devnet (https://api.devnet.solana.com) ou um validador local como Surfpool.

Métodos RPC comuns

A API JSON-RPC da Solana expõe métodos para consultar a rede. Aqui estão os que você mais usará para fluxos de pagamento.

Obter informações da conta

Todas as contas na Solana são endereçáveis pela sua chave pública. Use o método RPC getAccountInfo para buscar informações sobre qualquer conta. O método getAccountInfo retorna um objeto AccountInfo, que contém a chave pública da conta, saldo de SOL, dados e alguns outros metadados.

O campo data é uma string codificada em base64 dos dados da conta. Você pode codificá-la em bytes usando o método getBase64Codec do pacote @solana/kit e depois decodificá-la para um objeto legível usando o codec esperado (se conhecido) para os dados da conta (por exemplo, getTokenCodec para token accounts).

const accountInfo = await rpc
.getAccountInfo(address("7EcDhSYGxXyscszYEp35KHN8vvw3svAuLKTzXwCFLtV"), {
encoding: "base64"
})
.send();
const dataBytes = getBase64Codec().encode(accountInfo.value.data);
const parsedTokenData = getTokenCodec().decode(dataBytes);
console.log(parsedTokenData);

Obter saldos de tokens

Verifique o saldo de uma token account usando o método RPC getTokenAccountBalance:

const balance = await rpc.getTokenAccountBalance(tokenAccountAddress).send();
console.log(balance.value.uiAmount); // Human-readable (e.g., 100.50)
console.log(balance.value.amount); // Base units (e.g., "100500000")

Construir transações

Toda transação precisa de um blockhash recente para garantir que seja válida (e não obsoleta). Obtenha um antes de criar uma transação de pagamento usando o método RPC getLatestBlockhash:

const { value: latestBlockhash } = await rpc.getLatestBlockhash().send();

Os blockhashes expiram após ~60 segundos. Obtenha um novo imediatamente antes de assinar e enviar.

Verificar o status da transação

Verifique se uma transação foi liquidada usando o método RPC getSignatureStatuses:

const status = await rpc.getSignatureStatuses([signature]).send();
const result = status.value[0];
// result.confirmationStatus: "processed" | "confirmed" | "finalized"

Obter detalhes da transação

Obtenha os detalhes completos de uma transação confirmada usando o método RPC getTransaction:

const transaction = await rpc
.getTransaction(signature, { maxSupportedTransactionVersion: 0 })
.send();

Histórico de transações

Obtenha transações recentes de um endereço usando o método RPC getSignaturesForAddress:

const signatures = await rpc
.getSignaturesForAddress(walletAddress, { limit: 10 })
.send();

Para monitorização abrangente de pagamentos, consulte Aceitar pagamentos, que aborda webhooks e deteção de transações em tempo real.

Explorar dados públicos

O livro-razão público da Solana significa que cada transação, token account e mint é totalmente auditável. Os exploradores de blocos permitem verificar manualmente pagamentos, inspecionar contas e depurar problemas sem escrever código.

O que pode consultar:

  • Verificar se um pagamento foi liquidado
  • Inspecionar saldos de token accounts
  • Depurar transações falhadas
  • Consultar detalhes de mints (fornecimento, decimais, autoridade)

Exploradores comuns: Solana Explorer, SolanaFM, Solscan, Orb

Exemplos de links:

Is this page helpful?

Índice

Editar Página

Gerenciado por

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