Introducción a los datos on-chain y Etherscan API
En el universo de Ethereum, cada transacción, contrato inteligente y movimiento de tokens se registra en la blockchain. A la hora de construir aplicaciones descentralizadas (dApps), paneles de análisis o integraciones en WordPress, resulta esencial embeber estos datos de manera fiable y en tiempo real. Ahí es donde entra en juego Etherscan API, un gateway robusto para consultar información on-chain sin necesidad de ejecutar tu propio nodo.
¿Por qué usar Etherscan API
- Acceso inmediato: No esperes a que tu nodo sincronice, utiliza endpoints públicos optimizados.
- Documentación completa: docs.etherscan.io
- Amplia cobertura: Transacciones, balances, tokens, eventos de contratos y más.
- Gratuidad y planes avanzados: Desde un plan free con límites generosos hasta suscripciones premium.
1. Registro y obtención de la API Key
- Accede a etherscan.io/register y crea una cuenta.
- Inicia sesión y ve a la sección API-Keys.
- Genera una nueva clave y guárdala de forma segura (claveXyz123 como ejemplo).
Con la API Key ya disponible, podrás realizar solicitudes como:
https://api.etherscan.io/apimodule=accountaction=balanceaddress=0xABC...123tag=latestapikey=claveXyz123
2. Endpoints esenciales
| Endpoint | Descripción | Parámetros clave |
|---|---|---|
| quotbalancequot | nbspObtiene el balance ETH de una dirección. | quotaddressquot, quottagquot |
| quottxlistquot | nbspLista de transacciones de una cuenta. | quotstartblockquot, quotendblockquot |
| quottokentxquot | nbspEventos de transferencia de tokens ERC-20. | quotcontractaddressquot, quotpagequot |
3. Ejemplos de implementación en JavaScript
Para embeber datos on-chain en tu sitio WordPress, puedes crear un pequeño plugin o un shortcode que ejecute código JS en segundo plano. Ejemplo con fetch:
// Definición de la función
async function obtenerBalance(address) {
const apiKey = claveXyz123
const url = https://api.etherscan.io/apimodule=accountaction=balanceaddress={address}tag=latestapikey={apiKey}
const resp = await fetch(url)
const { result } = await resp.json()
return (parseInt(result) / 1e18).toFixed(6) ETH
}
// Uso: muestra el balance
obtenerBalance(0xABC...123).then(balance =gt {
document.getElementById(balance-eth).textContent = balance
})
Posteriormente, incluye en tu artículo de WordPress un div con id balance-eth donde se mostrará dinámicamente el valor.
4. Mejores prácticas y consideraciones
- Cache local: Minimiza llamadas redundantes con transients en WordPress.
- Manejo de errores: Controla respuestas vacías o códigos de error HTTP.
- Límites de tarifa: El plan gratuito permite ~5 llamadas/segundo. Consulta Rate Limits.
- Seguridad: Nunca expongas tu API Key en repositorios públicos. Usa variables de entorno o settings cifrados.
- Actualizaciones: Revisa periódicamente la documentación oficial por posibles cambios en endpoints.
5. Casos de uso avanzados
5.1 Panel de control de portafolio
Agrega varios shortcodes para cada token y visualiza gráficas de evolución con librerías como Chart.js. Obtén balances de tokens ERC-20 usando el endpoint tokenbalance.
5.2 Alerta de transacciones
Integra un sistema de notificaciones push o email cuando una dirección reciba fondos. Programa tareas cron que cada X minutos consulten txlist y detecten nuevos hashes.
Deja una respuesta