Files
proxmox/docs/04-configuration/PUBLIC_RPC_CHAIN138_LEDGER.md
defiQUG fbda1b4beb
Some checks failed
Deploy to Phoenix / deploy (push) Has been cancelled
docs: Ledger Live integration, contract deploy learnings, NEXT_STEPS updates
- ADD_CHAIN138_TO_LEDGER_LIVE: Ledger form done; public code review repo bis-innovations/LedgerLive; init/push commands
- CONTRACT_DEPLOYMENT_RUNBOOK: Chain 138 gas price 1 gwei, 36-addr check, TransactionMirror workaround
- CONTRACT_*: AddressMapper, MirrorManager deployed 2026-02-12; 36-address on-chain check
- NEXT_STEPS_FOR_YOU: Ledger done; steps completable now (no LAN); run-completable-tasks-from-anywhere
- MASTER_INDEX, OPERATOR_OPTIONAL, SMART_CONTRACTS_INVENTORY_SIMPLE: updates
- LEDGER_BLOCKCHAIN_INTEGRATION_COMPLETE: bis-innovations/LedgerLive reference

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-12 15:46:57 -08:00

136 lines
5.4 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Public RPC Endpoints for ChainID 138 Ledger App-Ethereum
**Last Updated:** 2026-01-31
**Document Version:** 1.0
**Status:** Active Documentation
---
**Date**: 2026-01-28
**Status**: Active
**Purpose**: Authoritative list of public ChainID 138 RPCs, Proxmox VM / NPMplus mapping, and Ledger App-Ethereum access.
---
## Public RPCs for ChainID 138
| Domain | Protocol | Target VMID | Target IP:Port | Backend | WebSocket |
|--------|----------|-------------|----------------|---------|-----------|
| `rpc-http-pub.d-bis.org` | HTTPS | 2201 | 192.168.11.221:8545 | besu-rpc-public-1 (Besu) | ✅ |
| `rpc-ws-pub.d-bis.org` | WSS | 2201 | 192.168.11.221:8546 | besu-rpc-public-1 (Besu) | ✅ |
| `rpc.d-bis.org` | HTTPS | 2201 | 192.168.11.221:8545 | besu-rpc-public-1 (Besu) | ✅ |
| `rpc2.d-bis.org` | HTTPS | 2201 | 192.168.11.221:8545 | besu-rpc-public-1 (Besu) | ✅ |
| `ws.rpc.d-bis.org` | WSS | 2201 | 192.168.11.221:8546 | besu-rpc-public-1 (Besu) | ✅ |
| `ws.rpc2.d-bis.org` | WSS | 2201 | 192.168.11.221:8546 | besu-rpc-public-1 (Besu) | ✅ |
| `rpc.public-0138.defi-oracle.io` | HTTPS | 2400 | 192.168.11.240:443 | thirdweb-rpc-1 (Nginx + RPC Translator) | ✅ |
| `rpc.defi-oracle.io` | HTTPS | 2201 | 192.168.11.221:8545 | besu-rpc-public-1 (same as rpc-http-pub) | ✅ |
| `wss.defi-oracle.io` | WSS | 2201 | 192.168.11.221:8546 | besu-rpc-public-1 (same as rpc-ws-pub) | ✅ |
- **d-bis.org** endpoints: direct Besu RPC (VMID 2201).
- **defi-oracle.io** endpoints: Nginx on VMID 2400 fronts RPC Translator, which proxies to Besu.
---
## Proxmox VM and NPMplus Mapping
### NPMplus (VMID 10233)
- **IP**: 192.168.11.167
- **FQDN**: npmplus
- **Role**: Reverse proxy for all public-facing services (including RPC).
### Routing
```
Internet (DNS → 76.53.10.36) → NPMplus (10233) → Backend RPC
```
| Public URL | NPMplus forwards to | Backend VMID |
|------------|---------------------|--------------|
| `https://rpc-http-pub.d-bis.org` | `http://192.168.11.221:8545` | 2201 |
| `wss://rpc-ws-pub.d-bis.org` | `http://192.168.11.221:8546` | 2201 |
| `https://rpc.d-bis.org` | `http://192.168.11.221:8545` | 2201 |
| `https://rpc2.d-bis.org` | `http://192.168.11.221:8545` | 2201 |
| `wss://ws.rpc.d-bis.org` | `http://192.168.11.221:8546` | 2201 |
| `wss://ws.rpc2.d-bis.org` | `http://192.168.11.221:8546` | 2201 |
| `https://rpc.public-0138.defi-oracle.io` | `https://192.168.11.240:443` | 2400 |
| `https://rpc.defi-oracle.io` | `http://192.168.11.221:8545` | 2201 |
| `wss://wss.defi-oracle.io` | `http://192.168.11.221:8546` | 2201 |
**WebSocket**: Enabled in NPMplus for all RPC hosts above.
---
## Ledger App-Ethereum and ChainID 138
- **Ledger app**: `pr-workspace/app-ethereum` (Ledger HQ App-Ethereum).
- **ChainID 138**: Configured in app (e.g. `makefile_conf/chain/defi_oracle.mk`, `src/network.c`) as **Defi Oracle Meta**.
- **RPC**: Not configured in the app firmware. Wallets (Ledger Live, MetaMask, etc.) supply RPC URLs when using ChainID 138.
### RPC URLs for Ledger / Wallets
Use these when adding ChainID 138 in Ledger Live, MetaMask, or other wallets:
| Use | URL |
|-----|-----|
| **HTTP RPC** | `https://rpc-http-pub.d-bis.org` or `https://rpc.d-bis.org` or `https://rpc2.d-bis.org` |
| **WebSocket RPC** | `wss://rpc-ws-pub.d-bis.org` or `wss://ws.rpc.d-bis.org` or `wss://ws.rpc2.d-bis.org` |
Alternatively (defi-oracle.io):
- `https://rpc.public-0138.defi-oracle.io`
- `wss://rpc.public-0138.defi-oracle.io`
- `https://rpc.defi-oracle.io` (HTTP RPC)
- `wss://wss.defi-oracle.io` (WebSocket RPC)
Chainlist / `pr-workspace/chains` (`eip155-138`) includes d-bis.org and defi-oracle.io RPCs so Ledger Live and other clients can discover them.
---
## Apply NPMplus Configuration
**New domains** (`rpc.d-bis.org`, `rpc2.d-bis.org`, `ws.rpc.d-bis.org`, `ws.rpc2.d-bis.org`, `rpc.defi-oracle.io`, `wss.defi-oracle.io`): Create proxy hosts with `scripts/nginx-proxy-manager/create-npmplus-rpc-d-bis-hosts.sh` and `create-npmplus-defi-oracle-hosts.sh`, or in NPMplus UI (Hosts → Proxy Hosts → Add), then run the update script or fix-all. The API script only updates existing hosts.
1. **Fix-all** (recommended; applies NPMplus config + verifies RPC):
```bash
# Run from repo root. Use same network as NPMplus (192.168.11.x) for updates.
./scripts/fix-rpc-chain138-npmplus.sh
```
2. **API-based update** only:
```bash
# Ensure .env has NPM_URL, NPM_EMAIL, NPM_PASSWORD
./scripts/nginx-proxy-manager/update-npmplus-proxy-hosts-api.sh
```
3. **Browser automation** (if API not used):
```bash
node scripts/nginx-proxy-manager/configure-npmplus-domains.js
```
4. **Verify** RPC and chain ID:
```bash
curl -s -X POST https://rpc-http-pub.d-bis.org \
-H "Content-Type: application/json" \
-d '{"jsonrpc":"2.0","method":"eth_chainId","params":[],"id":1}'
# Expect: {"jsonrpc":"2.0","id":1,"result":"0x8a"}
```
---
## References
- [NEXT_STEPS_CHAIN138_RPC.md](./NEXT_STEPS_CHAIN138_RPC.md) Complete next steps using .env and scripts
- [RPC_ENDPOINTS_MASTER.md](./RPC_ENDPOINTS_MASTER.md) All RPC endpoints
- [NPMPLUS_CORRECT_CONFIGURATION.md](./NPMPLUS_CORRECT_CONFIGURATION.md) NPMplus domain config
- [RPC_NODE_TYPES_ARCHITECTURE.md](../05-network/RPC_NODE_TYPES_ARCHITECTURE.md) RPC node types
- [TASK9_LEDGER_RPC_VERIFICATION.md](../../smom-dbis-138/docs/deployment/TASK9_LEDGER_RPC_VERIFICATION.md) Ledger ChainID 138 verification
---
**Last Updated**: 2026-01-28