# 1️⃣ SSH 登录服务器
ssh user@your-server
# 2️⃣ 进入项目目录
cd /path/to/agentscan
# 3️⃣ 拉取最新代码
git pull
# 4️⃣ 更新网络合约地址
docker compose exec backend python -m src.db.init_networks
# 5️⃣ 运行数据库迁移(添加联合唯一索引)
docker compose restart backend
# 6️⃣ 重置 Base Sepolia 同步状态(Docker 环境)
./scripts/docker-reset-sync.sh base-sepolia
# 7️⃣ 手动触发同步(Docker 环境)
./scripts/docker-trigger-sync.sh base-sepolia
# 8️⃣ 监控同步进度
docker compose logs -f backend | grep -E "base-sepolia|base_sepolia"# 查看服务状态
docker compose ps
# 重启所有服务
./scripts/docker-restart.sh
# 重启后端
docker compose restart backend
# 重启前端
docker compose restart frontend
# 停止服务
./scripts/docker-stop.sh
# 查看日志
./scripts/docker-logs.sh
# 实时日志
docker compose logs -f backend# 进入数据库
sqlite3 backend/8004scan.db
# 查看所有网络
SELECT id, name, chain_id FROM networks;
# 查看同步状态
SELECT network_id, last_block, current_block, status FROM blockchain_sync;
# 查看 agents 数量
SELECT network_id, COUNT(*) FROM agents GROUP BY network_id;
# 退出数据库
.quit# Docker 环境:重置特定网络同步
./scripts/docker-reset-sync.sh <network_key>
# Docker 环境:手动触发同步
./scripts/docker-trigger-sync.sh <network_key>
# 本地开发:重置同步
./scripts/reset-sync.sh <network_key>
# 本地开发:触发同步
./scripts/trigger-sync.sh <network_key>
# 查看同步统计
curl http://localhost:8000/api/stats | python3 -m json.tool
# 监控同步日志
docker compose logs -f backend | grep -E "sync_started|events_found|agent_created"# 查看网络列表
curl http://localhost:8000/api/networks | python3 -m json.tool
# 初始化/更新网络配置
docker compose exec backend python -m src.db.init_networks
# 检查环境变量
docker compose exec backend env | grep RPC_URL# 检查后端 API
curl http://localhost:8000/api/stats
# 检查前端
curl http://localhost:3000
# 检查数据库大小
ls -lh backend/8004scan.db# 后端错误
docker compose logs backend | grep -i error
# 前端错误
docker compose logs frontend | grep -i error
# Nginx 错误(如果有)
docker compose logs nginx | grep -i error# 测试 Sepolia RPC
curl -X POST https://eth-sepolia.g.alchemy.com/v2/YOUR_KEY \
-H "Content-Type: application/json" \
-d '{"jsonrpc":"2.0","method":"eth_blockNumber","params":[],"id":1}'
# 测试 Base Sepolia RPC
curl -X POST https://base-sepolia.g.alchemy.com/v2/YOUR_KEY \
-H "Content-Type: application/json" \
-d '{"jsonrpc":"2.0","method":"eth_blockNumber","params":[],"id":1}'# 手动备份
cp backend/8004scan.db backend/8004scan.db.backup.$(date +%Y%m%d_%H%M%S)
# 自动备份(添加到 crontab)
0 2 * * * cd /path/to/agentscan && cp backend/8004scan.db backend/backups/8004scan.db.$(date +\%Y\%m\%d)# 停止服务
docker compose stop backend
# 恢复备份
cp backend/backups/8004scan.db.20251125 backend/8004scan.db
# 启动服务
docker compose start backend# Docker 容器资源
docker stats
# 磁盘使用
df -h
# 数据库大小
du -sh backend/8004scan.db
# 日志大小
du -sh backend/logs/# 查看最近 100 条同步日志
docker compose logs --tail=100 backend | grep sync
# 统计每小时同步次数
docker compose logs backend | grep sync_started | awk '{print $1" "$2}' | cut -c1-13 | uniq -c
# 查看 RPC 请求错误
docker compose logs backend | grep -i "429\|rate limit"# 1. 拉取代码
git pull
# 2. 重启服务(自动运行迁移)
./scripts/docker-restart.sh
# 3. 验证服务
curl http://localhost:8000/api/stats# 重建并重启(更新依赖时使用)
docker compose up -d --build
# 清理旧镜像
docker image prune -f# Docker 环境:重置同步
./scripts/docker-reset-sync.sh sepolia
# Docker 环境:触发同步
./scripts/docker-trigger-sync.sh sepolia
# 查看 agents
curl "http://localhost:8000/api/agents?network=sepolia" | python3 -m json.tool# Docker 环境:重置同步
./scripts/docker-reset-sync.sh base-sepolia
# Docker 环境:触发同步
./scripts/docker-trigger-sync.sh base-sepolia
# 查看 agents
curl "http://localhost:8000/api/agents?network=base-sepolia" | python3 -m json.tool如遇紧急问题:
- 查看实时日志:
docker compose logs -f - 检查服务状态:
docker compose ps - 查看完整文档:
docs/目录 - 提交 Issue:https://github.com/your-repo/issues