Files
proxmox/docs/04-configuration/CHAIN138_WALLET_CONFIG_VALIDATION.md
defiQUG 023603e0c2 chore(besu,docs): node lists (.237/.238), deploy scripts, 2138 wallet + MetaMask JSON
- static-nodes.json + permissions-nodes.toml: add enodes for 192.168.11.237–238
- deploy-besu-node-lists-to-all.sh / restart-besu-reload-node-lists.sh: tighten Besu deploy/restart flow
- CHAIN2138_WALLET_CONFIG_VALIDATION.md, METAMASK_NETWORK_CONFIG_2138.json
- Cross-links: CHAIN138 wallet validation, MASTER_INDEX, runbook, meta fixes
- NEXT_STEPS_INDEX + TODOS_CONSOLIDATED: 2026-03-28 completable + operator run note

Made-with: Cursor
2026-03-28 00:25:13 -07:00

105 lines
3.9 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.
# Chain 138 Wallet & SDK Config Validation
**Last Updated:** 2026-01-31
**Document Version:** 1.0
**Status:** Active Documentation
---
**Purpose**: Validated configs for MetaMask, ethers.js, and Ledger (Chain 138 Defi Oracle Meta Mainnet).
**RPC**: `https://rpc-http-pub.d-bis.org`, `https://rpc.d-bis.org`, `https://rpc2.d-bis.org`, `https://rpc.defi-oracle.io`
**WS**: `wss://rpc-ws-pub.d-bis.org`, `wss://rpc.d-bis.org`, `wss://ws.rpc.d-bis.org`, `wss://ws.rpc2.d-bis.org`, `wss://wss.defi-oracle.io`
**Chain ID**: 138 (`0x8a`)
---
## 1. MetaMask (custom network)
Use **Settings → Networks → Add network** (or “Add a network manually”) with:
| Field | Value |
|-------|--------|
| **Network name** | Defi Oracle Meta Mainnet |
| **RPC URL** | `https://rpc-http-pub.d-bis.org`, `https://rpc.d-bis.org`, `https://rpc2.d-bis.org`, or `https://rpc.defi-oracle.io` |
| **Chain ID** | `138` |
| **Currency symbol** | ETH |
| **Block explorer** | `https://explorer.d-bis.org` |
**JSON** (for programmatic add or import): see `docs/04-configuration/metamask/METAMASK_NETWORK_CONFIG.json`.
Validated: chainId `0x8a`, RPC URLs return `eth_chainId``0x8a`.
---
## 2. ethers.js (v5 / v6)
```javascript
// Chain 138 Defi Oracle Meta Mainnet
const chain138 = {
chainId: 138,
name: "Defi Oracle Meta Mainnet",
nativeCurrency: { name: "Ether", symbol: "ETH", decimals: 18 },
rpcUrls: {
default: { http: ["https://rpc-http-pub.d-bis.org", "https://rpc.d-bis.org", "https://rpc2.d-bis.org", "https://rpc.defi-oracle.io"] },
webSocket: ["wss://rpc-ws-pub.d-bis.org", "wss://rpc.d-bis.org", "wss://ws.rpc.d-bis.org", "wss://ws.rpc2.d-bis.org", "wss://wss.defi-oracle.io"]
},
blockExplorers: {
default: { name: "Blockscout", url: "https://explorer.d-bis.org" }
}
};
// ethers v6
import { JsonRpcProvider } from "ethers";
const provider = new JsonRpcProvider("https://rpc-http-pub.d-bis.org");
const chainId = await provider.getNetwork().then(n => Number(n.chainId)); // 138
// ethers v6 WebSocket
import { WebSocketProvider } from "ethers";
const wsProvider = new WebSocketProvider("wss://rpc-ws-pub.d-bis.org");
```
Validated: HTTP RPC returns chainId 138; WS endpoints route to same backend (VMID 2201).
---
## 3. Ledger (Chain 138)
Chain 138 is a custom chain. In Ledger Live / Ledger-compatible apps:
- **Network**: Add custom Ethereum-compatible network.
- **RPC**: `https://rpc-http-pub.d-bis.org`, `https://rpc.d-bis.org`, `https://rpc2.d-bis.org`, or `https://rpc.defi-oracle.io`
- **Chain ID**: `138`
- **Explorer**: `https://explorer.d-bis.org`
Ledger does not pre-list Chain 138; use “Add custom network” (or equivalent) with the values above.
**SLIP-44**: Chain 138 uses `slip44: 60` (ETH derivation path) in chain list; Ledger uses standard ETH path for EVM chains.
Validated: No collision with mainnet (1) or common testnets; chain list entry in `pr-workspace/chains/_data/chains/eip155-138.json` is correct for submission to chainlist.org / Ledger discovery if/when supported.
---
## 4. Quick verification
```bash
# HTTP RPC
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}'
# Expected: {"jsonrpc":"2.0","id":1,"result":"0x8a"}
# From LAN (if Split DNS or --resolve used)
curl -sk --resolve rpc-http-pub.d-bis.org:443:192.168.11.167 \
https://rpc-http-pub.d-bis.org \
-H "Content-Type: application/json" \
-d '{"jsonrpc":"2.0","method":"eth_chainId","params":[],"id":1}'
```
---
## 5. References
- **RPC verification**: `docs/04-configuration/RPC_CHAIN138_VERIFICATION.md`
- **MetaMask network JSON**: `docs/04-configuration/metamask/METAMASK_NETWORK_CONFIG.json`
- **Chain list (chainlist.org)**: `pr-workspace/chains/_data/chains/eip155-138.json`
- **Token list (chain 138)**: `token-lists/chainlists/chain-138.json`
- **Testnet (2138) wallet doc**: `docs/04-configuration/CHAIN2138_WALLET_CONFIG_VALIDATION.md`