Informe Técnico Zexplorer
Resumen del proyecto
Zexplorer es un bot de Telegram diseñado para explorar la blockchain de Zcash de manera sencilla, rápida y confiable. Su objetivo es acercar la información de la red a los usuarios, permitiéndoles consultar bloques, transacciones y saldos sin necesidad de recurrir a exploradores web externos. Está orientado a usuarios que buscan transparencia y control sobre sus fondos, pero también a desarrolladores que deseen integrar análisis de datos de Zcash en tiempo real.
1. Arquitectura y TecnologÃas
Lenguaje y entorno
El proyecto está desarrollado sobre Python 3.x, elegido no por moda sino por su equilibrio entre simplicidad, potencia y la amplitud de su ecosistema. Cada componente se ejecuta dentro de un entorno virtual (venv), garantizando independencia de dependencias y estabilidad entre sistemas.
El código es multiplataforma, con detección automática del sistema operativo mediante platform, lo que permite adaptar rutas, fuentes y configuraciones tanto en Windows como en Linux sin necesidad de modificaciones manuales. La versión de prueba se ejecuta en Windows, mientras que la versión principal corre en un servidor SSV Linux.
La comunicación con el usuario se canaliza a través de la Telegram Bot API, implementada con la librerÃa telebot, que facilita la gestión de comandos, el envÃo de mensajes enriquecidos, imágenes y teclados interactivos.
El procesamiento visual está a cargo de Pillow (PIL), utilizado para generar composiciones gráficas, superponer datos dinámicos o integrar códigos QR directamente sobre las imágenes.
Las conexiones con fuentes externas de datos (blockchains, mercados, indexadores) se manejan con la librerÃa requests, base de toda la capa de comunicación HTTP. Para la visualización analÃtica, se utiliza matplotlib.pyplot, que permite construir gráficos de precios, volumen y métricas especÃficas (como las de Zcash) sin depender de herramientas externas.
Cuando las APIs no exponen la información que necesito, el sistema recurre a la automatización web. A través de selenium, con webdriver_manager y Chrome en modo headless, es posible interactuar con paneles, dashboards o exploradores que no ofrecen endpoints públicos, extrayendo la información directamente del DOM.
Por último, la gestión de imágenes y gráficos se realiza Ãntegramente en memoria con io.BytesIO, evitando archivos temporales y manteniendo la operación limpia, rápida y segura.
2. Fuentes de Información
- API de 3xpl: fuente general, transacciones, nodos y eventos de la red Zcash en tiempo real.
- API de blockchair: fuente general, transacciones, nodos y eventos de la red Zcash en tiempo real.
- API de Coingecko: utilizada para obtener precios históricos, métricas de mercado y capitalización de ZEC.
- API de Binance: provee datos de trading, volumen y cotizaciones en tiempo real para cruces ZEC/USDT y ZEC/BTC.
- Scraping web (Selenium + Chrome headless): cuando las APIs no entregan lo que necesito, lo tomo por la fuerza.
Se utiliza automatización web para extraer información oculta o restringida en dashboards, paneles de minerÃa y block explorers que no exponen endpoints públicos. - Dirección propia de nodo Zebra + Lightwallet: carover0.xyz:9067. Esta es la fuente de datos del comando /zebra, que permite mostrar el estado de la red Zcash y transacciones en tiempo real directamente en Telegram.
3. Funcionalidades Principales
Exploración de bloques:
- Consulta de cualquier bloque de la blockchain.
- Información detallada: número de bloque, timestamp, transacciones, recompensas y validadores confirmantes.
Exploración de transacciones: - Entradas y salidas completas, hash, direcciones involucradas y valor transferido.
- Estado de la transacción (confirmada o pendiente).
- Nodos por pais y version del software.
Eventos y movimientos de fondos:
- Registro de eventos en la red y presentación en Telegram.
- Resumen de entradas y salidas por dirección, incluyendo tokens compatibles.
Generación de códigos QR:
- Compatible con direcciones t y u de Zcash.
- Permite envÃos y recepción de fondos de manera rápida y segura.
Verificación de saldo transparente:
- Consulta de saldos de cualquier dirección.
- Visualización de balances totales de pools de minerÃa y fondos de usuarios.
Visualización y gráficos dinámicos:
- Creación de gráficos de precios, volumen y capitalización usando matplotlib.
- Integración de overlays de información en imágenes de respuesta.
Automatización web:
- Scraping de dashboards de trading o block explorers con Selenium y Chrome headless.
- Capacidad de actualizar métricas que no se exponen por API pública.
4. Funcionalidades Avanzadas y Técnicas
Manejo de tiempos y cooldowns: time.sleep y timestamps para controlar rate-limits y refrescos de comandos.
Interactividad: teclados inline (InlineKeyboardMarkup) con botones de cierre, visualización de eventos y navegación entre datos.
Optimización de recursos: uso de streams en memoria (io.BytesIO) para enviar imágenes y gráficos sin ocupar disco.
Soporte multiplataforma: detección de sistema operativo para ajustar rutas de fuentes y binarios.
Procesamiento de tokens y precios: ajuste dinámico de fuentes y formato de precios según valor (por ejemplo, decimales variables para valores <1 USD).
Actualización automática con visualización en formato de imagen o mensaje enriquecido.
Novedades
- /zebra Muestra el estado de la red Zcash en tiempo real directamente en Telegram.
- /preciozec Incluye precio actual de ZEC, para compartir en grupos.
- /noticias Noticias de diferentes fuentes para compartir en un grupo actualizadas cada 1 hora.
5. Objetivos del Proyecto
Brindar transparencia y acceso directo a la blockchain de Zcash.
Facilitar la auditorÃa independiente de transacciones y balances.
Generar reportes visuales y dinámicos de datos de mercado y blockchain.
Mantener un código abierto, ligero y adaptable a otros proyectos cripto.
💛 Zexplorer




