Files

201 lines
4.3 KiB
Markdown
Raw Permalink Normal View History

# Quick Start Guide - RPC Translator Service
**Date**: 2026-01-04
**Status**: ✅ Ready for Deployment
---
## Overview
This guide provides the fastest path to deploy the RPC Translator service and its supporting infrastructure.
---
## Step 1: Deploy Supporting Services (LXC Containers)
### On Proxmox Host (r630-01)
```bash
# 1. Navigate to project directory
cd /path/to/proxmox/rpc-translator-138
# 2. Verify node is ready
./verify-node-ready.sh r630-01
# 3. Deploy all supporting services
./deploy-supporting-services.sh r630-01
# 4. Start containers
pct start 106 # Redis
pct start 107 # Web3Signer
pct start 108 # Vault
```
### Configure Services
**Redis (VMID 106):**
```bash
pct enter 106
apt-get update
apt-get install -y redis-server
nano /etc/redis/redis.conf # Configure as needed
systemctl enable redis-server
systemctl restart redis-server
```
**Web3Signer (VMID 107):**
```bash
pct enter 107
apt-get update
apt-get install -y openjdk-17-jre-headless wget
cd /opt
wget https://artifacts.consensys.net/web3signer/web3signer-23.10.0/web3signer-23.10.0.tar.gz
tar -xzf web3signer-23.10.0.tar.gz
# Configure Web3Signer (see DEPLOYMENT.md)
```
**Vault (VMID 108):**
```bash
pct enter 108
apt-get update
apt-get install -y unzip wget
wget https://releases.hashicorp.com/vault/1.15.0/vault_1.15.0_linux_amd64.zip
unzip vault_1.15.0_linux_amd64.zip
mv vault /usr/local/bin/
# Configure Vault (see DEPLOYMENT.md)
```
---
## Step 2: Verify Supporting Services
```bash
# Test Redis
redis-cli -h 192.168.11.110 ping
# Test Web3Signer
curl http://192.168.11.111:9000/upcheck
# Test Vault
curl http://192.168.11.112:8200/v1/sys/health
```
---
## Step 3: Deploy Translator Service
### On Each Translator VMID (2400, 2401, 2402)
```bash
# 1. SSH to VMID
ssh root@192.168.11.240 # or .241, .242
# 2. Install Node.js
curl -fsSL https://deb.nodesource.com/setup_20.x | bash -
apt-get install -y nodejs
npm install -g pnpm
# 3. Deploy application
cd /opt
git clone <repository> rpc-translator-138
cd rpc-translator-138
pnpm install --prod
pnpm run build
# 4. Configure environment
cp env.template .env
nano .env # Update with actual IPs and credentials
# 5. Install systemd service
cp systemd/rpc-translator-138.service /etc/systemd/system/
systemctl daemon-reload
systemctl enable rpc-translator-138.service
systemctl start rpc-translator-138.service
```
---
## Step 4: Verify Translator Service
```bash
# Check service status
systemctl status rpc-translator-138.service
# Test HTTP endpoint
curl http://localhost:9545 -X POST -H 'Content-Type: application/json' \
-d '{"jsonrpc":"2.0","method":"eth_chainId","params":[],"id":1}'
# Test WebSocket (if available)
# Use a WebSocket client to connect to ws://localhost:9546
```
---
## Container Specifications
| Service | VMID | IP | Port | RAM | Disk |
|---------|------|----|------|-----|------|
| Redis | 106 | 192.168.11.110 | 6379 | 512MB | 10GB |
| Web3Signer | 107 | 192.168.11.111 | 9000 | 2048MB | 20GB |
| Vault | 108 | 192.168.11.112 | 8200 | 2048MB | 20GB |
---
## Environment Configuration
Update `.env` file on each translator VMID:
```bash
# Supporting Services
WEB3SIGNER_URL=http://192.168.11.111:9000
REDIS_HOST=192.168.11.110
VAULT_ADDR=http://192.168.11.112:8200
# Besu Upstream (local)
BESU_HTTP_URLS=http://127.0.0.1:8545
BESU_WS_URLS=ws://127.0.0.1:8546
CHAIN_ID=138
# Translator Service
HTTP_PORT=9545
WS_PORT=9546
```
---
## Troubleshooting
**Container won't start:**
- Check logs: `journalctl -u pve-container@106`
- Verify storage: `pvesh get /nodes/r630-01/storage`
- Check resources: `pvesh get /nodes/r630-01/status`
**Service won't connect:**
- Verify firewall rules allow connections
- Check service is running: `systemctl status <service>`
- Test connectivity: `ping <ip>` and `curl <url>`
**For detailed troubleshooting, see:**
- `DEPLOYMENT.md` - Troubleshooting section
- `LXC_DEPLOYMENT.md` - Container-specific troubleshooting
---
## Full Documentation
- **Complete Guide**: `DEPLOYMENT.md`
- **Checklist**: `DEPLOYMENT_CHECKLIST.md`
- **LXC Guide**: `LXC_DEPLOYMENT.md`
- **VMID Allocation**: `VMID_ALLOCATION.md`
- **Status**: `DEPLOYMENT_STATUS.md`
---
## Support
For issues or questions:
1. Check troubleshooting sections in documentation
2. Review deployment logs
3. Verify all prerequisites are met
4. Consult detailed guides for step-by-step instructions