Zexplorer Block Explorer

Zexplorer Block Explorer

Zexplorer block explorer

March 26, 2025· 4 min read
81 score

Zexplorer Technical Report

Project Overview

Zexplorer is a Telegram bot designed to explore the Zcash blockchain in a simple, fast, and reliable way. Its goal is to bring network information closer to users, allowing them to query blocks, transactions, and balances without relying on external web explorers. It is aimed at users seeking transparency and control over their funds, as well as developers who want to integrate real-time Zcash data analysis.

1. Architecture and Technologies

Language and Environment

The project is developed in Python 3.x, chosen not for fashion but for its balance between simplicity, power, and the breadth of its ecosystem. Each component runs within a virtual environment (venv), ensuring dependency isolation and system stability.

The code is cross-platform, with automatic detection of the operating system via platform, allowing paths, fonts, and configurations to adapt on both Windows and Linux without manual modifications. The test version runs on Windows, while the main version operates on an SSV Linux server.

User interaction is handled through the Telegram Bot API, implemented with the telebot library, which facilitates command management, the sending of rich messages, images, and interactive keyboards.

Visual processing is handled by Pillow (PIL), used to generate graphical compositions, overlay dynamic data, and integrate QR codes directly onto images.

Connections to external data sources (blockchains, markets, indexers) are managed with the requests library, forming the foundation of all HTTP communication. For analytical visualization, matplotlib.pyplot is used to build price, volume, and network metric charts (such as Zcash metrics) without relying on external tools.

When APIs do not provide the required information, the system falls back to web automation. Using Selenium with webdriver_manager and headless Chrome, it is possible to interact with panels, dashboards, or explorers that do not expose public endpoints, extracting information directly from the DOM.

Finally, image and chart management is handled entirely in memory using io.BytesIO, avoiding temporary files and keeping operations clean, fast, and secure.

2. Information Sources

  • 3xpl API: General source for blocks, transactions, nodes, and real-time Zcash network events.
  • Blockchair API: Alternative general source for transactions, nodes, and Zcash network data in real time.
  • Coingecko API: Used to retrieve historical prices, market metrics, and ZEC capitalization.
  • Binance API: Provides live trading data, volume, and ZEC/USDT and ZEC/BTC pairs.
  • Web Scraping (Headless Selenium + Chrome): When APIs don't give me what I need, I take it by force.
    Web automation is used to extract hidden or restricted data from dashboards, mining panels, and block explorers that don't expose public endpoints.
  • Own Zebra Node + Lightwallet Address: carover0.xyz:9067. This is the data source for the /zebra command, which allows displaying the Zcash network status and real-time transactions directly in Telegram.

3. Main Features

Block exploration:

  • Query any block from the blockchain.
  • Detailed information: block height, timestamp, transactions, rewards, and confirming validators.

Transaction exploration:

  • Full inputs and outputs, hash, involved addresses, and transferred amount.
  • Transaction status (confirmed or pending).
  • Node data by country.

Events and fund movements:

  • Network event logs and presentation within Telegram.
  • Summary of inputs and outputs by address, including compatible tokens.

QR code generation:

  • Compatible with both t- and u-addresses from Zcash.
  • Allows for fast and secure sending and receiving of funds.

Transparent balance verification:

  • Check balances for any address.

Visualization and dynamic charts:

  • Create charts for prices, volume, and capitalization using matplotlib.
    -View total mining pool balances and user-held funds.

Web automation:

  • Scrape trading dashboards or block explorers with Selenium and headless Chrome.
  • Ability to update metrics not exposed via public APIs.

4. Advanced and Technical Features

  • Timing and cooldown management: time.sleep and timestamps to handle rate limits and command refresh intervals.
  • Interactivity: Inline keyboards (InlineKeyboardMarkup) with close buttons, event viewers, and data navigation.
  • Resource optimization: In-memory streams (io.BytesIO) to send images and charts without writing to disk.
  • Cross-platform support: OS detection for adjusting paths, fonts, and binaries.
  • Token and price formatting: Dynamic adjustment of fonts and decimal precision based on value (e.g., extra decimals for prices < 1 USD).
  • Automatic updates: Real-time data displayed as images or rich Telegram messages.

New Features

  • /zebra Displays real-time Zcash network status directly in Telegram.
  • /zecprice Shows the current ZEC price, designed for sharing in groups.
  • /news Aggregates Zcash and crypto news from multiple sources, updated every hour.

5. Project Goals

  • Provide transparency and direct access to the Zcash blockchain.
  • Enable independent auditing of transactions and balances.
  • Generate visual and dynamic reports of market and blockchain data.
  • Maintain an open-source, lightweight, and adaptable codebase for future crypto projects.

💛 Zexplorer


traducir


Related Articles