Add full monorepo: virtual-banker, backend, frontend, docs, scripts, deployment
Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
176
docs/BLOCKSCOUT_DATABASE_CREDENTIALS.md
Normal file
176
docs/BLOCKSCOUT_DATABASE_CREDENTIALS.md
Normal file
@@ -0,0 +1,176 @@
|
||||
# Blockscout Database Credentials
|
||||
|
||||
## Blockscout Database Configuration
|
||||
|
||||
**VMID 5000 (Blockscout Container)**
|
||||
|
||||
### Database Credentials
|
||||
- **User**: `blockscout`
|
||||
- **Password**: `blockscout`
|
||||
- **Database**: `blockscout`
|
||||
- **Host**: `postgres` (Docker service name) or `localhost` (from host)
|
||||
- **Port**: `5432`
|
||||
|
||||
### Verification
|
||||
|
||||
```bash
|
||||
# From inside VMID 5000
|
||||
docker exec -it blockscout-postgres env | grep POSTGRES
|
||||
```
|
||||
|
||||
**Output:**
|
||||
```
|
||||
POSTGRES_USER=blockscout
|
||||
POSTGRES_PASSWORD=blockscout
|
||||
POSTGRES_DB=blockscout
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Important Distinction
|
||||
|
||||
### Two Separate Databases
|
||||
|
||||
1. **Blockscout Database** (VMID 5000)
|
||||
- User: `blockscout`
|
||||
- Database: `blockscout`
|
||||
- Password: `blockscout`
|
||||
- Used by: Blockscout explorer application
|
||||
|
||||
2. **Explorer Backend Database** (Separate)
|
||||
- User: `explorer`
|
||||
- Database: `explorer`
|
||||
- Password: `changeme`
|
||||
- Used by: Custom explorer backend API
|
||||
|
||||
These are **completely separate databases** and should not be confused.
|
||||
|
||||
---
|
||||
|
||||
## Blockscout Database Commands
|
||||
|
||||
### Connect to Blockscout Database
|
||||
|
||||
```bash
|
||||
# From VMID 5000
|
||||
docker exec -it blockscout-postgres psql -U blockscout -d blockscout
|
||||
|
||||
# Or from Proxmox host
|
||||
pct exec 5000 -- docker exec -it blockscout-postgres psql -U blockscout -d blockscout
|
||||
```
|
||||
|
||||
### Run Migrations (Blockscout Database)
|
||||
|
||||
```bash
|
||||
# From VMID 5000
|
||||
BLOCKSCOUT_CONTAINER=$(docker ps -a | grep blockscout | grep -v postgres | awk '{print $1}' | head -1)
|
||||
|
||||
# Run migrations for Blockscout database
|
||||
docker exec -it $BLOCKSCOUT_CONTAINER bin/blockscout eval "Explorer.Release.migrate()"
|
||||
```
|
||||
|
||||
### Check Tables in Blockscout Database
|
||||
|
||||
```bash
|
||||
# List all tables
|
||||
docker exec -it blockscout-postgres psql -U blockscout -d blockscout -c "\dt"
|
||||
|
||||
# Check specific tables
|
||||
docker exec -it blockscout-postgres psql -U blockscout -d blockscout -c "
|
||||
SELECT table_name
|
||||
FROM information_schema.tables
|
||||
WHERE table_schema = 'public'
|
||||
ORDER BY table_name;
|
||||
"
|
||||
|
||||
# Check if critical tables exist
|
||||
docker exec -it blockscout-postgres psql -U blockscout -d blockscout -c "
|
||||
SELECT
|
||||
CASE WHEN EXISTS (SELECT 1 FROM information_schema.tables WHERE table_name = 'blocks')
|
||||
THEN '✅ blocks' ELSE '❌ blocks' END,
|
||||
CASE WHEN EXISTS (SELECT 1 FROM information_schema.tables WHERE table_name = 'transactions')
|
||||
THEN '✅ transactions' ELSE '❌ transactions' END,
|
||||
CASE WHEN EXISTS (SELECT 1 FROM information_schema.tables WHERE table_name = 'migrations_status')
|
||||
THEN '✅ migrations_status' ELSE '❌ migrations_status' END;
|
||||
"
|
||||
```
|
||||
|
||||
### Reset Blockscout Database Password (if needed)
|
||||
|
||||
```bash
|
||||
# Connect as postgres superuser (if accessible)
|
||||
docker exec -it blockscout-postgres psql -U postgres << EOF
|
||||
ALTER USER blockscout WITH PASSWORD 'blockscout';
|
||||
EOF
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Explorer Backend Database (Separate)
|
||||
|
||||
The explorer backend API uses a **different database**:
|
||||
|
||||
- **User**: `explorer`
|
||||
- **Database**: `explorer`
|
||||
- **Password**: `changeme`
|
||||
|
||||
See `docs/DATABASE_PASSWORD_FIX.md` for explorer backend database fixes.
|
||||
|
||||
---
|
||||
|
||||
## Connection Strings
|
||||
|
||||
### Blockscout Database Connection String
|
||||
|
||||
```bash
|
||||
# From Blockscout container
|
||||
DATABASE_URL=postgresql://blockscout:blockscout@postgres:5432/blockscout
|
||||
|
||||
# From host (if postgres port is exposed)
|
||||
DATABASE_URL=postgresql://blockscout:blockscout@localhost:5432/blockscout
|
||||
```
|
||||
|
||||
### Explorer Backend Database Connection String
|
||||
|
||||
```bash
|
||||
# From explorer backend
|
||||
DATABASE_URL=postgresql://explorer:changeme@localhost:5432/explorer
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Troubleshooting
|
||||
|
||||
### Blockscout Can't Connect to Database
|
||||
|
||||
```bash
|
||||
# Check if postgres container is running
|
||||
docker ps | grep postgres
|
||||
|
||||
# Check database connectivity from Blockscout container
|
||||
docker exec -it blockscout ping -c 3 postgres
|
||||
|
||||
# Test database connection
|
||||
docker exec -it blockscout-postgres psql -U blockscout -d blockscout -c "SELECT 1;"
|
||||
```
|
||||
|
||||
### Verify Database Credentials
|
||||
|
||||
```bash
|
||||
# Check environment variables in postgres container
|
||||
docker exec -it blockscout-postgres env | grep POSTGRES
|
||||
|
||||
# Check Blockscout container environment
|
||||
docker exec -it blockscout env | grep DATABASE
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Summary
|
||||
|
||||
- **Blockscout Database**: `blockscout` / `blockscout` / `blockscout`
|
||||
- **Explorer Backend Database**: `explorer` / `explorer` / `changeme`
|
||||
- These are **two separate databases** serving different purposes
|
||||
- Blockscout database is managed by Blockscout migrations
|
||||
- Explorer backend database is managed by the custom backend API
|
||||
|
||||
Reference in New Issue
Block a user