Resumen
Aprende a conectarte a la red Polygon a través de RPC, incluido el endpoint público oficial de OnFinality, la configuración de la cadena y los pasos comunes de solución de problemas. Esta guía cubre los métodos JSON-RPC, el soporte de WebSocket y cómo elegir entre infraestructura RPC pública, compartida y dedicada para tu dApp.
Guía rápida de decisión: ¿qué opción de RPC de Polygon se adapta a tu aplicación?
Antes de entrar en endpoints y métodos, decide cómo quieres conectarte a Polygon. Tu elección depende del tráfico, las necesidades de fiabilidad y si necesitas datos históricos.
- Endpoint RPC público – Bueno para prototipos, hackatones o aplicaciones de bajo tráfico. El endpoint público oficial de OnFinality es
https://polygon.api.onfinality.io/public. Es gratuito pero compartido, por lo que puede tener límites de tasa y no es ideal para cargas de trabajo de producción. - RPC compartido/gestionado – Un servicio gestionado que proporciona un endpoint dedicado con mayor rendimiento, soporte de WebSocket y a menudo datos de archivo. Esta es una opción común para dApps de producción que necesitan un rendimiento constante sin ejecutar infraestructura.
- Nodo dedicado – Un nodo completo aprovisionado exclusivamente para tu proyecto. Esto te da el mayor control, configuración personalizada y sin vecinos ruidosos. Es la mejor opción para aplicaciones de alto tráfico, indexadores o equipos que necesitan métodos RPC personalizados.
Si no estás seguro, comienza con el endpoint público para pruebas y luego pasa a una solución gestionada o dedicada a medida que crezca tu base de usuarios. Para una comparación detallada de proveedores, consulta nuestra guía para elegir un proveedor de RPC.
La red Polygon de un vistazo
Polygon (anteriormente Matic Network) es una solución de escalado de capa 2 para Ethereum. Utiliza consenso de prueba de participación (PoS) y es compatible con EVM, lo que significa que puedes usar las mismas herramientas y bibliotecas que en Ethereum. La red principal se usa ampliamente para DeFi, juegos y NFT debido a las bajas tarifas y la finalidad rápida.
Aquí están los ajustes clave de la cadena que necesitas para configurar tu billetera o dApp:
| Configuración | Valor |
|---|---|
| Nombre de la red | Polygon Mainnet |
| Chain ID | 137 |
| Moneda nativa | POL (anteriormente MATIC) |
| Símbolo | POL |
| Decimales | 18 |
| Explorador de bloques | https://polygonscan.com |
| Endpoint RPC público | https://polygon.api.onfinality.io/public |
| Soporte WebSocket | Sí (wss://polygon.api.onfinality.io/public) |
Nota: El token nativo fue renombrado de MATIC a POL. La mayoría de los métodos RPC y billeteras todavía hacen referencia al token como MATIC en algunos contextos, pero el símbolo ahora es POL.
Cómo conectarse a Polygon RPC
Puedes interactuar con Polygon RPC usando métodos JSON-RPC estándar de Ethereum. Aquí hay ejemplos usando curl y bibliotecas populares.
Usando curl
Para verificar el número de bloque actual:
curl -X POST https://polygon.api.onfinality.io/public \
-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://polygon.api.onfinality.io/public");
async function getBlock() {
const blockNumber = await provider.getBlockNumber();
console.log("Current block:", blockNumber);
}
getBlock();
Usando viem
import { createPublicClient, http } from 'viem';
import { polygon } from 'viem/chains';
const client = createPublicClient({
chain: polygon,
transport: http('https://polygon.api.onfinality.io/public')
});
const blockNumber = await client.getBlockNumber();
console.log(blockNumber);
Configuración de billetera
Si necesitas agregar Polygon a una billetera como MetaMask, usa estos ajustes:
- Nombre de la red: Polygon Mainnet
- Nueva URL RPC:
https://polygon.api.onfinality.io/public - Chain ID: 137
- Símbolo de moneda: POL
- URL del explorador de bloques:
https://polygonscan.com
Métodos JSON-RPC comunes en Polygon
Polygon admite la mayoría de los métodos JSON-RPC de Ethereum. Aquí están los que usarás con más frecuencia:
eth_blockNumber– Obtener el último número de bloque.eth_getBalance– Obtener el saldo de una dirección.eth_call– Ejecutar una llamada de contrato de solo lectura.eth_sendRawTransaction– Transmitir una transacción firmada.eth_getTransactionReceipt– Obtener el recibo de una transacción.eth_getLogs– Obtener registros de eventos (útil para indexación).eth_estimateGas– Estimar el gas para una transacción.
Para una lista completa, consulta la especificación JSON-RPC de Ethereum. Polygon también admite los métodos net_version y web3_clientVersion.
Soporte de WebSocket y datos en tiempo real
Si tu dApp necesita actualizaciones en tiempo real (por ejemplo, fuentes de precios, estado de transacciones), usa WebSocket. El endpoint público de OnFinality admite WebSocket en wss://polygon.api.onfinality.io/public.
Ejemplo de suscripción a nuevos encabezados de bloque:
const { WebSocket } = require("ws");
const ws = new WebSocket("wss://polygon.api.onfinality.io/public");
ws.on("open", () => {
ws.send(JSON.stringify({
jsonrpc: "2.0",
method: "eth_subscribe",
params: ["newHeads"],
id: 1
}));
});
ws.on("message", (data) => {
console.log("New block:", JSON.parse(data));
});
Depuración de problemas comunes de RPC
Incluso con un endpoint confiable, puedes encontrar problemas. Aquí hay problemas comunes y cómo solucionarlos.
1. Límite de tasa
Los endpoints públicos a menudo tienen límites de tasa. Si ves 429 Too Many Requests o rate limit exceeded, necesitas un endpoint de nivel superior. Considera un servicio RPC gestionado o un nodo dedicado.
2. Transacción no encontrada
Si eth_getTransactionReceipt devuelve null, la transacción puede estar pendiente o eliminada. Verifica el mempool con eth_getTransactionByHash. Si no se encuentra, reenvíala con un precio de gas más alto.
3. Chain ID incorrecto
Asegúrate de que tu billetera o dApp use el chain ID 137. Usar un chain ID incorrecto hará que las transacciones fallen.
4. Desconexiones de WebSocket
Las conexiones WebSocket pueden caerse. Implementa lógica de reconexión con retroceso exponencial.
5. Tiempos de espera de eth_getLogs
Consultar registros en un rango de bloques grande puede agotar el tiempo de espera. Usa rangos más pequeños y pagina.
Público vs. gestionado vs. dedicado: qué considerar
Al elegir un proveedor de RPC para Polygon, evalúa lo siguiente:
| Factor | Público | Gestionado | Dedicado |
|---|---|---|---|
| Costo | Gratis | Suscripción | Costo más alto |
| Límites de tasa | Sí | Límites más altos | Personalizado |
| Fiabilidad | Mejor esfuerzo | Alta | Más alta |
| Datos de archivo | No | Opcional | Sí |
| WebSocket | Sí | Sí | Sí |
| Métodos personalizados | No | Limitados | Sí |
Para aplicaciones de producción, se recomienda una solución gestionada o dedicada. OnFinality ofrece nodos dedicados y RPC gestionado para Polygon, con soporte para datos de archivo y WebSocket.
Testnet Polygon Amoy
Si estás desarrollando en una testnet, Polygon Amoy es la testnet recomendada (reemplazando a la obsoleta Mumbai). El chain ID es 80002 y el endpoint RPC público es https://polygon-amoy.api.onfinality.io/public. Puedes obtener POL de prueba desde el faucet de Amoy.
Conclusiones clave
- La red principal de Polygon usa el chain ID 137 y el token nativo POL.
- El endpoint público oficial de OnFinality es
https://polygon.api.onfinality.io/public. - Usa WebSocket para datos en tiempo real.
- Para producción, considera RPC gestionado o dedicado para evitar límites de tasa y garantizar la fiabilidad.
- Polygon Amoy es la testnet para desarrollo.
Preguntas frecuentes
¿Cuál es la URL RPC de la red Polygon?
La URL RPC pública para la red principal de Polygon es https://polygon.api.onfinality.io/public. Para la testnet Amoy, usa https://polygon-amoy.api.onfinality.io/public.
¿Cuál es el chain ID de Polygon?
El chain ID para la red principal de Polygon es 137. La testnet Amoy usa 80002.
¿Es Polygon RPC compatible con Ethereum?
Sí, Polygon es compatible con EVM, por lo que puedes usar métodos JSON-RPC de Ethereum y bibliotecas como ethers.js y viem.
¿Cómo obtengo POL de prueba para Polygon Amoy?
Puedes obtener POL de prueba desde el faucet de Amoy. Consulta la página de la red Polygon para más detalles.
¿Por qué me están limitando la tasa en el endpoint público?
Los endpoints públicos son compartidos y tienen límites de tasa. Para límites más altos, considera un servicio RPC gestionado o un nodo dedicado.
Para una lista completa de redes compatibles, visita nuestra página de redes.