Lux Docs

Indexing

Block fetching, token tracking, and contract verification

Fetchers

The indexer app runs multiple concurrent fetchers:

FetcherPurposeDefault
BlockFetch and index new blocksEnabled
Internal TransactionTrace internal callsEnabled
Token BalanceTrack ERC20/721/1155 balancesEnabled
Coin BalanceTrack native coin balancesEnabled
Contract CodeFetch contract bytecodeEnabled
Block RewardCalculate block rewardsDisabled on small chains

Memory Optimization

For small chains (subnets with few blocks), disable unnecessary fetchers:

export INDEXER_DISABLE_COIN_BALANCE_FETCHER=true
export INDEXER_DISABLE_BLOCK_REWARD_FETCHER=true
export INDEXER_DISABLE_EMPTY_BLOCKS_SANITIZER=true
export INDEXER_DISABLE_CATALOGED_TOKEN_UPDATER_FETCHER=true
export POOL_SIZE=3
export POOL_SIZE_API=2
export INDEXER_MEMORY_LIMIT=1gb
export TXS_STATS_DAYS_TO_COMPILE_AT_INIT=1

Container memory limit should be set to 8Gi with Recreate strategy (not RollingUpdate) to prevent OOM during indexing spikes.

Smart Contract Verification

Supports Solidity contract verification via solc:

  1. User submits source code and compiler version
  2. Backend compiles with matching solc version
  3. Compares deployed bytecode with compilation output
  4. Stores verified source, ABI, and constructor arguments

Tracer Types

Three tracer modes for internal transactions:

TracerSpeedDetail
call_tracerFastCall tree only
opcode_tracerSlowFull opcode trace
js_tracerMediumCustom JavaScript tracer

On this page