# Complete All Remaining Tasks - Comprehensive Guide

**Date**: 2026-01-04  
**Reference**: [Web3Signer 25.12.0 Release](https://github.com/Consensys/web3signer/releases/tag/25.12.0)

---

## Current Status

✅ **Completed:**
- Redis (VMID 106) - Fully operational
- Vault (VMID 108) - Fully operational
- All containers created and running

⚠️ **Remaining:**
- Web3Signer (VMID 107) - Binary installation
- Translator service deployment (2400-2402)
- Configuration and testing

---

## Task 1: Complete Web3Signer Installation

Based on the [official Web3Signer 25.12.0 release](https://github.com/Consensys/web3signer/releases/tag/25.12.0), use the correct download URL:

### Installation Steps

```bash
# On Proxmox host (r630-01)
ssh root@192.168.11.11

# Download Web3Signer 25.12.0 from GitHub releases
cd /tmp
wget https://github.com/Consensys/web3signer/releases/download/25.12.0/web3signer-25.12.0.tar.gz

# Copy to container
pct push 107 /tmp/web3signer-25.12.0.tar.gz /tmp/web3signer-25.12.0.tar.gz

# Extract and configure in container
pct exec 107 -- bash -c '
cd /opt
tar -xzf /tmp/web3signer-25.12.0.tar.gz
mv web3signer-25.12.0 web3signer-23.10.0
cd web3signer-23.10.0
chmod +x bin/web3signer
mkdir -p /opt/web3signer/data
cat > web3signer.yml <<EOF
server:
  http-listen-port: 9000
  http-listen-host: 192.168.11.111
data-path: /opt/web3signer/data
EOF
systemctl daemon-reload
systemctl restart web3signer
sleep 5
systemctl status web3signer
'

# Verify installation
curl http://192.168.11.111:9000/upcheck
# Should return: OK
```

**Note**: Web3Signer 25.12.0 uses Java 25 in Docker images, but for LXC containers, Java 17 JRE (already installed) is sufficient.

---

## Task 2: Configure Web3Signer Signing Keys

After Web3Signer is running, configure signing keys. See [Web3Signer Documentation](https://docs.web3signer.consensys.io/) for details.

```bash
pct exec 107
# Configure keys based on your key management strategy
# Options: File-based, Azure Key Vault, HashiCorp Vault, AWS KMS
systemctl restart web3signer
```

---

## Task 3: Deploy Translator Service to VMIDs 2400-2402

### Option A: Automated Deployment (Recommended)

```bash
# From your deployment machine
cd /path/to/proxmox/rpc-translator-138

# Deploy to all VMIDs at once
./scripts/deploy-all-vmids.sh
```

### Option B: Individual Deployment

```bash
# Deploy to each VMID
./scripts/deploy-to-vmid.sh 2400 192.168.11.240
./scripts/deploy-to-vmid.sh 2401 192.168.11.241
./scripts/deploy-to-vmid.sh 2402 192.168.11.242
```

---

## Task 4: Configure Translator .env Files

For each VMID (2400, 2401, 2402), configure `.env` file:

```bash
ssh root@192.168.11.240  # or .241, .242
cd /opt/rpc-translator-138
cp env.template .env
nano .env
```

**Required Configuration:**
```bash
# Supporting Services
WEB3SIGNER_URL=http://192.168.11.111:9000
REDIS_HOST=192.168.11.110
REDIS_PORT=6379
REDIS_PASSWORD=
VAULT_ADDR=http://192.168.11.112:8200
VAULT_ROLE_ID=19cbc945-fb7f-9ec7-c262-37c71bbdc610
VAULT_SECRET_ID=7bcb887b-725c-2e70-3367-886cee25ad94

# 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 Policy
WALLET_ALLOWLIST=0x...,0x...,0x...
MAX_GAS_LIMIT=30000000
MAX_GAS_PRICE_WEI=100000000000
MIN_GAS_PRICE_WEI=1000000000
```

---

## Task 5: Start Translator Services

```bash
# On each VMID
ssh root@192.168.11.240  # or .241, .242
cd /opt/rpc-translator-138
systemctl daemon-reload
systemctl enable rpc-translator-138.service
systemctl start rpc-translator-138.service
systemctl status rpc-translator-138.service
```

---

## Task 6: Verify All Services

```bash
# Supporting Services
redis-cli -h 192.168.11.110 ping  # PONG
curl http://192.168.11.111:9000/upcheck  # OK
curl http://192.168.11.112:8200/v1/sys/health  # JSON

# Translator Services
curl http://192.168.11.240:9545/health  # Health check
curl -X POST http://192.168.11.240:9545 \
  -H 'Content-Type: application/json' \
  -d '{"jsonrpc":"2.0","method":"eth_chainId","params":[],"id":1}'
# Should return: {"jsonrpc":"2.0","id":1,"result":"0x8a"}
```

---

## Quick Reference

**Web3Signer Download**: https://github.com/Consensys/web3signer/releases/download/25.12.0/web3signer-25.12.0.tar.gz

**Vault Credentials**:
- `VAULT_ROLE_ID=19cbc945-fb7f-9ec7-c262-37c71bbdc610`
- `VAULT_SECRET_ID=7bcb887b-725c-2e70-3367-886cee25ad94`

**Service IPs**:
- Redis: 192.168.11.110:6379
- Web3Signer: 192.168.11.111:9000
- Vault: 192.168.11.112:8200

---

## Estimated Completion Time

- Task 1: 5-10 minutes
- Task 2: 15-30 minutes
- Task 3: 30-45 minutes
- Task 4: 15 minutes
- Task 5: 5 minutes
- Task 6: 10-15 minutes

**Total**: ~1.5-2 hours

---

## References

- [Web3Signer 25.12.0 Release](https://github.com/Consensys/web3signer/releases/tag/25.12.0)
- [Web3Signer Documentation](https://docs.web3signer.consensys.io/)
- Deployment Guide: `DEPLOYMENT.md`
- Deployment Checklist: `DEPLOYMENT_CHECKLIST.md`
