Métodos RPC Principales
Los métodos de lectura esenciales que usa todo cliente de Solana: información de cuenta, saldos, escaneos de programas y búsquedas por lotes.
Busca en todas las páginas de la documentación
Los métodos de lectura esenciales que usa todo cliente de Solana: información de cuenta, saldos, escaneos de programas y búsquedas por lotes.
Tarjeta de receta de referencia rápida, lista para copiar y pegar.
import { createSolanaRpc, address } from "@solana/kit";
const rpc = createSolanaRpc("https://api.devnet.solana.com");
await rpc.getAccountInfo(pubkey, { encoding: "base64" }).send();
await rpc.getBalance(pubkey).send();
await rpc.getMultipleAccounts([pk1, pk2]).send();
await rpc.getProgramAccounts(programId, { encoding: "base64" }).send();Cuándo usar esto:
import { createSolanaRpc, address } from "@solana/kit";
const rpc = createSolanaRpc("https://api.devnet.solana.com");
const SYSTEM_PROGRAM = address("11111111111111111111111111111111");
const wallet = address("YOUR_WALLET_PUBKEY");
const [balance, accountInfo, multi] = await Promise.all([
rpc.getBalance(wallet, { commitment: "confirmed" }).send(),
rpc.getAccountInfo(SYSTEM_PROGRAM, { encoding: "base64" }).send(),
rpc.getMultipleAccounts([wallet, SYSTEM_PROGRAM], {
commitment: "confirmed",
encoding: "base64",
}).send(),
]);
console.log({
lamports: balance.value,
systemExecutable: accountInfo.value?.executable,
multiCount: multi.value?.length,
});Lo que esto demuestra:
getBalance devuelve lamports para billeteras propiedad del sistema.getAccountInfo devuelve propietario, lamports, datos, indicador de ejecutable.getMultipleAccounts agrupa hasta los límites del proveedor en un solo viaje de ida y vuelta de RPC.commitment y encoding.base64 es estándar para datos binarios de programas; jsonParsed funciona para algunos programas SPL en nodos compatibles.getProgramAccounts sin filtros escanea todo el espacio del programa - costoso en mainnet.value nulo significa que la cuenta no existe con el compromiso elegido.| Método | Devuelve | Costo |
|---|---|---|
getAccountInfo | Cuenta única | Bajo |
getBalance | Solo Lamports | Bajo |
getMultipleAccounts | Hasta N cuentas | Medio |
getProgramAccounts | Todas las cuentas coincidentes | Alto sin filtros |
// Prefiere el ayudante address() para claves base58
import { address, assertIsAddress } from "@solana/kit";
const mint = address("EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v");
assertIsAddress(mint);memcmp/dataSize (getProgramAccounts y Filtros).value: null bloquea analizadores ingenuos. Solución: verifica si es nulo antes de decodificar.jsonParsed en todas partes - no todos los programas son compatibles. Solución: decodifica con tu IDL desde base64.getMultipleAccounts. Solución: divide en lotes de 100 o según la documentación del proveedor.confirmed. Solución: sondea o suscríbete después de las transacciones.| Alternativa | Usar Cuando | No Usar Cuando |
|---|---|---|
DAS getAsset | Metadatos de NFT/comprimidos | Cuentas de programas personalizadas |
| Geyser/Yellowstone | Streaming a escala de indexador | Saldo simple de billetera |
solana account CLI | Depuración única | Lecturas de aplicaciones de producción |
| APIs mejoradas de Helius | Saldos de tokens analizados | Bloqueo del proveedor inaceptable |
base64 para datos genéricos de programas; jsonParsed cuando el proveedor documenta el soporte SPL para tu tipo de cuenta.
Depende del proveedor - agrupa 50-100 claves públicas por llamada como valor predeterminado seguro.
Sí - lamports totales en la cuenta; las cuentas de tokens tienen saldos separados por mint.
Escanea todas las cuentas propiedad del programa - siempre agrega filtros en mainnet.
Sí - apunta la URL de RPC a http://127.0.0.1:8899.
Usa clientes Anchor/codama o diseños Borsh que coincidan con las estructuras en cadena.
confirmed después de las transacciones del usuario; processed solo para contadores en vivo de bajo riesgo.
No hay garantía de caché en el lado del servidor - trátalo como una lectura en vivo; agrega tu propia caché TTL con cuidado.
getProgramAccounts escanea por programa propietario; getMultipleAccounts recupera claves públicas explícitas que ya conoces.
Sí - pasa encoding: "base64" en objetos de parámetros con verificación completa de TypeScript.
Versiones de la pila: Esta página fue 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, y LiteSVM 0.6.x.
Revisado por Chris St. John·Última actualización: 19 jul 2026