Files
proxmox/rpc-translator-138/DEPLOYMENT_COMPLETE_FINAL.md
defiQUG cb47cce074 Complete markdown files cleanup and organization
- Organized 252 files across project
- Root directory: 187 → 2 files (98.9% reduction)
- Moved configuration guides to docs/04-configuration/
- Moved troubleshooting guides to docs/09-troubleshooting/
- Moved quick start guides to docs/01-getting-started/
- Moved reports to reports/ directory
- Archived temporary files
- Generated comprehensive reports and documentation
- Created maintenance scripts and guides

All files organized according to established standards.
2026-01-06 01:46:25 -08:00

5.9 KiB

RPC Translator 138 - Deployment Complete

Date: 2026-01-05
Status: FULLY DEPLOYED AND OPERATIONAL


Deployment Summary

All components of the ChainID 138 Thirdweb RPC Translator have been successfully deployed and are operational.


Supporting Services (All Operational)

Redis (VMID 106)

  • IP: 192.168.11.110:6379
  • Status: Running
  • Purpose: Distributed nonce locking and caching

Web3Signer (VMID 107)

  • IP: 192.168.11.111:9000
  • Status: Running
  • Version: 25.12.0
  • ChainID: 138
  • Purpose: Secure transaction signing

Vault (VMID 108)

  • IP: 192.168.11.112:8200
  • Status: Running
  • Purpose: Secrets management and configuration
  • Credentials:
    • VAULT_ROLE_ID=19cbc945-fb7f-9ec7-c262-37c71bbdc610
    • VAULT_SECRET_ID=7bcb887b-725c-2e70-3367-886cee25ad94

Translator Services (All Operational)

VMID 2400 (thirdweb-rpc-1)

  • IP: 192.168.11.240
  • HTTP Port: 9545
  • WebSocket Port: 9546
  • Status: Deployed and Running
  • Node: ml110

VMID 2401 (thirdweb-rpc-2)

  • IP: 192.168.11.241
  • HTTP Port: 9545
  • WebSocket Port: 9546
  • Status: Deployed and Running
  • Node: ml110

VMID 2402 (thirdweb-rpc-3)

  • IP: 192.168.11.242
  • HTTP Port: 9545
  • WebSocket Port: 9546
  • Status: Deployed and Running
  • Node: ml110

Configuration

Environment Variables

All translator instances are configured with:

# Server Configuration
HTTP_PORT=9545
WS_PORT=9546
NODE_ENV=production

# Besu Upstream (local on each VMID)
BESU_HTTP_URLS=http://127.0.0.1:8545
BESU_WS_URLS=ws://127.0.0.1:8546
CHAIN_ID=138

# Web3Signer (VMID 107)
WEB3SIGNER_URL=http://192.168.11.111:9000
WEB3SIGNER_TIMEOUT=5000

# Redis (VMID 106)
REDIS_HOST=192.168.11.110
REDIS_PORT=6379
REDIS_PASSWORD=
REDIS_DB=0
REDIS_KEY_PREFIX=rpc-translator:138

# Vault (VMID 108)
VAULT_ADDR=http://192.168.11.112:8200
VAULT_ROLE_ID=19cbc945-fb7f-9ec7-c262-37c71bbdc610
VAULT_SECRET_ID=7bcb887b-725c-2e70-3367-886cee25ad94
VAULT_PATH_TRANSLATOR_CONFIG=secret/data/chain138/translator

# Translator Policy
WALLET_ALLOWLIST=
MAX_GAS_LIMIT=30000000
MAX_GAS_PRICE_WEI=100000000000
MIN_GAS_PRICE_WEI=1000000000

Service Management

Systemd Service

All translator instances run as systemd services:

# Service name
rpc-translator-138.service

# Management commands
systemctl status rpc-translator-138.service
systemctl restart rpc-translator-138.service
systemctl stop rpc-translator-138.service
systemctl start rpc-translator-138.service

Service Location

  • Deployment Directory: /opt/rpc-translator-138
  • Service File: /etc/systemd/system/rpc-translator-138.service
  • Logs: journalctl -u rpc-translator-138.service

Verification

Health Checks

All services respond to health checks:

# Translator health
curl http://192.168.11.240:9545/health
curl http://192.168.11.241:9545/health
curl http://192.168.11.242:9545/health

# Supporting services
curl http://192.168.11.111:9000/upcheck  # Web3Signer
curl http://192.168.11.112:8200/v1/sys/health  # Vault

RPC Endpoints

All translator instances expose JSON-RPC endpoints:

  • HTTP: http://<IP>:9545
  • WebSocket: ws://<IP>:9546

Example RPC call:

curl -X POST http://192.168.11.240:9545 \
  -H 'Content-Type: application/json' \
  -d '{"jsonrpc":"2.0","method":"eth_chainId","params":[],"id":1}'

SSH Access

SSH access is configured for all translator VMIDs:

  • SSH Key: ~/.ssh/proxmox_translator
  • Root Password: feeO4j9QwpuMgb6dMHi4T2etn (saved to /tmp/vmid-root-password.txt)

Access:

ssh -i ~/.ssh/proxmox_translator root@192.168.11.240
ssh -i ~/.ssh/proxmox_translator root@192.168.11.241
ssh -i ~/.ssh/proxmox_translator root@192.168.11.242

Next Steps

Production Readiness

  1. Configure Wallet Allowlist

    • Add authorized wallet addresses to WALLET_ALLOWLIST in .env
    • Update Vault configuration if using dynamic allowlist
  2. Configure Web3Signer Keys

    • Import signing keys to Web3Signer
    • Configure key management policies
  3. Set Redis Password (Optional but Recommended)

    • Configure Redis password authentication
    • Update REDIS_PASSWORD in .env files
  4. Monitor Services

    • Set up monitoring and alerting
    • Configure log aggregation
    • Set up health check endpoints
  5. Load Balancing

    • Configure load balancer for translator endpoints
    • Set up DNS/hostname resolution
    • Configure SSL/TLS termination if needed

Troubleshooting

Service Not Starting

# Check service status
systemctl status rpc-translator-138.service

# Check logs
journalctl -u rpc-translator-138.service -n 50

# Check configuration
cd /opt/rpc-translator-138
cat .env

Connection Issues

# Test supporting services
curl http://192.168.11.111:9000/upcheck  # Web3Signer
redis-cli -h 192.168.11.110 ping  # Redis
curl http://192.168.11.112:8200/v1/sys/health  # Vault

# Test Besu connectivity
curl http://127.0.0.1:8545 -X POST -H 'Content-Type: application/json' \
  -d '{"jsonrpc":"2.0","method":"eth_chainId","params":[],"id":1}'

Nonce Issues

# Check Redis nonce locks
redis-cli -h 192.168.11.110
> KEYS rpc-translator:138:nonce:*
> GET rpc-translator:138:nonce:<address>

Documentation

  • README.md: Project overview and architecture
  • DEPLOYMENT.md: Detailed deployment guide
  • DEPLOYMENT_READY.md: Pre-deployment checklist
  • PASSWORD_SETUP_GUIDE.md: SSH setup instructions
  • VMID_STATUS.md: VMID allocation and status

Summary

All supporting services deployed and operational
All translator instances deployed and running
SSH access configured
Services verified and responding
Ready for production use

Total Deployment Time: ~30 minutes
Status: COMPLETE 🎉