# Backend CORS_ORIGINS=http://localhost:3000,http://localhost:3001 BLOCKCHAIN_MODE=simulated BLOCKCHAIN_NETWORK=local # Live anchoring (testnet only). Leave unset while BLOCKCHAIN_MODE=simulated. # ETH_RPC_URL=https://sepolia.example # ETH_PRIVATE_KEY=your-testnet-private-key-here # ETH_CONTRACT_ADDRESS=0x0028fdb7dE6AC54FEE1658a93a5E9cE0d3B948B0 # Registered issuer wallets (comma-separated). Required for ingest while the # API uses an allowlist instead of on-chain isIssuer. COMMUNITY_ISSUERS=0x0000000000000000000000000000000000000000 GOVERNMENT_ISSUERS=0x0000000000000000000000000000000000000000 # Load community CSV + this_yr.csv.gz when the database is empty (dates shifted to end in 2025). DEMO_SEED=1 # COMMUNITY_CSV_PATH=backend/app/data/dataset_download_5399.csv # EMS_CSV_PATH=backend/data/this_yr.csv.gz # EMS_EVENTS_PATH=backend/app/data/ems_lower_mainland.json # DEMO_END_YEAR=2025 # PostgreSQL (docker compose service: db) POSTGRES_USER=water POSTGRES_PASSWORD=water POSTGRES_DB=water_audit POSTGRES_PORT=5432 DATABASE_URL=postgresql://water:water@localhost:5432/water_audit # Frontend NEXT_PUBLIC_API_URL=http://localhost:8000