feat: explorer API, wallet, CCIP scripts, and config refresh
- Backend REST/gateway/track routes, analytics, Blockscout proxy paths. - Frontend wallet and liquidity surfaces; MetaMask token list alignment. - Deployment docs, verification scripts, address inventory updates. Check: go build ./... under backend/ (pass). Made-with: Cursor
This commit is contained in:
@@ -15,6 +15,7 @@ echo "This script fixes:"
|
||||
echo " 1. Database migrations (creates missing tables)"
|
||||
echo " 2. Static assets (builds and digests assets)"
|
||||
echo " 3. Proper Blockscout startup command"
|
||||
echo " 4. Public API stability under indexer load"
|
||||
echo ""
|
||||
|
||||
cat << 'COMMANDS'
|
||||
@@ -117,15 +118,43 @@ if [ -f "$BLOCKSCOUT_DIR/docker-compose.yml" ]; then
|
||||
# Backup original
|
||||
cp "$BLOCKSCOUT_DIR/docker-compose.yml" "$BLOCKSCOUT_DIR/docker-compose.yml.backup"
|
||||
|
||||
# Update command to explicitly start Blockscout
|
||||
# Update command to explicitly start Blockscout, use the local Docker-network
|
||||
# Postgres path, and apply safer DB pool defaults.
|
||||
sed -i 's|command:.*|command: bin/blockscout start|g' "$BLOCKSCOUT_DIR/docker-compose.yml" || \
|
||||
sed -i '/blockscout:/a\ command: bin/blockscout start' "$BLOCKSCOUT_DIR/docker-compose.yml"
|
||||
|
||||
|
||||
grep -q 'DATABASE_URL=' "$BLOCKSCOUT_DIR/docker-compose.yml" && \
|
||||
sed -i 's#DATABASE_URL=.*#DATABASE_URL=postgresql://blockscout:blockscout@postgres:5432/blockscout?sslmode=disable#' "$BLOCKSCOUT_DIR/docker-compose.yml" || \
|
||||
sed -i '/environment:/a\ - DATABASE_URL=postgresql://blockscout:blockscout@postgres:5432/blockscout?sslmode=disable' "$BLOCKSCOUT_DIR/docker-compose.yml"
|
||||
|
||||
grep -q 'POOL_SIZE=' "$BLOCKSCOUT_DIR/docker-compose.yml" && \
|
||||
sed -i 's/POOL_SIZE=.*/POOL_SIZE=50/' "$BLOCKSCOUT_DIR/docker-compose.yml" || \
|
||||
sed -i '/SECRET_KEY_BASE=/a\ - POOL_SIZE=50' "$BLOCKSCOUT_DIR/docker-compose.yml"
|
||||
|
||||
grep -q 'POOL_SIZE_API=' "$BLOCKSCOUT_DIR/docker-compose.yml" || \
|
||||
sed -i '/POOL_SIZE=50/a\ - POOL_SIZE_API=50' "$BLOCKSCOUT_DIR/docker-compose.yml"
|
||||
|
||||
grep -q 'DATABASE_QUEUE_TARGET=' "$BLOCKSCOUT_DIR/docker-compose.yml" || \
|
||||
sed -i '/POOL_SIZE_API=50/a\ - DATABASE_QUEUE_TARGET=5s' "$BLOCKSCOUT_DIR/docker-compose.yml"
|
||||
|
||||
grep -q 'INDEXER_DISABLE_PENDING_TRANSACTIONS_FETCHER=' "$BLOCKSCOUT_DIR/docker-compose.yml" || \
|
||||
sed -i '/DATABASE_QUEUE_TARGET=5s/a\ - INDEXER_DISABLE_PENDING_TRANSACTIONS_FETCHER=true' "$BLOCKSCOUT_DIR/docker-compose.yml"
|
||||
|
||||
grep -q 'ECTO_USE_SSL=' "$BLOCKSCOUT_DIR/docker-compose.yml" && \
|
||||
sed -i 's/ECTO_USE_SSL=.*/ECTO_USE_SSL=false/' "$BLOCKSCOUT_DIR/docker-compose.yml" || \
|
||||
sed -i '/INDEXER_DISABLE_PENDING_TRANSACTIONS_FETCHER=true/a\ - ECTO_USE_SSL=false' "$BLOCKSCOUT_DIR/docker-compose.yml"
|
||||
|
||||
echo "✅ Updated docker-compose.yml"
|
||||
else
|
||||
echo "⚠️ docker-compose.yml not found at $BLOCKSCOUT_DIR"
|
||||
echo "You may need to update it manually to include:"
|
||||
echo " command: bin/blockscout start"
|
||||
echo " POOL_SIZE=50"
|
||||
echo " POOL_SIZE_API=50"
|
||||
echo " DATABASE_QUEUE_TARGET=5s"
|
||||
echo " INDEXER_DISABLE_PENDING_TRANSACTIONS_FETCHER=true"
|
||||
echo " ECTO_USE_SSL=false"
|
||||
echo " DATABASE_URL=postgresql://blockscout:blockscout@postgres:5432/blockscout?sslmode=disable"
|
||||
fi
|
||||
|
||||
# ============================================================
|
||||
@@ -142,14 +171,28 @@ docker rm $BLOCKSCOUT_CONTAINER 2>/dev/null || true
|
||||
# Restart using docker-compose (if available)
|
||||
if [ -f "$BLOCKSCOUT_DIR/docker-compose.yml" ]; then
|
||||
cd "$BLOCKSCOUT_DIR"
|
||||
docker compose up -d blockscout
|
||||
docker compose up -d blockscout || docker-compose up -d blockscout
|
||||
else
|
||||
# Manual start with correct command
|
||||
echo "Starting Blockscout manually..."
|
||||
EXTRA_ENV_FILE=()
|
||||
if [ -f "$BLOCKSCOUT_DIR/.env" ]; then
|
||||
EXTRA_ENV_FILE+=(--env-file "$BLOCKSCOUT_DIR/.env")
|
||||
else
|
||||
echo "⚠️ $BLOCKSCOUT_DIR/.env not found; relying on explicit fallback env only"
|
||||
fi
|
||||
docker run -d \
|
||||
--name blockscout \
|
||||
--env-file "$BLOCKSCOUT_DIR/.env" \
|
||||
--restart unless-stopped \
|
||||
--network blockscout_blockscout-network \
|
||||
"${EXTRA_ENV_FILE[@]}" \
|
||||
-p 4000:4000 \
|
||||
-e DATABASE_URL=postgresql://blockscout:blockscout@postgres:5432/blockscout?sslmode=disable \
|
||||
-e POOL_SIZE=50 \
|
||||
-e POOL_SIZE_API=50 \
|
||||
-e DATABASE_QUEUE_TARGET=5s \
|
||||
-e INDEXER_DISABLE_PENDING_TRANSACTIONS_FETCHER=true \
|
||||
-e ECTO_USE_SSL=false \
|
||||
blockscout/blockscout:latest \
|
||||
bin/blockscout start
|
||||
fi
|
||||
@@ -231,4 +274,3 @@ echo "If you just need to run migrations quickly:"
|
||||
echo ""
|
||||
echo "pct exec 5000 -- bash -c 'BLOCKSCOUT_CONTAINER=\$(docker ps -a | grep blockscout | grep -v postgres | awk \"{print \\\$1}\" | head -1); docker exec -it \$BLOCKSCOUT_CONTAINER bin/blockscout eval \"Explorer.Release.migrate()\"'"
|
||||
echo ""
|
||||
|
||||
|
||||
Reference in New Issue
Block a user