Scalable SQL indexer for EVM compatible blockchains
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)
You can install the indexer from the crate public repositor
cargo install evm-indexer
And run it
evm-indexer --rpcs "" --database ""
You can try the indexer locally or through Docker.
- Clone the repository
git clone https://github.com/kindynosmx/evm-indexer && cd evm-indexer
- Build the program
cargo build --release
- Copy the
.env.example
file to.env
and add your environment variables.
- Clone the repository
git clone https://github.com/kindynosmx/evm-indexer && cd evm-indexer
- Build the image and tag it as
indexer
docker build . -t indexer
- Copy the
.env.example
file to.env
and add your environment variables.
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. |