Interacción con Solana

Antes de construir flujos de pago, necesitas conectarte a Solana y comprender cómo consultar datos de la red. Esta guía cubre los conceptos básicos: establecer una conexión y usar los métodos RPC que necesitarás para pagos utilizando el SDK de TypeScript @solana/kit y Solana CLI. Además, cubriremos los conceptos básicos del uso del Solana Explorer para verificar pagos manualmente, inspeccionar cuentas y depurar problemas.

Conexión a Solana

La API RPC de Solana es la forma principal de interactuar programáticamente con la red. Tu URL de RPC es efectivamente una clave API para la red.

No uses RPC público para producción

Los endpoints públicos (api.mainnet-beta.solana.com, api.devnet.solana.com) tienen límites de tasa, no tienen SLA y no son adecuados para flujos de pago en producción. Usa un proveedor de RPC para asegurar un endpoint RPC privado para despliegues en producción.

Para desarrollo y pruebas, puedes usar endpoints públicos con límites de tasa.

Crea un cliente RPC para interactuar con la red:

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 desarrollo, usa devnet (https://api.devnet.solana.com) o un validator local como Surfpool.

Métodos RPC comunes

La API JSON-RPC de Solana expone métodos para consultar la red. Aquí están los que usarás más para flujos de pago.

Obtener información de cuenta

Todas las cuentas en Solana son direccionables por su clave pública. Usa el método RPC getAccountInfo para obtener información sobre cualquier cuenta. El método getAccountInfo devuelve un objeto AccountInfo, que contiene la clave pública de la cuenta, saldo de SOL, datos y algunos otros metadatos.

El campo data es una cadena codificada en base64 de los datos de la cuenta. Puedes codificarlo a bytes usando el método getBase64Codec del paquete @solana/kit y luego decodificarlo a un objeto legible usando el códec esperado (si se conoce) para los datos de la cuenta (por ejemplo, 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);

Obtener saldos de tokens

Consulta el saldo de un token account usando el 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 transacciones

Cada transacción necesita un blockhash reciente para asegurar que sea válida (y no obsoleta). Obtén uno antes de crear una transacción de pago usando el método RPC getLatestBlockhash:

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

Los blockhashes expiran después de ~60 segundos. Obtén uno nuevo inmediatamente antes de firmar y enviar.

Verificar el estado de la transacción

Verifica que una transacción se haya liquidado usando el método RPC getSignatureStatuses:

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

Obtener detalles de la transacción

Obtén los detalles completos de una transacción confirmada usando el método RPC getTransaction:

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

Historial de transacciones

Obtén las transacciones recientes de una dirección usando el método RPC getSignaturesForAddress:

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

Para un monitoreo integral de pagos, consulta Aceptar pagos que cubre webhooks y detección de transacciones en tiempo real.

Explorar datos públicos

El libro mayor público de Solana significa que cada transacción, token account y mint es completamente auditable. Los exploradores de bloques te permiten verificar pagos manualmente, inspeccionar cuentas y depurar problemas sin escribir código.

Lo que puedes consultar:

  • Verificar que un pago se liquidó
  • Inspeccionar saldos de token accounts
  • Depurar transacciones fallidas
  • Consultar detalles de mint (suministro, decimales, autoridad)

Exploradores comunes: Solana Explorer, SolanaFM, Solscan, Orb

Enlaces de ejemplo:

Is this page helpful?

Tabla de Contenidos

Editar Página

Gestionado por

© 2026 Fundación Solana.
Todos los derechos reservados.
Conéctate