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"
  aegis_rpc: "http://localhost:8545"

  # 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
  color: true

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

§Error Handling

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

Structs§

ChainsConfig
Blockchain client configuration.
Config
Application configuration.
OutputConfig
Output formatting configuration.
PortfolioConfig
Portfolio management configuration.

Enums§

OutputFormat
Available output formats for analysis results.