v0.3.0
❗ new run CLI
Examples:
$ npm run cli run metadata-transfers
$ npm run cli run metadata-swaps
$ npm run cli run metadata-balances
$ npm run cli run polymarket
$ npm run cli run metadata-solana-rpc
$ npm run cli run metadata-solana-extras-rpc
$ npm run cli run metadata-solana-clickhouse
.env example
- New
CLICKHOUSE_DATABASE_INSERTenv
# ClickHouse Connection Settings
CLICKHOUSE_URL=http://localhost:8123
CLICKHOUSE_USERNAME=default
CLICKHOUSE_PASSWORD=
# CLICKHOUSE_DATABASE is required and has no default to prevent accidental loading into wrong DB
CLICKHOUSE_DATABASE=
# Optional: Separate database for insert operations
# CLICKHOUSE_DATABASE_INSERT - Database for insert operations (falls back to CLICKHOUSE_DATABASE if not set)
# CLICKHOUSE_DATABASE_INSERT=
# RPC Node
NODE_URL=https://tron-evm-rpc.publicnode.com
# Concurrency Settings
CONCURRENCY=10
# Retry Configuration
MAX_RETRIES=3
BASE_DELAY_MS=400
JITTER_MIN=0.7
JITTER_MAX=1.3
MAX_DELAY_MS=30000
TIMEOUT_MS=100
# Prometheus Metrics
# Port for Prometheus metrics endpoint (default: 9090)
# Prometheus is always enabled
PROMETHEUS_PORT=9090
# Batch Insert Configuration
# Batch inserts are always enabled for better performance
# Flush interval in milliseconds (default: 1000ms = 1 second)
BATCH_INSERT_INTERVAL_MS=1000
# Maximum batch size before forcing a flush (default: 10000 rows)
BATCH_INSERT_MAX_SIZE=10000
# Auto-restart Options
# Services automatically restart after completion to run continuously
# Delay in seconds before restarting the service (default: 10)
AUTO_RESTART_DELAY=10
# Forked Blocks Service Configuration
# Database containing canonical/irreversible blocks (e.g., mainnet:blocks@v0.1.0)
# CLICKHOUSE_BLOCKS_DATABASE=
# Number of days to look back for forked blocks (default: 30)
FORKED_BLOCKS_DAYS_BACK=30
# Logging Options (optional)
# Enable verbose logging output
VERBOSE=false
# LOG_LEVEL - Minimum severity level to output (default: info)
# Levels from most to least verbose:
# debug - Detailed debugging information (RPC calls, internal state)
# info - General operational messages (service start, completions)
# warn - Warning conditions (retries, non-fatal errors)
# error - Error conditions only (failures, exceptions)
# Messages at or above the set level are shown. Example: "warn" shows warn + error.
LOG_LEVEL=infoWhat's Changed
- Change RPC retry logging from WARN to DEBUG level by @Copilot in #213
- Add Solana support for fetching token metadata by @Copilot in #215
- Fix Metaplex PDA derivation with proper ed25519 curve check by @Copilot in #217
- Exclude NFTs from Solana metadata processing using tokenStandard by @Copilot in #219
- Update @noble/ed25519 to v3.0.0 and fix test isolation by @Copilot in #221
- Add test file for Solana metadata decoding with real contract data by @Copilot in #223
- Add Solana-specific metadata SQL table and rename services by @Copilot in #225
- Add ClickHouse connection config to setup logs by @Copilot in #227
- Add metadata-solana-query CLI for troubleshooting single token metadata by @Copilot in #229
- Fetch metadata from URI for Solana tokens by @Copilot in #231
- Include raw string from URI requests in Solana metadata by @Copilot in #233
- Remove uri_raw and uri_json columns from Solana metadata schema by @Copilot in #235
- Copilot/remove raw uri response by @DenisCarriere in #236
- Update Solana metadata schema: remove token_standard, make source an enum by @Copilot in #238
- Refactor metadata-solana: Extract LP token logic into modules, add extras service by @Copilot in #242
- Add query service for metadata-solana-extras by @Copilot in #244
- Add delay between Solana RPC calls using TIMEOUT_MS by @Copilot in #247
- Move URI fetching logic to metadata-solana-extras by @Copilot in #249
- Add metadata-solana-clickhouse service, rename RPC services by @Copilot in #252
- Fix name & symbol leading/trailing whitespace & null bytes by @Copilot in #254
- Add
cli query metadata-evmfor single contract debugging by @Copilot in #256
Full Changelog: v0.2.2...v0.3.0