Skip to main content

Module config

Module config 

Source
Expand description

Configuration management.

Handles loading, merging, and validation of configuration from multiple sources (CLI args, environment variables, config files).

§Configuration Management

This module handles loading, merging, and validating configuration from multiple sources with the following priority (highest to lowest):

  1. CLI arguments
  2. Environment variables (SCOPE_* prefix)
  3. User config file (~/.config/scope/config.yaml)
  4. Built-in defaults

§Configuration File Format

chains:
  # EVM-compatible chains
  ethereum_rpc: "https://mainnet.infura.io/v3/YOUR_KEY"
  bsc_rpc: "https://bsc-dataseed.binance.org"

  # Non-EVM chains
  solana_rpc: "https://api.mainnet-beta.solana.com"
  tron_api: "https://api.trongrid.io"

  api_keys:
    etherscan: "YOUR_API_KEY"
    bscscan: "YOUR_API_KEY"
    solscan: "YOUR_API_KEY"
    tronscan: "YOUR_API_KEY"

output:
  format: table  # table, json, csv, markdown
  color: true

address_book:
  data_dir: "~/.local/share/scope"

§Error Handling

Configuration errors are wrapped in ScopeError::Config and include context about which source caused the failure.

Structs§

AddressBookConfig
Address book configuration.
ChainsConfig
Blockchain client configuration.
Config
Application configuration.
OutputConfig
Output formatting configuration.

Enums§

OutputFormat
Available output formats for analysis results.