79 lines
2.0 KiB
Bash
79 lines
2.0 KiB
Bash
|
|
#!/bin/bash
|
||
|
|
|
||
|
|
# Holders 服务启动脚本
|
||
|
|
|
||
|
|
echo "=== Starting Holders Services ==="
|
||
|
|
|
||
|
|
# 检查环境变量
|
||
|
|
if [ -z "$DB_PASSWORD" ]; then
|
||
|
|
echo "⚠️ Warning: DB_PASSWORD not set, using default"
|
||
|
|
export DB_PASSWORD="your_password"
|
||
|
|
fi
|
||
|
|
|
||
|
|
# 设置默认环境变量
|
||
|
|
export DB_TYPE=${DB_TYPE:-mysql}
|
||
|
|
export DB_HOST=${DB_HOST:-localhost}
|
||
|
|
export DB_PORT=${DB_PORT:-3306}
|
||
|
|
export DB_USER=${DB_USER:-root}
|
||
|
|
export DB_NAME=${DB_NAME:-assetx}
|
||
|
|
export GIN_MODE=${GIN_MODE:-release}
|
||
|
|
export PORT=${PORT:-8080}
|
||
|
|
export RPC_URL=${RPC_URL:-https://api.zan.top/node/v1/arb/sepolia/baf84c429d284bb5b676cb8c9ca21c07}
|
||
|
|
|
||
|
|
echo "Configuration:"
|
||
|
|
echo " DB: $DB_TYPE://$DB_USER@$DB_HOST:$DB_PORT/$DB_NAME"
|
||
|
|
echo " API Port: $PORT"
|
||
|
|
echo " RPC: ${RPC_URL:0:50}..."
|
||
|
|
echo ""
|
||
|
|
|
||
|
|
# 创建 bin 目录
|
||
|
|
mkdir -p bin
|
||
|
|
|
||
|
|
# 编译服务
|
||
|
|
echo "📦 Building services..."
|
||
|
|
go build -o bin/api-server main.go
|
||
|
|
go build -o bin/holder-scanner cmd/scanner/main.go
|
||
|
|
echo "✓ Build completed"
|
||
|
|
echo ""
|
||
|
|
|
||
|
|
# 选择启动方式
|
||
|
|
echo "Choose start method:"
|
||
|
|
echo "1. API Server only"
|
||
|
|
echo "2. Scanner only"
|
||
|
|
echo "3. Both (in background)"
|
||
|
|
read -p "Enter choice [1-3]: " choice
|
||
|
|
|
||
|
|
case $choice in
|
||
|
|
1)
|
||
|
|
echo "🚀 Starting API Server..."
|
||
|
|
./bin/api-server
|
||
|
|
;;
|
||
|
|
2)
|
||
|
|
echo "🚀 Starting Scanner..."
|
||
|
|
./bin/holder-scanner
|
||
|
|
;;
|
||
|
|
3)
|
||
|
|
echo "🚀 Starting both services in background..."
|
||
|
|
nohup ./bin/api-server > logs/api-server.log 2>&1 &
|
||
|
|
API_PID=$!
|
||
|
|
echo " API Server started (PID: $API_PID)"
|
||
|
|
|
||
|
|
nohup ./bin/holder-scanner > logs/holder-scanner.log 2>&1 &
|
||
|
|
SCANNER_PID=$!
|
||
|
|
echo " Scanner started (PID: $SCANNER_PID)"
|
||
|
|
|
||
|
|
echo ""
|
||
|
|
echo "Services running:"
|
||
|
|
echo " API: http://localhost:$PORT"
|
||
|
|
echo " Logs: tail -f logs/api-server.log"
|
||
|
|
echo " tail -f logs/holder-scanner.log"
|
||
|
|
echo ""
|
||
|
|
echo "To stop:"
|
||
|
|
echo " kill $API_PID $SCANNER_PID"
|
||
|
|
;;
|
||
|
|
*)
|
||
|
|
echo "Invalid choice"
|
||
|
|
exit 1
|
||
|
|
;;
|
||
|
|
esac
|