Files
assetx/webapp-back/start-holders.sh

79 lines
2.0 KiB
Bash
Raw Normal View History

#!/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