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):
- CLI arguments
- Environment variables (
SCOPE_*prefix) - User config file (
~/.config/scope/config.yaml) - 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§
- Chains
Config - Blockchain client configuration.
- Config
- Application configuration.
- Output
Config - Output formatting configuration.
- Portfolio
Config - Portfolio management configuration.
Enums§
- Output
Format - Available output formats for analysis results.