# Execute All Remaining Tasks - Complete Guide

**Date**: 2026-01-05  
**Status**: Ready to Execute

---

## 🚀 Quick Execution

Run the automated script:

```bash
cd /home/intlc/projects/proxmox/rpc-translator-138
./scripts/complete-all-tasks.sh
```

---

## 📋 Manual Execution Steps

If the automated script doesn't work, execute these steps manually:

### Step 1: Fix Permissions

```bash
ssh root@192.168.11.11 "pct exec 107 -- bash -c 'for f in /opt/web3signer/data/keys/*.json; do [ -f \"\$f\" ] && chmod 644 \"\$f\"; done'"
```

### Step 2: Verify Files

```bash
ssh root@192.168.11.11 "pct exec 107 -- ls -lh /opt/web3signer/data/keys/"
```

### Step 3: Restart Web3Signer

```bash
ssh root@192.168.11.11 "pct exec 107 -- systemctl restart web3signer && sleep 5"
```

### Step 4: Verify Keys Loaded

```bash
curl http://192.168.11.111:9000/api/v1/eth1/publicKeys
```

**Expected**: JSON array with 3 addresses

### Step 5: Configure Wallet Allowlist

```bash
cd /home/intlc/projects/proxmox/rpc-translator-138

# Get addresses
ADDRESSES=$(curl -s http://192.168.11.111:9000/api/v1/eth1/publicKeys | jq -r '.[]' | tr '\n' ',' | sed 's/,$//')

# Configure on all translators
./scripts/configure-wallet-allowlist.sh "$ADDRESSES"
```

### Step 6: Verify Allowlist

```bash
for IP in 192.168.11.240 192.168.11.241 192.168.11.242; do
    echo "=== $IP ==="
    ssh -i ~/.ssh/proxmox_translator root@$IP "grep WALLET_ALLOWLIST /opt/rpc-translator-138/.env"
done
```

### Step 7: Test Transaction Signing

```bash
# Get first address
ADDRESS=$(curl -s http://192.168.11.111:9000/api/v1/eth1/publicKeys | jq -r '.[0]')

# Test transaction
curl -X POST http://192.168.11.240:9545 \
  -H 'Content-Type: application/json' \
  -d "{
    \"jsonrpc\": \"2.0\",
    \"method\": \"eth_sendTransaction\",
    \"params\": [{
      \"from\": \"$ADDRESS\",
      \"to\": \"0x0000000000000000000000000000000000000000\",
      \"value\": \"0x0\",
      \"gas\": \"0x5208\"
    }],
    \"id\": 1
  }"
```

### Step 8: Verify All Services

```bash
cd /home/intlc/projects/proxmox/rpc-translator-138
./scripts/monitor-services.sh
```

### Step 9: Test RPC Methods

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

# Test health check
curl http://192.168.11.240:9545/health
```

---

## ✅ Verification Checklist

- [ ] Permissions fixed on keystore files
- [ ] Web3Signer restarted
- [ ] Keys loaded (API returns addresses)
- [ ] Allowlist configured on all 3 translators
- [ ] Transaction signing works
- [ ] All services healthy
- [ ] RPC methods working

---

## 🎯 All-in-One Command

```bash
# Fix permissions and restart
ssh root@192.168.11.11 "pct exec 107 -- bash -c 'for f in /opt/web3signer/data/keys/*.json; do [ -f \"\$f\" ] && chmod 644 \"\$f\"; done' && pct exec 107 -- systemctl restart web3signer && sleep 5"

# Verify keys
curl http://192.168.11.111:9000/api/v1/eth1/publicKeys

# Configure allowlist
cd /home/intlc/projects/proxmox/rpc-translator-138
ADDRESSES=$(curl -s http://192.168.11.111:9000/api/v1/eth1/publicKeys | jq -r '.[]' | tr '\n' ',' | sed 's/,$//')
./scripts/configure-wallet-allowlist.sh "$ADDRESSES"

# Verify services
./scripts/monitor-services.sh
```

---

## 📊 Expected Results

### After Step 4 (Keys Loaded)
```json
[
  "0x306290a09aefe8e7009c4fbd2662e1ee075255dc",
  "0x74b9ed9d5f37211128aec5b6de8ef5bb2762c68f",
  "0x7be3046f456a106d2ff8999ce90359dfc4c52f4c"
]
```

### After Step 7 (Transaction Test)
```json
{
  "jsonrpc": "2.0",
  "id": 1,
  "result": "0x..."
}
```

### After Step 8 (Service Status)
- All translators: ✅ Active
- Web3Signer: ✅ Running
- Redis: ✅ Running
- Vault: ✅ Running

---

## 🚨 Troubleshooting

### Keys Not Loading
```bash
# Check Web3Signer logs
ssh root@192.168.11.11 "pct exec 107 -- journalctl -u web3signer.service -n 50"

# Verify file format
ssh root@192.168.11.11 "pct exec 107 -- cat /opt/web3signer/data/keys/keystore-test-1.json | jq ."
```

### Allowlist Not Working
```bash
# Check translator logs
ssh -i ~/.ssh/proxmox_translator root@192.168.11.240 "journalctl -u rpc-translator-138.service -n 50"
```

### Transaction Failing
```bash
# Verify allowlist
ssh -i ~/.ssh/proxmox_translator root@192.168.11.240 "grep WALLET_ALLOWLIST /opt/rpc-translator-138/.env"

# Check Web3Signer connectivity
curl http://192.168.11.111:9000/upcheck
```

---

**Status**: Ready to execute! Run `./scripts/complete-all-tasks.sh` or follow manual steps above.
