Resumen
Sonic es una blockchain de Capa 1 compatible con EVM diseñada para aplicaciones DeFi de alto rendimiento. Para interactuar con Sonic, los desarrolladores necesitan un nodo RPC confiable que pueda manejar solicitudes JSON-RPC, suscripciones WebSocket y consultas de datos de archivo.
Esta página explica cómo configurar su billetera o dApp para usar endpoints RPC de Sonic, qué buscar en un proveedor de RPC y cómo solucionar problemas de conexión comunes. Ya sea que esté construyendo en Sonic o simplemente necesite un endpoint confiable, cubrimos lo esencial.
Inicio rápido: Endpoint RPC de Sonic
Si solo necesita un endpoint RPC de Sonic para comenzar a construir, aquí está el endpoint público proporcionado por OnFinality:
https://sonic.api.onfinality.io/public
Puede usar este endpoint para enviar solicitudes JSON-RPC, pero para aplicaciones de producción necesitará una solución más confiable y escalable. OnFinality ofrece nodos dedicados de Sonic y servicios RPC administrados con límites de velocidad más altos, datos de archivo y soporte WebSocket.
Configuración de red de un vistazo
Antes de conectarse a Sonic, necesita los parámetros de red correctos. Aquí hay un resumen:
| Parámetro | Valor |
|---|---|
| Nombre de red | Sonic Mainnet |
| ID de cadena | 146 |
| Moneda nativa | S (Sonic) |
| Explorador de bloques | https://sonicscan.org |
| URL RPC pública | https://sonic.api.onfinality.io/public |
Estos ajustes son esenciales para configurar billeteras, dApps y herramientas de desarrollo.
Cómo agregar Sonic a su billetera
Para interactuar con dApps basadas en Sonic, deberá agregar la red a su billetera (por ejemplo, MetaMask). Aquí hay una guía paso a paso:
- Abra su billetera y navegue a la configuración de red.
- Haga clic en "Agregar red" o "RPC personalizado".
- Ingrese los siguientes detalles:
- Nombre de red: Sonic Mainnet
- Nueva URL RPC:
https://sonic.api.onfinality.io/public - ID de cadena:
146 - Símbolo de moneda:
S - URL del explorador de bloques:
https://sonicscan.org
- Guarde la red y cambie a ella.
Una vez agregada, puede ver su saldo de Sonic e interactuar con las dApps de Sonic.
Realizando su primera llamada JSON-RPC
Para verificar su conexión, puede hacer una simple llamada JSON-RPC usando curl. Por ejemplo, para obtener el número de bloque actual:
curl https://sonic.api.onfinality.io/public \
-X POST \
-H "Content-Type: application/json" \
-d '{"jsonrpc":"2.0","method":"eth_blockNumber","params":[],"id":1}'
Debería recibir una respuesta como:
{"jsonrpc":"2.0","result":"0x...","id":1}
El result es el número de bloque en hexadecimal. Esto confirma que su endpoint RPC está funcionando.
Usando RPC de Sonic con ethers.js o viem
Para desarrolladores de JavaScript, puede integrar RPC de Sonic usando bibliotecas populares como ethers.js o viem. Aquí hay un ejemplo usando ethers.js:
import { ethers } from "ethers";
const provider = new ethers.JsonRpcProvider("https://sonic.api.onfinality.io/public");
async function getBlockNumber() {
const blockNumber = await provider.getBlockNumber();
console.log("Número de bloque actual:", blockNumber);
}
getBlockNumber();
Con viem:
import { createPublicClient, http } from "viem";
const client = createPublicClient({
chain: {
id: 146,
name: "Sonic Mainnet",
network: "sonic",
nativeCurrency: { name: "Sonic", symbol: "S", decimals: 18 },
rpcUrls: { default: { http: ["https://sonic.api.onfinality.io/public"] } },
},
transport: http(),
});
const blockNumber = await client.getBlockNumber();
console.log("Número de bloque actual:", blockNumber);
Suscripciones WebSocket para datos en tiempo real
Si su dApp necesita actualizaciones en tiempo real (por ejemplo, nuevos bloques, transacciones pendientes), necesitará un endpoint WebSocket. OnFinality proporciona soporte WebSocket para nodos RPC de Sonic. La URL de WebSocket típicamente sigue el patrón:
wss://sonic.api.onfinality.io/public/ws
Nota: La URL exacta de WebSocket puede variar. Consulte la página de red de Sonic para conocer los transportes compatibles más recientes.
Aquí hay un ejemplo de suscripción a nuevos encabezados de bloque usando ethers.js:
import { ethers } from "ethers";
const provider = new ethers.WebSocketProvider("wss://sonic.api.onfinality.io/public/ws");
provider.on("block", (blockNumber) => {
console.log("Nuevo bloque:", blockNumber);
});
Elegir el proveedor de RPC de Sonic adecuado
Al seleccionar un proveedor de RPC para Sonic, considere los siguientes factores:
| Factor | Qué verificar | Por qué importa |
|---|---|---|
| Límites de velocidad | Solicitudes por segundo, cuota diaria | Los endpoints públicos a menudo tienen límites estrictos que pueden limitar su dApp |
| Datos de archivo | Soporte para eth_getLogs y estado histórico | Necesario para análisis, indexación y depuración |
| Soporte WebSocket | Disponibilidad de endpoints wss | Esencial para funciones en tiempo real |
| Nodos dedicados | Opción de un nodo privado y aislado | Proporciona rendimiento consistente y sin vecinos ruidosos |
| Tiempo de actividad y confiabilidad | Historial de tiempo de actividad, redundancia | El tiempo de inactividad puede romper su aplicación |
OnFinality ofrece tanto RPC público compartido como nodos dedicados de Sonic. Los nodos dedicados le dan control total sobre su infraestructura, con límites de velocidad claros y acceso a datos de archivo.
Nodos RPC de Sonic públicos vs. dedicados
Para desarrollo y pruebas, un endpoint RPC público a menudo es suficiente. Sin embargo, para cargas de trabajo de producción, debería considerar un nodo dedicado. Aquí hay una comparación:
| Aspecto | RPC público | Nodo dedicado |
|---|---|---|
| Costo | Gratis o de bajo costo | Basado en suscripción |
| Límites de velocidad | Sí, a menudo estrictos | No (o muy altos) |
| Rendimiento | Compartido, variable | Consistente, aislado |
| Datos de archivo | Generalmente no disponibles | Disponibles bajo petición |
| WebSocket | Puede estar limitado | Soporte completo |
| Control | Ninguno | Acceso completo a la configuración del nodo |
Si su dApp maneja un alto volumen de solicitudes o requiere datos históricos, un nodo dedicado es la mejor opción.
Solución de problemas comunes de RPC de Sonic
Incluso con un proveedor confiable, puede encontrar problemas. Aquí hay problemas comunes y cómo solucionarlos:
1. Tiempos de espera de conexión
Si experimenta tiempos de espera, verifique:
- Su conexión de red
- La URL del endpoint RPC (asegúrese de que sea correcta)
- Si está usando el transporte correcto (HTTP vs WebSocket)
2. Errores de límite de velocidad
Los endpoints públicos a menudo devuelven 429 Too Many Requests. Para evitar esto:
- Implemente almacenamiento en caché en su cliente
- Use un nodo dedicado para aplicaciones de alto tráfico
- Considere usar múltiples endpoints con conmutación por error
3. ID de cadena incorrecto
Asegúrese de que su billetera o dApp esté configurada con el ID de cadena correcto (146). Usar el ID de cadena incorrecto puede causar que las transacciones fallen.
4. Datos de archivo faltantes
Si necesita datos históricos, asegúrese de que su proveedor admita solicitudes de archivo. Los endpoints públicos a menudo solo sirven el estado reciente.
Monitoreo de su nodo RPC de Sonic
Una vez que su conexión RPC esté activa, debe monitorear su salud. Puede configurar una verificación de salud simple usando un script:
#!/bin/bash
# Verificar si el endpoint RPC está respondiendo
response=$(curl -s -o /dev/null -w "%{http_code}" -X POST \
-H "Content-Type: application/json" \
-d '{"jsonrpc":"2.0","method":"eth_blockNumber","params":[],"id":1}' \
https://sonic.api.onfinality.io/public)
if [ "$response" -eq 200 ]; then
echo "RPC está saludable"
else
echo "RPC está caído"
fi
Puede ejecutar este script periódicamente para asegurarse de que su endpoint esté operativo.
Conclusiones clave
- Sonic es una blockchain de Capa 1 compatible con EVM con ID de cadena
146. - El endpoint RPC público es
https://sonic.api.onfinality.io/public. - Para producción, considere un nodo dedicado de Sonic para evitar límites de velocidad y obtener datos de archivo.
- Siempre verifique la configuración de su red y use el transporte correcto (HTTP/WebSocket).
- Monitoree su endpoint RPC para asegurar alta disponibilidad.
Preguntas frecuentes
P: ¿Cuál es la URL RPC de Sonic?
R: La URL RPC pública es https://sonic.api.onfinality.io/public. Para producción, es posible que desee un endpoint dedicado.
P: ¿Cuál es el ID de cadena de Sonic?
R: El ID de cadena es 146.
P: ¿OnFinality admite WebSocket para Sonic? R: Sí, OnFinality proporciona soporte WebSocket para nodos RPC de Sonic. Consulte la página de red de Sonic para más detalles.
P: ¿Puedo obtener datos de archivo para Sonic? R: Sí, los nodos dedicados de Sonic en OnFinality pueden configurarse con datos de archivo. Contáctenos para más información.
P: ¿Cómo elijo entre RPC público y dedicado? R: El RPC público es adecuado para desarrollo, pero para aplicaciones de producción con alto tráfico, los nodos dedicados ofrecen mejor rendimiento y confiabilidad.
Para más información sobre proveedores de RPC y soporte de red, visite nuestra página de precios de RPC y la lista de redes compatibles.