RPC e subscriptions
JSON-RPC HTTP tipado e subscriptions WebSocket com @solana/kit 7.0.0.
Busque em todas as páginas da documentação
JSON-RPC HTTP tipado e subscriptions WebSocket com @solana/kit 7.0.0.
Cartão de receita de referência rápida - pronto para copiar e colar.
import { createSolanaRpc, createSolanaRpcSubscriptions, address } from "@solana/kit";
const rpc = createSolanaRpc(process.env.RPC_URL!);
const balance = await rpc.getBalance(address("PUBKEY")).send();
const ws = createSolanaRpcSubscriptions(process.env.RPC_WSS_URL!);Quando usar:
import { createSolanaRpc, createSolanaRpcSubscriptions, address } from "@solana/kit";
const rpc = createSolanaRpc("https://api.devnet.solana.com");
const rpcSubscriptions = createSolanaRpcSubscriptions("wss://api.devnet.solana.com");
async function watchBalance(owner: string) {
const acct = address(owner);
const { value } = await rpc.getBalance(acct).send();
console.log("initial", value);
const abort = new AbortController();
const stream = await rpcSubscriptions
.accountNotifications(acct, { commitment: "confirmed" })
.subscribe({ abortSignal: abort.signal });
for await (const n of stream) {
console.log("update", n.value.lamports);
}
}O que isso demonstra:
.send().AbortController para limpeza.createSolanaRpc encapsula JSON-RPC 2.0 com métodos e respostas tipados.createSolanaRpcSubscriptions abre WebSocket e expõe notificações async iterable.| Método | Uso |
|---|---|
getBalance | Saldo SOL |
getAccountInfo | Dados brutos de conta |
getLatestBlockhash | Lifetime de transação |
simulateTransaction | Erros de preflight |
sendTransaction | Submeter tx assinada |
// Passe commitment em leituras que alimentam UI de tesouraria
await rpc.getBalance(owner, { commitment: "finalized" }).send();wss:// da documentação do provedor.getAsset precisa de hosts com DAS. Correção: matriz de capacidades por vendor..send() - builders RPC são lazy até enviar. Correção: sempre encadeie .send().| Alternativa | Use quando | Não use quando |
|---|---|---|
| Yellowstone gRPC | Ingestão em escala de indexador | UI simples de carteira |
| Webhooks Helius | Push de eventos server-side | Cliente browser puro |
| Polling HTTP | Atualizações raras | UI de saldo sub-segundo |
| web3.js Connection | Manutenção legada | Apps greenfield |
Sim - aponte RPC e carteira para o mesmo cluster.
Evite em um módulo - migre por rota inteira.
Carteiras fornecem signers; kit constrói mensagens.
Trave 7.0.0 no package.json e CI.
Instruções compute budget antes do envio.
Surfpool 0.12.0 ou validador local com clones devnet.
Sempre lamports bigint no código kit.
confirmed para UI; finalized para tesouraria.
Leituras no servidor; assinatura em client components.
Simule, leia logs, verifique owners de conta.
Versões da 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.
Revisado por Chris St. John·Última atualização: 16 de jul. de 2026