rwadurian/backend/services/blockchain-service/.env.example

95 lines
4.0 KiB
Plaintext

# =============================================================================
# Blockchain Service - Production Environment Configuration
# =============================================================================
#
# Deployment: Server B (192.168.1.111)
# Role: Blockchain address derivation, balance queries, transaction monitoring
#
# Responsibilities:
# - Derive multi-chain addresses from public keys (KAVA, DST, BSC)
# - Monitor blockchain transactions for deposit detection
# - Publish WalletAddressCreated events to Kafka
# - Query wallet balances across supported chains
#
# Flow: mpc-service → blockchain-service → Kafka → identity-service
# (publicKey) (derive addresses) (event) (save addresses)
#
# Setup:
# 1. Copy to .env: cp .env.example .env
# 2. In Docker Compose mode, most values are overridden by docker-compose.yml
# =============================================================================
# =============================================================================
# Application
# =============================================================================
NODE_ENV=production
PORT=3012
SERVICE_NAME=blockchain-service
API_PREFIX=api/v1
# =============================================================================
# Database (PostgreSQL on Server B)
# =============================================================================
# Docker Compose: postgresql://rwa_user:xxx@postgres:5432/rwa_blockchain
# Direct access: postgresql://rwa_user:xxx@192.168.1.111:5432/rwa_blockchain
DATABASE_URL=postgresql://rwa_user:your_password@192.168.1.111:5432/rwa_blockchain?schema=public
# =============================================================================
# Redis (on Server B)
# =============================================================================
# Docker Compose: redis / Direct: 192.168.1.111
REDIS_HOST=192.168.1.111
REDIS_PORT=6379
REDIS_DB=11
REDIS_PASSWORD=
# =============================================================================
# Kafka (on Server B)
# =============================================================================
# Docker Compose: kafka:29092 / Direct: 192.168.1.111:9092
KAFKA_BROKERS=192.168.1.111:9092
KAFKA_CLIENT_ID=blockchain-service
KAFKA_GROUP_ID=blockchain-service-group
# =============================================================================
# Blockchain - KAVA (EVM-compatible Cosmos chain)
# =============================================================================
# Official KAVA EVM RPC endpoint
KAVA_RPC_URL=https://evm.kava.io
KAVA_CHAIN_ID=2222
# KAVA USDT contract address
KAVA_USDT_CONTRACT=0x919C1c267BC06a7039e03fcc2eF738525769109c
# =============================================================================
# Blockchain - BSC (Binance Smart Chain)
# =============================================================================
# Public BSC RPC endpoint (consider using paid RPC for production)
BSC_RPC_URL=https://bsc-dataseed.binance.org
BSC_CHAIN_ID=56
# BSC USDT (Binance-Peg) contract address
BSC_USDT_CONTRACT=0x55d398326f99059fF775485246999027B3197955
# =============================================================================
# Blockchain - DST (Cosmos chain, placeholder)
# =============================================================================
# DST_RPC_URL=https://rpc.dst.network
# DST_CHAIN_ID=dst-1
# =============================================================================
# Block Scanner Configuration
# =============================================================================
# Interval between block scans (milliseconds)
BLOCK_SCAN_INTERVAL_MS=5000
# Number of confirmations required before considering transaction final
BLOCK_CONFIRMATIONS_REQUIRED=12
# Maximum blocks to process in one batch
BLOCK_SCAN_BATCH_SIZE=100
# =============================================================================
# Logging
# =============================================================================
# Options: debug, info, warn, error
LOG_LEVEL=info