Resumen
Esta guía cubre los endpoints RPC de Avalanche para C-Chain, P-Chain y X-Chain, incluyendo URLs de mainnet y Fuji testnet, IDs de cadena y cómo elegir un proveedor RPC confiable. Incluye una lista de verificación de decisión, criterios de evaluación y ejemplos de código para ayudar a los desarrolladores a integrar Avalanche RPC en sus dApps.
Lista de Verificación de Decisión para Avalanche RPC
Antes de integrar un endpoint RPC de Avalanche, considere lo siguiente:
- ¿Qué cadena necesita? C-Chain (contratos inteligentes compatibles con EVM), P-Chain (gestión de validadores/subnets) o X-Chain (transferencias de activos).
- ¿Mainnet o testnet? Use Fuji testnet para desarrollo y pruebas.
- ¿RPC público o privado? Los endpoints públicos tienen límites de tasa y pueden no ser confiables para producción. Los endpoints privados ofrecen límites de tasa más altos y recursos dedicados.
- ¿Necesita datos de archivo? Los nodos de archivo proporcionan acceso al estado histórico para análisis o dApps que consultan bloques pasados.
- ¿Soporte WebSocket? Para suscripciones en tiempo real (por ejemplo, transacciones pendientes), asegúrese de que el proveedor admita endpoints WebSocket.
- ¿Distribución geográfica? La baja latencia requiere endpoints cercanos a sus usuarios o infraestructura.
Arquitectura de la Red Avalanche
Avalanche consta de tres blockchains integrados, cada uno con su propia interfaz RPC:
- C-Chain (Contract Chain): Compatible con EVM, ejecuta contratos inteligentes. Utiliza métodos JSON-RPC estándar de Ethereum.
- P-Chain (Platform Chain): Coordina validadores, gestiona subnets y staking. Tiene su propio conjunto de métodos API.
- X-Chain (Exchange Chain): Maneja la creación y transferencia de activos digitales (por ejemplo, AVAX). Utiliza APIs específicas de Avalanche.
Adicionalmente, Avalanche soporta subnets — blockchains personalizados con sus propios conjuntos de validadores y máquinas virtuales. Cada subnet tiene su propio endpoint RPC.
Endpoints RPC de Avalanche
Mainnet
| Cadena | Endpoint RPC (HTTP) | Endpoint WebSocket | ID de Cadena |
|---|---|---|---|
| C-Chain | https://api.avax.network/ext/bc/C/rpc | wss://api.avax.network/ext/bc/C/ws | 43114 (0xa86a) |
| P-Chain | https://api.avax.network/ext/bc/P | No disponible públicamente | — |
| X-Chain | https://api.avax.network/ext/bc/X | No disponible públicamente | — |
Fuji Testnet
| Cadena | Endpoint RPC (HTTP) | Endpoint WebSocket | ID de Cadena |
|---|---|---|---|
| C-Chain | https://api.avax-test.network/ext/bc/C/rpc | wss://api.avax-test.network/ext/bc/C/ws | 43113 (0xa869) |
| P-Chain | https://api.avax-test.network/ext/bc/P | No disponible públicamente | — |
| X-Chain | https://api.avax-test.network/ext/bc/X | No disponible públicamente | — |
Nota: Los nodos API públicos (
api.avax.network) tienen límites de tasa y pueden no ser adecuados para cargas de trabajo de producción. Para producción, considere un proveedor RPC dedicado como OnFinality, que ofrece límites de tasa más altos y nodos dedicados.
Cómo Elegir un Proveedor RPC de Avalanche
Al evaluar proveedores RPC para Avalanche, use los siguientes criterios:
| Criterio | Qué verificar | Por qué es importante |
|---|---|---|
| Cobertura de endpoints | ¿El proveedor soporta C-Chain, P-Chain, X-Chain y Fuji testnet? | Puede necesitar múltiples cadenas para su dApp. |
| Límites de tasa | ¿Cuáles son los límites de solicitudes por segundo (RPS)? | Los endpoints públicos a menudo limitan; las aplicaciones de producción necesitan límites más altos. |
| Tiempo de actividad y confiabilidad | ¿Hay un acuerdo de nivel de servicio (SLA)? | El tiempo de inactividad puede romper su aplicación. |
| Latencia | ¿Dónde están ubicados geográficamente los nodos? | Menor latencia mejora la experiencia del usuario. |
| Datos de archivo | ¿El proveedor ofrece nodos de archivo? | Necesario para consultas históricas y análisis. |
| Soporte WebSocket | ¿Están disponibles los endpoints WebSocket? | Requerido para actualizaciones en tiempo real. |
| Modelo de precios | ¿Pago por uso, suscripción o nivel gratuito? | Elija según su presupuesto y patrones de uso. |
Para una inmersión más profunda, consulte nuestra guía sobre cómo elegir un proveedor RPC.
Realizando Llamadas RPC a Avalanche C-Chain
Dado que C-Chain es compatible con EVM, puede usar bibliotecas estándar de Ethereum como ethers.js o web3.js. A continuación se muestra un ejemplo usando curl y ethers.js.
Usando curl
curl -X POST https://api.avax.network/ext/bc/C/rpc \
-H "Content-Type: application/json" \
-d '{
"jsonrpc": "2.0",
"method": "eth_blockNumber",
"params": [],
"id": 1
}'
Usando ethers.js
const { ethers } = require("ethers");
const provider = new ethers.JsonRpcProvider("https://api.avax.network/ext/bc/C/rpc");
async function getBlockNumber() {
const blockNumber = await provider.getBlockNumber();
console.log("Current block number:", blockNumber);
}
getBlockNumber();
Ejemplo de Suscripción WebSocket
const { WebSocket } = require("ws");
const ws = new WebSocket("wss://api.avax.network/ext/bc/C/ws");
ws.on("open", function open() {
ws.send(JSON.stringify({
jsonrpc: "2.0",
method: "eth_subscribe",
params: ["newHeads"],
id: 1
}));
});
ws.on("message", function incoming(data) {
console.log("New block:", JSON.parse(data));
});
Errores Comunes y Solución de Problemas
1. Límite de Tasa
Los endpoints públicos a menudo devuelven 429 Too Many Requests. Cambie a un proveedor RPC privado con límites más altos.
2. ID de Cadena Incorrecto
Asegúrese de que su wallet o dApp use el ID de cadena correcto: 43114 para mainnet, 43113 para Fuji testnet.
3. WebSocket No Soportado en P-Chain/X-Chain
Solo C-Chain soporta conexiones WebSocket en la API pública. Para otras cadenas, use sondeo HTTP.
4. Método No Encontrado
Algunos métodos de Ethereum (por ejemplo, eth_getLogs) son soportados en C-Chain pero no en P-Chain o X-Chain. Consulte la documentación de AvalancheGo C-Chain RPC para la lista completa.
Próximos Pasos
- Explore las redes RPC soportadas para ver qué cadenas soporta OnFinality.
- Revise los precios de RPC para planes gratuitos y de pago.
- Para cargas de trabajo de producción, considere un nodo dedicado para un rendimiento predecible.
Conclusiones Clave
- Avalanche tiene tres cadenas principales: C-Chain (EVM), P-Chain (plataforma) y X-Chain (activos).
- Los endpoints públicos son adecuados para pruebas pero no para producción debido a límites de tasa.
- Elija un proveedor basado en cobertura de endpoints, límites de tasa, latencia y soporte de archivo.
- Use herramientas estándar de Ethereum para desarrollo en C-Chain; P-Chain y X-Chain requieren APIs específicas de Avalanche.
- Siempre verifique los IDs de cadena y la disponibilidad de WebSocket antes de integrar.
FAQ
¿Cuál es la URL RPC de Avalanche C-Chain?
La URL RPC de C-Chain en mainnet es https://api.avax.network/ext/bc/C/rpc. Para Fuji testnet, use https://api.avax-test.network/ext/bc/C/rpc.
¿Avalanche soporta RPC WebSocket?
Sí, C-Chain soporta WebSocket en wss://api.avax.network/ext/bc/C/ws (mainnet) y wss://api.avax-test.network/ext/bc/C/ws (testnet).
¿Cuál es el ID de cadena para Avalanche C-Chain?
El ID de cadena de mainnet es 43114 (0xa86a). El ID de cadena de Fuji testnet es 43113 (0xa869).
¿Puedo usar bibliotecas de Ethereum con Avalanche?
Sí, C-Chain es completamente compatible con EVM, por lo que puede usar ethers.js, web3.js, Hardhat y otras herramientas de Ethereum.
¿Dónde puedo encontrar un proveedor RPC confiable de Avalanche?
OnFinality proporciona endpoints RPC de Avalanche con límites de tasa más altos y opciones de nodos dedicados. Consulte nuestra página de redes soportadas para más detalles.