shunkakinoki / evm-indexer

A scalable SQL indexer for EVM compatible blockchains

Home Page:https://evm-indexer.kindynos.mx

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

EVM Blockchain Indexer

Scalable SQL indexer for EVM compatible blockchains

build

An indexer is a program that fetches and stores blockchain data for later analysis.

This indexer is specifically created to parse known data for EVM compatible chains.

It stores all the blockchain primitives (blocks, transactions, receipts, logs, traces) and some other useful information (contracts, dex trades, erc20 transfers, erc721 transfers, erc1155 transfers)

Requirements

Install

You can install the indexer from the crate public repositor

cargo install evm-indexer

And run it

evm-indexer --rpcs "" --database ""

Build

You can try the indexer locally or through Docker.

Local

  1. Clone the repository
git clone https://github.com/kindynosmx/evm-indexer && cd evm-indexer
  1. Build the program
cargo build --release
  1. Copy the .env.example file to .env and add your environment variables.

Docker

  1. Clone the repository
git clone https://github.com/kindynosmx/evm-indexer && cd evm-indexer
  1. Build the image and tag it as indexer
docker build . -t indexer
  1. Copy the .env.example file to .env and add your environment variables.

Program flags

Flag Default Purpose
--debug false Start log with debug.
--chain 1 Number identifying the chain id to sync.
--start-block 0 Block to start syncing.
--end-block 0 Last block to sync (0 to sync all the blocks).
--batch-size 200 Amount of blocks to fetch in parallel.
--rpcs empty Comma separated list of rpcs to use to fetch blocks.
--database empty Clickhouse database string with username and password.
--ws empty Url of the websocket endpoint to fetch new blocks.

About

A scalable SQL indexer for EVM compatible blockchains

https://evm-indexer.kindynos.mx

License:MIT License


Languages

Language:Rust 99.9%Language:Dockerfile 0.1%