OpenViSTAI · Agents · Blockchain · Crypto
Menu
Explorers & Analytics

Eth Indexer

Eth Indexer is a self-hosted Ethereum indexing project that uses a modified Geth component to capture per-block and per-address state differences, an indexer to crawl blocks and transactions, and MySQL to store the resulting data for queries.

Independent OpenViST project profile, based on linked sources.

Eth Indexer — OpenViST project profile in Explorers & Analytics.
OpenViST project illustration. See the linked sources for product details.
Understand the project

Practical overview

When it fits

Use Eth Indexer when you need a self-hosted MySQL dataset of Ethereum blocks, transactions and address-level state changes for your own queries or analytics.

Who it is for

  • Teams building internal analytics or reporting from Ethereum block and account data.
  • Go developers who want to query indexed Ethereum records from MySQL.
  • Operators comfortable setting up a Docker Compose stack with persistent Geth and MySQL data.

Documented uses

  • Collect Ethereum block and transaction records into a MySQL database.
  • Capture address-level state differences for historical analysis.
  • Query block headers, transactions and account balances.
  • Use the indexed data as a basis for internal dashboards, reports or ERC-20 balance analysis.
Before you choose

Requirements & limits

The project is public source code licensed under LGPL-3.0. Its documented deployment uses Docker and Docker Compose.

  • The pipeline combines a modified Geth component, an indexer and MySQL; it is not just a database schema or query client.
  • MYSQL_DATA_PATH and GETH_DATA_PATH are required for persistent data in the documented Compose setup.
  • Configuration supports YAML files and command-line flags, with flags overriding matching YAML settings.
  • The README’s examples cover block headers, transactions and account balances, with ERC-20 guidance in a test case.

Check current requirements in the official documentation. Source-based guidance does not mean OpenViST has run or independently tested this project.

Source-based practical guide

Build and start the Docker Compose indexer

Build the project containers, initialize the database schema and start indexing Ethereum data.

Before you start

  • Docker and Docker Compose
  • The repository cloned locally
  • MYSQL_DATA_PATH and GETH_DATA_PATH set to local persistent data directories

Steps

  1. Set MYSQL_DATA_PATH and GETH_DATA_PATH, using a .env file beside docker-compose.yml or environment variables.

  2. From the repository directory, run docker-compose build.

  3. Create the MySQL and Geth data directories, then run docker-compose up idx-database idx-migration with MYSQL_DATA_PATH set to initialize the schema.

  4. After the migration exits successfully, run docker-compose up with both data-path variables set to start the indexer.

Expected outcome

The indexer starts reading from Geth and writing indexed data to MySQL; indexing messages appear in the logs.

Guide limitations

  • The documented setup is for Docker Compose and requires the two persistent data paths.
  • The README says to wait a few minutes for indexing messages; it does not specify an indexing completion point.
Source-based practical guide

Query indexed Ethereum records

Use the stored MySQL data to retrieve block, transaction or account information.

Before you start

  • An Eth Indexer database containing indexed data
  • Go for the account-query example

Steps

  1. Connect to the MySQL database using the project’s query example.

  2. Query block_headers or transactions for block and transaction records.

  3. For account data, use the account store example to look up an address and read its balance and block number.

  4. Consult the repository’s ERC-20 test case for its ERC-20 balance example.

Expected outcome

The documented examples provide a starting point for reading indexed block, transaction, account and ERC-20 balance data.

Guide limitations

  • The README notes that balance queries differ from the block_headers and transactions examples.
  • The query guidance assumes indexed data is already present in MySQL.
Evidence and transparency

Sources & review

Source record details
Source availability
Active
Sources checked
16 October 2026
Original website title
getamis/eth-indexer · Official homepage title · retained in its source language