# Missing LXC Containers - Complete List

**Date:** December 26, 2024  
**Status:** Inventory of containers that need to be created

---

## Summary

| Category | Missing | Total Expected | Status |
|----------|---------|----------------|--------|
| **Besu Nodes** | 7 | 19 | 12/19 deployed |
| **Hyperledger Services** | 5 | 5 | 0/5 deployed |
| **Explorer** | 1 | 1 | 0/1 deployed |
| **TOTAL** | **13** | **25** | **12/25 deployed** |

---

## 🔴 Missing Containers by Category

### 1. Besu Nodes (ChainID 138)

#### Missing Sentry Node

| VMID | Hostname | Role | IP Address | Priority | Notes |
|------|----------|------|------------|----------|-------|
| **1504** | `besu-sentry-5` | Besu Sentry Node | 192.168.11.154 | **High** | New container for Ali's dedicated host |

**Specifications:**
- Memory: 4GB
- CPU: 2 cores
- Disk: 100GB
- Network: 192.168.11.154
- Discovery: Enabled
- Access: Ali (Full)

---

#### Missing RPC Nodes

| VMID | Hostname | Role | IP Address | Priority | Notes |
|------|----------|------|------------|----------|-------|
| **2503** | `besu-rpc-4` | Besu RPC Node (Ali - 0x8a) | 192.168.11.253 | **High** | Ali's RPC node - Permissioned identity: 0x8a |
| **2504** | `besu-rpc-4` | Besu RPC Node (Ali - 0x1) | 192.168.11.254 | **High** | Ali's RPC node - Permissioned identity: 0x1 |
| **2505** | `besu-rpc-luis` | Besu RPC Node (Luis - 0x8a) | 192.168.11.255 | **High** | Luis's RPC container - Permissioned identity: 0x8a |
| **2506** | `besu-rpc-luis` | Besu RPC Node (Luis - 0x1) | 192.168.11.256 | **High** | Luis's RPC container - Permissioned identity: 0x1 |
| **2507** | `besu-rpc-putu` | Besu RPC Node (Putu - 0x8a) | 192.168.11.257 | **High** | Putu's RPC container - Permissioned identity: 0x8a |
| **2508** | `besu-rpc-putu` | Besu RPC Node (Putu - 0x1) | 192.168.11.258 | **High** | Putu's RPC container - Permissioned identity: 0x1 |

**Specifications (per container):**
- Memory: 16GB
- CPU: 4 cores
- Disk: 200GB
- Discovery: **Disabled** (prevents connection to Ethereum mainnet while reporting chainID 0x1 to MetaMask for wallet compatibility)
- **Authentication: JWT Auth Required** (all containers)

**Access Model:**
- **2503** (besu-rpc-4): Ali (Full) - 0x8a identity
- **2504** (besu-rpc-4): Ali (Full) - 0x1 identity
- **2505** (besu-rpc-luis): Luis (RPC-only) - 0x8a identity
- **2506** (besu-rpc-luis): Luis (RPC-only) - 0x1 identity
- **2507** (besu-rpc-putu): Putu (RPC-only) - 0x8a identity
- **2508** (besu-rpc-putu): Putu (RPC-only) - 0x1 identity

**Configuration:**
- All use permissioned RPC configuration
- Discovery disabled for all (prevents connection to Ethereum mainnet while reporting chainID 0x1 to MetaMask for wallet compatibility)
- Each container has separate permissioned identity access
- **All require JWT authentication** via nginx reverse proxy

---

### 2. Hyperledger Services

#### Firefly

| VMID | Hostname | Role | IP Address | Priority | Notes |
|------|----------|------|------------|----------|-------|
| **6200** | `firefly-1` | Hyperledger Firefly Core | 192.168.11.66 | **High** | Workflow/orchestration |
| **6201** | `firefly-2` | Hyperledger Firefly Node | 192.168.11.67 | **High** | For Ali's dedicated host (ChainID 138) |

**Specifications (per container):**
- Memory: 4GB
- CPU: 2 cores
- Disk: 50GB
- Access: Ali (Full)

**Notes:**
- 6201 is specifically mentioned in ChainID 138 documentation
- 6200 is the core Firefly service

---

#### Cacti

| VMID | Hostname | Role | IP Address | Priority | Notes |
|------|----------|------|------------|----------|-------|
| **5200** | `cacti-1` | Hyperledger Cacti | 192.168.11.64 | **High** | Interop middleware |

**Specifications:**
- Memory: 4GB
- CPU: 2 cores
- Disk: 50GB

