πŸ”›Environment Variables

Environment Variables for Guru Network Indexer

OUTPUT

Ethereum ETL supports a variety of item exporters, which are classes that write items to specified destinations. To configure an item exporter, set the OUTPUT environment variable. You can specify multiple outputs at once using the format: OUTPUT=exporter_name://path,second_exporter://path_to_second_destination.

Here are the item exporters available out of the box and how to set them up:

ExporterConfigurationExample Value

CONSOLE

Output to the console

OUTPUT=console or OUTPUT=None

JSON

Output to a JSON file

OUTPUT=path_to_output.json

CSV

Output to a CSV file

OUTPUT=path_to_output.csv

PROJECTS

Output to Google Cloud Projects

OUTPUT=projects://path_to_google_cloud_project

KINESIS

Output to AWS Kinesis stream

OUTPUT=kinesis://stream_name

KAFKA

Output to Apache Kafka topic

OUTPUT=kafka://topic

POSTGRES

Output to PostgreSQL database

OUTPUT=postgresql://user:password@host:port/dbname

GCS

Output to Google Cloud Storage bucket

OUTPUT=gs://bucket_name

CLICKHOUSE

Output to ClickHouse database

OUTPUT=clickhouse+http://host:port/dbname

AMQP

Output to AMQP message broker

OUTPUT=amqp://user:password@host:port/vhost or OUTPUT=rabbitmq://user:password@host:port/vhost

ELASTICSEARCH

Output to Elasticsearch index

OUTPUT=elasticsearch+http://host:port/index_name or OUTPUT=elasticsearch+https://user:password@host:9200/index_name

DATABASE

Optional, is used when Clickhouse is in OUTPUT. Specifies the name of the ClickHouse database. You can choose any name.

PROVIDER_URL

The URL of your RPC provider (public node, Infura, local node, etc.). PROVIDER_URL=https://ethereum-rpc.publicnode.com

LAST_SYNCED_BLOCK_PROVIDER

Optional, if not set, a local file will be used. The provider used to sync the last indexed block (local file, Redis, SQL database).

LAST_SYNCED_BLOCK_PROVIDER=redis://redis:6379

LAST_SYNCED_BLOCK_PROVIDER=clickhouse+http://clickouse:8123/database_name

EXPORT_FROM_CLICKHOUSE

Optional. If set, the indexer will export entities from ClickHouse first and fallback to the node if necessary. Useful for indexed tokens and pools or multiple indexers.

EXPORT_FROM_CLICKHOUSE=clickhouse+http://clickhouse-2:8123/db_same_blockchain

START_BLOCK

The block number to start indexing from. It can be set as the latest block. If the block number from the LAST_SYNCED_BLOCK_PROVIDER is greater than START_BLOCK, then the last synced block will be used. Examples:

START_BLOCK='latest' or START_BLOCK=1337

END_BLOCK

(Optional) The block number to stop indexing. If not set, indexing continues indefinitely.

ENTITY_TYPES

A comma-separated list of entities to export

ENTITY_TYPES=block,transaction,token_transfer

EntityDescription

block

Information about each block in the blockchain.

transaction

Data related to individual transactions.

receipt

Receipts for each transaction, including status and gas used.

log

Logs generated by smart contract events during transactions.

token_transfer

Transfers of ERC-20, ERC-721, and other tokens.

geth_trace

Call traces from the Geth Ethereum client.

contract

Information about smart contracts deployed on the blockchain.

token

Metadata and details about tokens.

internal_transfer

Internal Ether transfers within the blockchain.

token_balance

Balances of tokens held by addresses.

error

Errors encountered during indexing.

native_balance

Balances of native cryptocurrency (e.g., Ether) held by addresses.

token_transfer_priced

Priced transfers of tokens, including valuation.

internal_transfer_priced

Priced internal transfers, including valuation.

dex_pool

Information about decentralized exchange (DEX) liquidity pools.

enriched_dex_trade

Enhanced details about DEX trades, including additional context.

enriched_transfer

Enhanced details about token transfers, including additional context.

Last updated