# ThirdWeb RPC Nodes - Quick Start

## Summary

Setup complete! Ready to deploy ThirdWeb RPC node LXC containers.

## What Was Created

1. **Setup Script**: `scripts/setup-thirdweb-rpc-nodes.sh`
   - Creates 3 LXC containers (VMIDs 2600-2602)
   - Installs and configures Besu RPC nodes
   - Optimized for ThirdWeb SDK integration

2. **Configuration**: `smom-dbis-138/config/config-rpc-thirdweb.toml`
   - ThirdWeb-optimized Besu configuration
   - WebSocket support enabled
   - Extended APIs (DEBUG, TRACE)
   - Increased transaction pool and timeout settings

3. **Documentation**: `docs/THIRDWEB_RPC_SETUP.md`
   - Complete setup and usage guide
   - Integration examples
   - Troubleshooting tips

## Container Details

| VMID | Hostname | IP Address | Status |
|------|----------|------------|--------|
| 2400 | thirdweb-rpc-1 | 192.168.11.240 | Ready to deploy |
| 2401 | thirdweb-rpc-2 | 192.168.11.241 | Ready to deploy |
| 2402 | thirdweb-rpc-3 | 192.168.11.242 | Ready to deploy |

**Note**: VMIDs align with IP addresses - VMID 2400 = 192.168.11.240

## Quick Deploy

```bash
# Run the setup script
cd /home/intlc/projects/proxmox
./scripts/setup-thirdweb-rpc-nodes.sh
```

## RPC Endpoints

After deployment, you'll have:

- **HTTP RPC**: `http://192.168.11.240:8545`
- **WebSocket RPC**: `ws://192.168.11.240:8546`
- **Metrics**: `http://192.168.11.240:9545/metrics`

## ThirdWeb Integration

```javascript
import { ThirdwebSDK } from "@thirdweb-dev/sdk";

const sdk = new ThirdwebSDK("http://192.168.11.240:8545", {
  supportedChains: [138],
});
```

## Next Steps

1. Review the full documentation: `docs/THIRDWEB_RPC_SETUP.md`
2. Run the setup script to create containers
3. Verify endpoints are accessible
4. Configure ThirdWeb Dashboard to use the RPC endpoints
5. Test with your ThirdWeb dApps

## Support

- Check container status: `ssh root@192.168.11.10 'pct list | grep 240'`
- View logs: `ssh root@192.168.11.10 'pct exec 2600 -- journalctl -u besu-rpc.service -f'`
- Test RPC: `curl -X POST http://192.168.11.240:8545 -H 'Content-Type: application/json' --data '{"jsonrpc":"2.0","method":"eth_blockNumber","params":[],"id":1}'`