---

#### Fabric

| VMID | Hostname | Role | IP Address | Priority | Notes |
|------|----------|------|------------|----------|-------|
| **6000** | `fabric-1` | Hyperledger Fabric | 192.168.11.65 | Medium | Enterprise contracts |

**Specifications:**
- Memory: 8GB
- CPU: 4 cores
- Disk: 100GB

---

#### Indy

| VMID | Hostname | Role | IP Address | Priority | Notes |
|------|----------|------|------------|----------|-------|
| **6400** | `indy-1` | Hyperledger Indy | 192.168.11.68 | Medium | Identity layer |

**Specifications:**
- Memory: 8GB
- CPU: 4 cores
- Disk: 100GB

---

### 3. Explorer

#### Blockscout

| VMID | Hostname | Role | IP Address | Priority | Notes |
|------|----------|------|------------|----------|-------|
| **5000** | `blockscout-1` | Blockscout Explorer | TBD | **High** | Blockchain explorer for ChainID 138 |

**Specifications:**
- Memory: 8GB+
- CPU: 4 cores+
- Disk: 200GB+
- Requires: PostgreSQL database

---

## 📊 Deployment Priority

### Priority 1 - High (ChainID 138 Critical)

1. **1504** - `besu-sentry-5` (Ali's dedicated host)
2. **2503** - `besu-rpc-4` (Ali's RPC node - 0x8a identity)
3. **2504** - `besu-rpc-4` (Ali's RPC node - 0x1 identity)
4. **2505** - `besu-rpc-luis` (Luis's RPC container - 0x8a identity)
5. **2506** - `besu-rpc-luis` (Luis's RPC container - 0x1 identity)
6. **2507** - `besu-rpc-putu` (Putu's RPC container - 0x8a identity)
7. **2508** - `besu-rpc-putu` (Putu's RPC container - 0x1 identity)
8. **6201** - `firefly-2` (Ali's dedicated host, ChainID 138)
9. **5000** - `blockscout-1` (Explorer for ChainID 138)

**Note:** All RPC containers require JWT authentication via nginx reverse proxy.

### Priority 2 - High (Infrastructure)

5. **6200** - `firefly-1` (Core Firefly service)
6. **5200** - `cacti-1` (Interop middleware)

### Priority 3 - Medium

7. **6000** - `fabric-1` (Enterprise contracts)
8. **6400** - `indy-1` (Identity layer)

---

## ✅ Currently Deployed Containers

### Besu Network (12/14)

| VMID | Hostname | Status |
|------|----------|--------|
| 1000 | besu-validator-1 | ✅ Deployed |
| 1001 | besu-validator-2 | ✅ Deployed |
| 1002 | besu-validator-3 | ✅ Deployed |
| 1003 | besu-validator-4 | ✅ Deployed |
| 1004 | besu-validator-5 | ✅ Deployed |
| 1500 | besu-sentry-1 | ✅ Deployed |
| 1501 | besu-sentry-2 | ✅ Deployed |
| 1502 | besu-sentry-3 | ✅ Deployed |
| 1503 | besu-sentry-4 | ✅ Deployed |
| 1504 | besu-sentry-5 | ❌ **MISSING** |
| 2500 | besu-rpc-1 | ✅ Deployed |
| 2501 | besu-rpc-2 | ✅ Deployed |
| 2502 | besu-rpc-3 | ✅ Deployed |
| 2503 | besu-rpc-4 | ❌ **MISSING** |

### Services (2/4)

| VMID | Hostname | Status |
|------|----------|--------|
| 3500 | oracle-publisher-1 | ✅ Deployed |
| 3501 | ccip-monitor-1 | ✅ Deployed |

---

## 🚀 Deployment Scripts Available

### For Besu Nodes

- **Main deployment:** `smom-dbis-138-proxmox/scripts/deployment/deploy-besu-nodes.sh`
- **Configuration:** `scripts/configure-besu-chain138-nodes.sh`
- **Quick setup:** `scripts/setup-new-chain138-containers.sh`

### For Hyperledger Services

- **Deployment:** `smom-dbis-138-proxmox/scripts/deployment/deploy-hyperledger-services.sh`

### For Explorer

- **Deployment:** Check Blockscout deployment scripts

---

## 📝 Deployment Checklist

### Besu Nodes (Priority 1)

- [ ] **1504** - Create `besu-sentry-5` container
  - [ ] Configure static-nodes.json
  - [ ] Configure permissioned-nodes.json
  - [ ] Enable discovery
  - [ ] Verify peer connections
  - [ ] Access: Ali (Full)

- [ ] **2503** - Create `besu-rpc-4` container (Ali's RPC - 0x8a)
  - [ ] Use permissioned RPC configuration
  - [ ] Configure static-nodes.json
  - [ ] Configure permissioned-nodes.json
  - [ ] **Disable discovery** (critical!)
  - [ ] Configure permissioned identity (0x8a)
  - [ ] Set up JWT authentication
  - [ ] Access: Ali (Full)

- [ ] **2504** - Create `besu-rpc-4` container (Ali's RPC - 0x1)
  - [ ] Use permissioned RPC configuration
  - [ ] Configure static-nodes.json
  - [ ] Configure permissioned-nodes.json
  - [ ] **Disable discovery** (critical!)
  - [ ] Configure permissioned identity (0x1)
  - [ ] Set up JWT authentication
  - [ ] Access: Ali (Full)

- [ ] **2505** - Create `besu-rpc-luis` container (Luis's RPC - 0x8a)
  - [ ] Use permissioned RPC configuration
  - [ ] Configure static-nodes.json
  - [ ] Configure permissioned-nodes.json
  - [ ] **Disable discovery** (critical!)
  - [ ] Configure permissioned identity (0x8a)
  - [ ] Set up JWT authentication
  - [ ] Set up RPC-only access for Luis
  - [ ] Access: Luis (RPC-only, 0x8a identity)

- [ ] **2506** - Create `besu-rpc-luis` container (Luis's RPC - 0x1)
  - [ ] Use permissioned RPC configuration
  - [ ] Configure static-nodes.json
  - [ ] Configure permissioned-nodes.json
  - [ ] **Disable discovery** (critical!)
  - [ ] Configure permissioned identity (0x1)
  - [ ] Set up JWT authentication
  - [ ] Set up RPC-only access for Luis
  - [ ] Access: Luis (RPC-only, 0x1 identity)

- [ ] **2507** - Create `besu-rpc-putu` container (Putu's RPC - 0x8a)
  - [ ] Use permissioned RPC configuration
  - [ ] Configure static-nodes.json
  - [ ] Configure permissioned-nodes.json
  - [ ] **Disable discovery** (critical!)
  - [ ] Configure permissioned identity (0x8a)
  - [ ] Set up JWT authentication
  - [ ] Set up RPC-only access for Putu
  - [ ] Access: Putu (RPC-only, 0x8a identity)

- [ ] **2508** - Create `besu-rpc-putu` container (Putu's RPC - 0x1)
  - [ ] Use permissioned RPC configuration
  - [ ] Configure static-nodes.json
  - [ ] Configure permissioned-nodes.json
  - [ ] **Disable discovery** (critical!)
  - [ ] Configure permissioned identity (0x1)
  - [ ] Set up JWT authentication
  - [ ] Set up RPC-only access for Putu
  - [ ] Access: Putu (RPC-only, 0x1 identity)

### Hyperledger Services

- [ ] **6200** - Create `firefly-1` container
- [ ] **6201** - Create `firefly-2` container (Ali's host)
- [ ] **5200** - Create `cacti-1` container
- [ ] **6000** - Create `fabric-1` container
- [ ] **6400** - Create `indy-1` container

### Explorer

- [ ] **5000** - Create `blockscout-1` container
  - [ ] Set up PostgreSQL database
  - [ ] Configure RPC endpoints
  - [ ] Set up indexing

---

## 🔗 Related Documentation

- [ChainID 138 Configuration Guide](CHAIN138_BESU_CONFIGURATION.md)
- [ChainID 138 Quick Start](/docs/01-getting-started/CHAIN138_QUICK_START.md)
- [VMID Allocation](smom-dbis-138-proxmox/config/proxmox.conf)
- [Deployment Plan](dbis_core/DEPLOYMENT_PLAN.md)

---

## 📊 Summary Statistics

**Total Missing:** 13 containers
- Besu Nodes: 7 (1504, 2503, 2504, 2505, 2506, 2507, 2508)
- Hyperledger Services: 5 (6200, 6201, 5200, 6000, 6400)
- Explorer: 1 (5000)

**Total Expected:** 25 containers
- Besu Network: 19 (12 existing + 7 new: 1504, 2503-2508)
- Hyperledger Services: 5
- Explorer: 1

**Deployment Rate:** 48% (12/25)

**Important:** All RPC containers (2503-2508) require JWT authentication via nginx reverse proxy.

---

**Last Updated:** December 26, 2024

