feat(universe): update gateway configs and k8s manifests to /v1/chain

This commit is contained in:
2026-09-04 14:29:47 -07:00
parent ed396ef870
commit 8e8bc8a4a4
114 changed files with 815 additions and 815 deletions
+3 -3
View File
@@ -157,7 +157,7 @@ Single MPC cluster (5 nodes, threshold 3). Serves all orgs.
| Hostname | Service | Purpose |
|----------|---------|---------|
| api.lux.network | gateway:8080 | All RPC: /{network}/v1/bc/{chain}/rpc |
| api.lux.network | gateway:8080 | All RPC: /{network}/v1/chain/{chain}/rpc |
| api.zoo.network | gateway:8080 | Alias for Zoo RPC |
### Faucet (NEW)
@@ -288,7 +288,7 @@ NEXT_PUBLIC_NETWORK_NAME # Zoo, Hanzo, SPC, Pars
NEXT_PUBLIC_NETWORK_ID # EVM chain ID (200200, 36963, etc.)
NEXT_PUBLIC_NETWORK_CURRENCY_NAME # ZOO, AI, SPC, PARS
NEXT_PUBLIC_NETWORK_CURRENCY_SYMBOL # same
NEXT_PUBLIC_NETWORK_RPC_URL # https://api.lux.network/mainnet/v1/bc/{blockchain_id}/rpc
NEXT_PUBLIC_NETWORK_RPC_URL # https://api.lux.network/mainnet/v1/chain/{blockchain_id}/rpc
NEXT_PUBLIC_IS_TESTNET # false
# Theme
@@ -342,7 +342,7 @@ One per chain. Naming: `faucet-config-{chain}`.
```
FAUCET_CHAIN_NAME # Lux Testnet, Zoo Testnet, etc.
FAUCET_CHAIN_ID # testnet EVM chain ID
FAUCET_RPC_URL # https://api.lux.network/testnet/v1/bc/{chain}/rpc
FAUCET_RPC_URL # https://api.lux.network/testnet/v1/chain/{chain}/rpc
FAUCET_AMOUNT # drip amount per request (e.g., "1000000000000000000" = 1 token)
FAUCET_CURRENCY_SYMBOL # LUX, ZOO, AI, SPC, PARS
FAUCET_RATE_LIMIT_SECONDS # 86400 (once per day)
+13 -13
View File
@@ -180,7 +180,7 @@ Five security fixes applied across all gateway configs:
2. **Response headers stripped** -- `modifier/response-headers-blacklist` blocks `X-Gateway`, `X-Gateway-Completed`, `node-id`, `Node-Id`, `Server` in all configs. Was already correct.
3. **Per-endpoint rate limiting** -- Every endpoint now has `qos/ratelimit/router`: 100 req/s for RPC, 50 for WS, 30 for health, 10 for info. K8s gateway.yaml previously had zero per-endpoint limits.
4. **CORS wildcard removed** -- IngressRoute `cors-allow-all` middleware replaced with `gateway-cors` (regex-based origin allowlist: `*.lux.network`, `*.lux.exchange`, `lux.market`). LuxGateway CRDs also updated from `["*"]` to explicit origin list.
5. **XVM (exchangevm) routes added** -- `/v1/bc/exchange` alias routes map to `/v1/bc/X` on all networks (mainnet/testnet/devnet) in both K8s gateway and standalone configs. Follows same pattern as `/v1/bc/dex/rpc` -> `/v1/bc/D/rpc`.
5. **XVM (exchangevm) routes added** -- `/v1/chain/exchange` alias routes map to `/v1/chain/X` on all networks (mainnet/testnet/devnet) in both K8s gateway and standalone configs. Follows same pattern as `/v1/chain/dex/rpc` -> `/v1/chain/D/rpc`.
Files changed: `configs/gateway/gateway.json`, `configs/gateway/gateway-mainnet.json`, `configs/gateway/gateway-testnet.json`, `configs/gateway/gateway-devnet.json`, `k8s/lux-gateway/gateway.yaml`, `k8s/lux-k8s/validators/crd-resources.yaml`.
@@ -266,17 +266,17 @@ lux network stop --testnet --force
# Write genesis state spec first
curl -s -X POST -H "Content-Type: application/json" \
--data '{"jsonrpc":"2.0","method":"admin_writeGenesisStateSpec","params":["/Users/z/work/lux/genesis/configs/mainnet/cchain.json"],"id":1}' \
http://127.0.0.1:9630/v1/bc/C/rpc
http://127.0.0.1:9630/v1/chain/C/rpc
# Import blocks (mainnet C-Chain: 1,082,780 blocks)
curl -s -X POST -H "Content-Type: application/json" \
--data '{"jsonrpc":"2.0","method":"admin_importChain","params":["/Users/z/work/lux/state/rlp/lux-mainnet/lux-mainnet-96369.rlp"],"id":1}' \
http://127.0.0.1:9630/v1/bc/C/rpc
http://127.0.0.1:9630/v1/chain/C/rpc
# Verify import
curl -s -X POST -H "Content-Type: application/json" \
--data '{"jsonrpc":"2.0","method":"eth_blockNumber","params":[],"id":1}' \
http://127.0.0.1:9630/v1/bc/C/rpc
http://127.0.0.1:9630/v1/chain/C/rpc
```
#### RLP Block Data Available
@@ -336,22 +336,22 @@ psql -h localhost -p 5432 -U postgres -d explorer_lux # legacy DB; new Lux Expl
### RPC Endpoints (Port 9630)
- **Info API**: http://localhost:9630/v1/info
- **C-Chain RPC**: http://localhost:9630/v1/bc/C/rpc
- **C-Chain WebSocket**: ws://localhost:9630/v1/bc/C/ws
- **C-Chain RPC**: http://localhost:9630/v1/chain/C/rpc
- **C-Chain WebSocket**: ws://localhost:9630/v1/chain/C/ws
- **Health API**: http://localhost:9630/v1/health
- **Metrics**: http://localhost:9630/v1/metrics
### Public RPC Endpoints (via Gateway)
Mainnet uses `/mainnet/v1/bc/{chain}/rpc`, testnet uses `/testnet/v1/...`, devnet uses `/devnet/v1/...`.
Mainnet uses `/mainnet/v1/chain/{chain}/rpc`, testnet uses `/testnet/v1/...`, devnet uses `/devnet/v1/...`.
| Chain | Mainnet RPC | Testnet RPC |
|-------|-------------|-------------|
| C-Chain | `https://api.lux.network/mainnet/v1/bc/C/rpc` | `https://api.lux.network/testnet/v1/bc/C/rpc` |
| Zoo | `https://api.lux.network/mainnet/v1/bc/{zoo_blockchain_id}/rpc` | flat: `https://api.zoo.network/rpc` |
| Hanzo | `https://api.lux.network/mainnet/v1/bc/{hanzo_blockchain_id}/rpc` | -- |
| SPC | `https://api.lux.network/mainnet/v1/bc/{spc_blockchain_id}/rpc` | -- |
| Pars | `https://api.lux.network/mainnet/v1/bc/{pars_blockchain_id}/rpc` | -- |
| C-Chain | `https://api.lux.network/mainnet/v1/chain/C/rpc` | `https://api.lux.network/testnet/v1/chain/C/rpc` |
| Zoo | `https://api.lux.network/mainnet/v1/chain/{zoo_blockchain_id}/rpc` | flat: `https://api.zoo.network/rpc` |
| Hanzo | `https://api.lux.network/mainnet/v1/chain/{hanzo_blockchain_id}/rpc` | -- |
| SPC | `https://api.lux.network/mainnet/v1/chain/{spc_blockchain_id}/rpc` | -- |
| Pars | `https://api.lux.network/mainnet/v1/chain/{pars_blockchain_id}/rpc` | -- |
**CRITICAL**: Do NOT use `https://api.lux.network/rpc` -- it returns 404. Always use the full path with network prefix.
@@ -828,7 +828,7 @@ the LP-182 EVMChainID map in luxfi/genesis).
- Each new EVM chain currently sits at block 0 — `--evm-heartbeat-key`
flag of bootstrap-chain can roll block 1 if funded. Hold for downstream
contract deploys to roll their own blocks.
- Gateway path-based routing (`/testnet/v1/bc/<brand>/rpc` etc) in
- Gateway path-based routing (`/testnet/v1/chain/<brand>/rpc` etc) in
`k8s/lux-gateway/gateway.yaml` still points at OLD `lux-testnet`/
`lux-devnet` namespaces with stale chainIDs. Update to route to the
`lux-testnet` / `lux-devnet` namespaces on lux-k8s with new blockchainIDs.
+16 -16
View File
@@ -105,10 +105,10 @@ up: chain ## Start full local universe (chain + services)
@echo "$(GREEN)Chains: P, X, C, Z$(RESET)"
@echo ""
@echo "$(BOLD)Endpoints:$(RESET)"
@echo " P-Chain: http://127.0.0.1:9660/v1/bc/P"
@echo " X-Chain: http://127.0.0.1:9660/v1/bc/X"
@echo " C-Chain: http://127.0.0.1:9660/v1/bc/C/rpc"
@echo " Z-Chain: http://127.0.0.1:9660/v1/bc/z-chain/rpc"
@echo " P-Chain: http://127.0.0.1:9660/v1/chain/P"
@echo " X-Chain: http://127.0.0.1:9660/v1/chain/X"
@echo " C-Chain: http://127.0.0.1:9660/v1/chain/C/rpc"
@echo " Z-Chain: http://127.0.0.1:9660/v1/chain/z-chain/rpc"
@echo ""
@echo " Funded: 0x9011E888 (from LIGHT_MNEMONIC)"
@echo " Stop: make down"
@@ -253,11 +253,11 @@ import: ## Import chains (network=main|test required)
echo "$(RED)Error: network=main|test required$(RESET)"; exit 1; fi
@echo "$(BOLD)Importing $(network) chains...$(RESET)"
@echo " C-Chain ($(CHAIN_ID))..."
@curl -s -X POST "http://127.0.0.1:$(HTTP_PORT)/v1/bc/C/rpc" -H "Content-Type: application/json" \
@curl -s -X POST "http://127.0.0.1:$(HTTP_PORT)/v1/chain/C/rpc" -H "Content-Type: application/json" \
-d '{"jsonrpc":"2.0","method":"admin_importChain","params":["$(STATE_DIR)/rlp/$(RLP_DIR)/$(RLP_CCHAIN)"],"id":1}' 2>/dev/null | jq -r '.result // .error // "sent"' &
@echo " Zoo ($(ZOO_CHAIN_ID))..."
@if [ -f "$(STATE_DIR)/rlp/zoo-$(network)/$(RLP_ZOO)" ]; then \
curl -s -X POST "http://127.0.0.1:$(HTTP_PORT)/v1/bc/$(ZOO_BC)/rpc" -H "Content-Type: application/json" \
curl -s -X POST "http://127.0.0.1:$(HTTP_PORT)/v1/chain/$(ZOO_BC)/rpc" -H "Content-Type: application/json" \
-d '{"jsonrpc":"2.0","method":"admin_importChain","params":["$(STATE_DIR)/rlp/zoo-$(network)/$(RLP_ZOO)"],"id":1}' 2>/dev/null | jq -r '.result // .error // "sent"' & \
fi
@wait
@@ -417,14 +417,14 @@ amm: ## Test AMM on C-chain (network=main|test required)
@if [ "$(network)" != "mainnet" ] && [ "$(network)" != "testnet" ]; then \
echo "$(RED)Error: network=main|test required$(RESET)"; exit 1; fi
@echo "$(BOLD)Testing AMM on $(network) C-chain ($(CHAIN_ID))...$(RESET)"
@lux amm status --network $(AMM_NETWORK) --rpc http://127.0.0.1:$(HTTP_PORT)/v1/bc/C/rpc 2>&1 | head -20
@lux amm status --network $(AMM_NETWORK) --rpc http://127.0.0.1:$(HTTP_PORT)/v1/chain/C/rpc 2>&1 | head -20
.PHONY: amm-zoo
amm-zoo: ## Test AMM on Zoo (network=main|test required)
@if [ "$(network)" != "mainnet" ] && [ "$(network)" != "testnet" ]; then \
echo "$(RED)Error: network=main|test required$(RESET)"; exit 1; fi
@echo "$(BOLD)Testing AMM on $(network) Zoo ($(ZOO_CHAIN_ID))...$(RESET)"
@lux amm status --network $(AMM_ZOO) --rpc http://127.0.0.1:$(HTTP_PORT)/v1/bc/$(ZOO_BC)/rpc 2>&1 | head -20
@lux amm status --network $(AMM_ZOO) --rpc http://127.0.0.1:$(HTTP_PORT)/v1/chain/$(ZOO_BC)/rpc 2>&1 | head -20
##@ Docker Services
@@ -477,13 +477,13 @@ status: ## Show network status (network=main|test|dev required, or status-all fo
@echo ""
@cblock=$$(curl -s -m 1 -X POST -H "Content-Type: application/json" \
--data '{"jsonrpc":"2.0","method":"eth_blockNumber","params":[],"id":1}' \
http://127.0.0.1:$(HTTP_PORT)/v1/bc/C/rpc 2>/dev/null | jq -r '.result // "N/A"' 2>/dev/null); \
http://127.0.0.1:$(HTTP_PORT)/v1/chain/C/rpc 2>/dev/null | jq -r '.result // "N/A"' 2>/dev/null); \
if [ -z "$$cblock" ]; then cblock="N/A"; fi; \
echo " C-Chain Block: $$cblock"
@bash scripts/check-tracked-chains.sh $(network) $(HTTP_PORT)
@echo ""
@echo "$(BOLD)Endpoints:$(RESET)"
@echo " C-Chain RPC: http://127.0.0.1:$(HTTP_PORT)/v1/bc/C/rpc"
@echo " C-Chain RPC: http://127.0.0.1:$(HTTP_PORT)/v1/chain/C/rpc"
@echo " Explorer: http://127.0.0.1:$(EXPLORER_PORT)"
.PHONY: status-all
@@ -496,7 +496,7 @@ status-all: ## Show all networks + services status
@$(MAKE) -s health network=mainnet 2>/dev/null || echo " Mainnet: offline"
@cblock=$$(curl -s -m 1 -X POST -H "Content-Type: application/json" \
--data '{"jsonrpc":"2.0","method":"eth_blockNumber","params":[],"id":1}' \
http://127.0.0.1:9630/v1/bc/C/rpc 2>/dev/null | jq -r '.result // "N/A"' 2>/dev/null); \
http://127.0.0.1:9630/v1/chain/C/rpc 2>/dev/null | jq -r '.result // "N/A"' 2>/dev/null); \
if [ -z "$$cblock" ]; then cblock="N/A"; fi; \
echo " C-Chain Block: $$cblock"
@bash scripts/check-tracked-chains.sh mainnet 9630
@@ -505,7 +505,7 @@ status-all: ## Show all networks + services status
@$(MAKE) -s health network=testnet 2>/dev/null || echo " Testnet: offline"
@cblock=$$(curl -s -m 1 -X POST -H "Content-Type: application/json" \
--data '{"jsonrpc":"2.0","method":"eth_blockNumber","params":[],"id":1}' \
http://127.0.0.1:9640/v1/bc/C/rpc 2>/dev/null | jq -r '.result // "N/A"' 2>/dev/null); \
http://127.0.0.1:9640/v1/chain/C/rpc 2>/dev/null | jq -r '.result // "N/A"' 2>/dev/null); \
if [ -z "$$cblock" ]; then cblock="N/A"; fi; \
echo " C-Chain Block: $$cblock"
@bash scripts/check-tracked-chains.sh testnet 9640
@@ -514,7 +514,7 @@ status-all: ## Show all networks + services status
@$(MAKE) -s health network=devnet 2>/dev/null || echo " Devnet: offline"
@cblock=$$(curl -s -m 1 -X POST -H "Content-Type: application/json" \
--data '{"jsonrpc":"2.0","method":"eth_blockNumber","params":[],"id":1}' \
http://127.0.0.1:9650/v1/bc/C/rpc 2>/dev/null | jq -r '.result // "N/A"' 2>/dev/null); \
http://127.0.0.1:9650/v1/chain/C/rpc 2>/dev/null | jq -r '.result // "N/A"' 2>/dev/null); \
if [ -z "$$cblock" ]; then cblock="N/A"; fi; \
echo " C-Chain Block: $$cblock"
@bash scripts/check-tracked-chains.sh devnet 9650
@@ -522,9 +522,9 @@ status-all: ## Show all networks + services status
@$(MAKE) -s service-status
@echo ""
@echo "$(BOLD)Endpoints:$(RESET)"
@echo " Mainnet C-Chain: http://127.0.0.1:9630/v1/bc/C/rpc"
@echo " Testnet C-Chain: http://127.0.0.1:9640/v1/bc/C/rpc"
@echo " Devnet C-Chain: http://127.0.0.1:9650/v1/bc/C/rpc"
@echo " Mainnet C-Chain: http://127.0.0.1:9630/v1/chain/C/rpc"
@echo " Testnet C-Chain: http://127.0.0.1:9640/v1/chain/C/rpc"
@echo " Devnet C-Chain: http://127.0.0.1:9650/v1/chain/C/rpc"
@echo " Explorer: http://127.0.0.1:4000"
##@ Build
+1 -1
View File
@@ -113,7 +113,7 @@ kubectl -n lux-<net> get pods -l app=luxd
# 3. GATE — port-forward the validators and assert (read-only)
for i in 0 1 2 3 4; do kubectl -n lux-<net> port-forward pod/luxd-$i $((19650+i)):9650 & done # 9640 for testnet, 9630 for mainnet
cd e2e/dex
LUX_RPC=http://127.0.0.1:19650/v1/bc/C/rpc,...,http://127.0.0.1:19654/v1/bc/C/rpc \
LUX_RPC=http://127.0.0.1:19650/v1/chain/C/rpc,...,http://127.0.0.1:19654/v1/chain/C/rpc \
LUX_CHAIN_ID=<chainId> LUX_REQUIRE_FILL=1 ./verify.sh
```
+3 -3
View File
@@ -90,7 +90,7 @@ networks:
httpPort: 9660
stakingPort: 9661
genesisFile: ../genesis/configs/localnet/genesis.json
rpcUrl: http://127.0.0.1:9660/v1/bc/C/rpc
rpcUrl: http://127.0.0.1:9660/v1/chain/C/rpc
imageTag: latest
# Runtime template — what the `lux` CLI expands to derive every path
@@ -127,8 +127,8 @@ chains:
mainnet: 96369
testnet: 96368
devnet: 96367
rpcPath: "/v1/bc/C/rpc"
wsPath: "/v1/bc/C/ws"
rpcPath: "/v1/chain/C/rpc"
wsPath: "/v1/chain/C/ws"
genesisFile: "./genesis/configs/{env}/cchain.json"
- name: Q
+2 -2
View File
@@ -221,8 +221,8 @@ services:
ports:
- "8082:8080"
environment:
LUX_RPC_URL: http://devnet-node-1:9630/v1/bc/C/rpc
ZOO_RPC_URL: http://devnet-node-1:9630/v1/bc/zoo/rpc
LUX_RPC_URL: http://devnet-node-1:9630/v1/chain/C/rpc
ZOO_RPC_URL: http://devnet-node-1:9630/v1/chain/zoo/rpc
LOG_LEVEL: debug
networks:
- devnet
+3 -3
View File
@@ -109,8 +109,8 @@ services:
ports:
- "8083:8080"
environment:
LUX_RPC_URL: http://local-node:9630/v1/bc/C/rpc
ZOO_RPC_URL: http://local-node:9630/v1/bc/zoo/rpc
LUX_RPC_URL: http://local-node:9630/v1/chain/C/rpc
ZOO_RPC_URL: http://local-node:9630/v1/chain/zoo/rpc
LOG_LEVEL: debug
# Dev mode - faster timeouts
HEALTH_CHECK_INTERVAL: 5s
@@ -136,7 +136,7 @@ services:
command: sh -c "bin/blockscout eval 'Elixir.Explorer.ReleaseTasks.create_and_migrate()' && bin/blockscout start"
environment:
ETHEREUM_JSONRPC_VARIANT: geth
ETHEREUM_JSONRPC_HTTP_URL: http://local-node:9630/v1/bc/C/rpc
ETHEREUM_JSONRPC_HTTP_URL: http://local-node:9630/v1/chain/C/rpc
DATABASE_URL: postgresql://postgres:postgres@local-postgres:5432/local
NETWORK: Local
SUBNETWORK: C-Chain
+7 -7
View File
@@ -238,8 +238,8 @@ services:
ports:
- "8080:8080"
environment:
LUX_RPC_URL: http://mainnet-node-1:9630/v1/bc/C/rpc
ZOO_RPC_URL: http://mainnet-node-1:9630/v1/bc/zoo/rpc
LUX_RPC_URL: http://mainnet-node-1:9630/v1/chain/C/rpc
ZOO_RPC_URL: http://mainnet-node-1:9630/v1/chain/zoo/rpc
LOG_LEVEL: info
networks:
- mainnet
@@ -275,8 +275,8 @@ services:
container_name: mainnet-explorer-lux
environment:
ETHEREUM_JSONRPC_VARIANT: geth
ETHEREUM_JSONRPC_HTTP_URL: http://mainnet-node-1:9630/v1/bc/C/rpc
ETHEREUM_JSONRPC_WS_URL: ws://mainnet-node-1:9630/v1/bc/C/ws
ETHEREUM_JSONRPC_HTTP_URL: http://mainnet-node-1:9630/v1/chain/C/rpc
ETHEREUM_JSONRPC_WS_URL: ws://mainnet-node-1:9630/v1/chain/C/ws
DATABASE_URL: postgresql://postgres:postgres@mainnet-postgres:5432/explorer_lux
NETWORK: LUX
SUBNETWORK: Mainnet
@@ -292,7 +292,7 @@ services:
container_name: mainnet-explorer-zoo
environment:
ETHEREUM_JSONRPC_VARIANT: geth
ETHEREUM_JSONRPC_HTTP_URL: http://mainnet-node-1:9630/v1/bc/zoo/rpc
ETHEREUM_JSONRPC_HTTP_URL: http://mainnet-node-1:9630/v1/chain/zoo/rpc
DATABASE_URL: postgresql://postgres:postgres@mainnet-postgres:5432/explorer_zoo
NETWORK: ZOO
SUBNETWORK: Mainnet
@@ -308,7 +308,7 @@ services:
container_name: mainnet-explorer-hanzo
environment:
ETHEREUM_JSONRPC_VARIANT: geth
ETHEREUM_JSONRPC_HTTP_URL: http://mainnet-node-1:9630/v1/bc/hanzo/rpc
ETHEREUM_JSONRPC_HTTP_URL: http://mainnet-node-1:9630/v1/chain/hanzo/rpc
DATABASE_URL: postgresql://postgres:postgres@mainnet-postgres:5432/explorer_hanzo
NETWORK: HANZO
SUBNETWORK: AI Network
@@ -324,7 +324,7 @@ services:
container_name: mainnet-explorer-spc
environment:
ETHEREUM_JSONRPC_VARIANT: geth
ETHEREUM_JSONRPC_HTTP_URL: http://mainnet-node-1:9630/v1/bc/spc/rpc
ETHEREUM_JSONRPC_HTTP_URL: http://mainnet-node-1:9630/v1/chain/spc/rpc
DATABASE_URL: postgresql://postgres:postgres@mainnet-postgres:5432/explorer_spc
NETWORK: SPC
SUBNETWORK: Sparkle Pony Club
+35 -35
View File
@@ -88,9 +88,9 @@ services:
command: sh -c "bin/blockscout eval 'Elixir.Explorer.ReleaseTasks.create_and_migrate()' && bin/blockscout start"
environment:
ETHEREUM_JSONRPC_VARIANT: geth
ETHEREUM_JSONRPC_HTTP_URL: ${MAINNET_RPC}/v1/bc/C/rpc
ETHEREUM_JSONRPC_TRACE_URL: ${MAINNET_RPC}/v1/bc/C/rpc
ETHEREUM_JSONRPC_WS_URL: ${MAINNET_WS:-ws://137.184.247.245:9630}/v1/bc/C/ws
ETHEREUM_JSONRPC_HTTP_URL: ${MAINNET_RPC}/v1/chain/C/rpc
ETHEREUM_JSONRPC_TRACE_URL: ${MAINNET_RPC}/v1/chain/C/rpc
ETHEREUM_JSONRPC_WS_URL: ${MAINNET_WS:-ws://137.184.247.245:9630}/v1/chain/C/ws
DATABASE_URL: postgresql://${POSTGRES_USER:-postgres}:${POSTGRES_PASSWORD:-postgres}@postgres:5432/explorer_lux
NETWORK: LUX
SUBNETWORK: C-Chain
@@ -116,8 +116,8 @@ services:
command: sh -c "bin/blockscout eval 'Elixir.Explorer.ReleaseTasks.create_and_migrate()' && bin/blockscout start"
environment:
ETHEREUM_JSONRPC_VARIANT: geth
ETHEREUM_JSONRPC_HTTP_URL: ${MAINNET_RPC}/v1/bc/${ZOO_MAINNET_BC:-26QT4oQvjup5vhH5ifmwisH9MTeHquWgJDZC9GvynLthhVCDh9}/rpc
ETHEREUM_JSONRPC_TRACE_URL: ${MAINNET_RPC}/v1/bc/${ZOO_MAINNET_BC:-26QT4oQvjup5vhH5ifmwisH9MTeHquWgJDZC9GvynLthhVCDh9}/rpc
ETHEREUM_JSONRPC_HTTP_URL: ${MAINNET_RPC}/v1/chain/${ZOO_MAINNET_BC:-26QT4oQvjup5vhH5ifmwisH9MTeHquWgJDZC9GvynLthhVCDh9}/rpc
ETHEREUM_JSONRPC_TRACE_URL: ${MAINNET_RPC}/v1/chain/${ZOO_MAINNET_BC:-26QT4oQvjup5vhH5ifmwisH9MTeHquWgJDZC9GvynLthhVCDh9}/rpc
DATABASE_URL: postgresql://${POSTGRES_USER:-postgres}:${POSTGRES_PASSWORD:-postgres}@postgres:5432/explorer_zoo
NETWORK: Zoo
SUBNETWORK: Zoo Network
@@ -140,8 +140,8 @@ services:
command: sh -c "bin/blockscout eval 'Elixir.Explorer.ReleaseTasks.create_and_migrate()' && bin/blockscout start"
environment:
ETHEREUM_JSONRPC_VARIANT: geth
ETHEREUM_JSONRPC_HTTP_URL: ${MAINNET_RPC}/v1/bc/${HANZO_MAINNET_BC:-U846mKHnTq7KcVV3HFbXn2CnEDgPRiXDZBpFnnFkjiQGFjbhG}/rpc
ETHEREUM_JSONRPC_TRACE_URL: ${MAINNET_RPC}/v1/bc/${HANZO_MAINNET_BC:-U846mKHnTq7KcVV3HFbXn2CnEDgPRiXDZBpFnnFkjiQGFjbhG}/rpc
ETHEREUM_JSONRPC_HTTP_URL: ${MAINNET_RPC}/v1/chain/${HANZO_MAINNET_BC:-U846mKHnTq7KcVV3HFbXn2CnEDgPRiXDZBpFnnFkjiQGFjbhG}/rpc
ETHEREUM_JSONRPC_TRACE_URL: ${MAINNET_RPC}/v1/chain/${HANZO_MAINNET_BC:-U846mKHnTq7KcVV3HFbXn2CnEDgPRiXDZBpFnnFkjiQGFjbhG}/rpc
DATABASE_URL: postgresql://${POSTGRES_USER:-postgres}:${POSTGRES_PASSWORD:-postgres}@postgres:5432/explorer_hanzo
NETWORK: Hanzo
SUBNETWORK: AI Chain
@@ -164,8 +164,8 @@ services:
command: sh -c "bin/blockscout eval 'Elixir.Explorer.ReleaseTasks.create_and_migrate()' && bin/blockscout start"
environment:
ETHEREUM_JSONRPC_VARIANT: geth
ETHEREUM_JSONRPC_HTTP_URL: ${MAINNET_RPC}/v1/bc/${SPC_MAINNET_BC:-2UiqUeusJ3QJenHfXbJvoz9m2BL3sd14hrohaX1HfxtRnadMob}/rpc
ETHEREUM_JSONRPC_TRACE_URL: ${MAINNET_RPC}/v1/bc/${SPC_MAINNET_BC:-2UiqUeusJ3QJenHfXbJvoz9m2BL3sd14hrohaX1HfxtRnadMob}/rpc
ETHEREUM_JSONRPC_HTTP_URL: ${MAINNET_RPC}/v1/chain/${SPC_MAINNET_BC:-2UiqUeusJ3QJenHfXbJvoz9m2BL3sd14hrohaX1HfxtRnadMob}/rpc
ETHEREUM_JSONRPC_TRACE_URL: ${MAINNET_RPC}/v1/chain/${SPC_MAINNET_BC:-2UiqUeusJ3QJenHfXbJvoz9m2BL3sd14hrohaX1HfxtRnadMob}/rpc
DATABASE_URL: postgresql://${POSTGRES_USER:-postgres}:${POSTGRES_PASSWORD:-postgres}@postgres:5432/explorer_spc
NETWORK: SPC
SUBNETWORK: Sparkle Pony Club
@@ -188,8 +188,8 @@ services:
command: sh -c "bin/blockscout eval 'Elixir.Explorer.ReleaseTasks.create_and_migrate()' && bin/blockscout start"
environment:
ETHEREUM_JSONRPC_VARIANT: geth
ETHEREUM_JSONRPC_HTTP_URL: ${MAINNET_RPC}/v1/bc/${PARS_MAINNET_BC:-2ntyMHLYEeoaK2RePDJbFsKGQBsKFgZTWEWNCdkD74bfGEZtLF}/rpc
ETHEREUM_JSONRPC_TRACE_URL: ${MAINNET_RPC}/v1/bc/${PARS_MAINNET_BC:-2ntyMHLYEeoaK2RePDJbFsKGQBsKFgZTWEWNCdkD74bfGEZtLF}/rpc
ETHEREUM_JSONRPC_HTTP_URL: ${MAINNET_RPC}/v1/chain/${PARS_MAINNET_BC:-2ntyMHLYEeoaK2RePDJbFsKGQBsKFgZTWEWNCdkD74bfGEZtLF}/rpc
ETHEREUM_JSONRPC_TRACE_URL: ${MAINNET_RPC}/v1/chain/${PARS_MAINNET_BC:-2ntyMHLYEeoaK2RePDJbFsKGQBsKFgZTWEWNCdkD74bfGEZtLF}/rpc
DATABASE_URL: postgresql://${POSTGRES_USER:-postgres}:${POSTGRES_PASSWORD:-postgres}@postgres:5432/explorer_pars
NETWORK: Pars
SUBNETWORK: Pars Network
@@ -346,8 +346,8 @@ services:
command: sh -c "bin/blockscout eval 'Elixir.Explorer.ReleaseTasks.create_and_migrate()' && bin/blockscout start"
environment:
ETHEREUM_JSONRPC_VARIANT: geth
ETHEREUM_JSONRPC_HTTP_URL: ${TESTNET_RPC}/v1/bc/C/rpc
ETHEREUM_JSONRPC_TRACE_URL: ${TESTNET_RPC}/v1/bc/C/rpc
ETHEREUM_JSONRPC_HTTP_URL: ${TESTNET_RPC}/v1/chain/C/rpc
ETHEREUM_JSONRPC_TRACE_URL: ${TESTNET_RPC}/v1/chain/C/rpc
DATABASE_URL: postgresql://${POSTGRES_USER:-postgres}:${POSTGRES_PASSWORD:-postgres}@postgres:5432/explorer_lux_testnet
NETWORK: LUX
SUBNETWORK: Testnet C-Chain
@@ -370,8 +370,8 @@ services:
command: sh -c "bin/blockscout eval 'Elixir.Explorer.ReleaseTasks.create_and_migrate()' && bin/blockscout start"
environment:
ETHEREUM_JSONRPC_VARIANT: geth
ETHEREUM_JSONRPC_HTTP_URL: ${TESTNET_RPC}/v1/bc/${ZOO_TESTNET_BC:-2VCQEgaBuvvSDK3qbkC3khHU5zzrFxbkbZ1ecN2YejJQ21j1Bt}/rpc
ETHEREUM_JSONRPC_TRACE_URL: ${TESTNET_RPC}/v1/bc/${ZOO_TESTNET_BC:-2VCQEgaBuvvSDK3qbkC3khHU5zzrFxbkbZ1ecN2YejJQ21j1Bt}/rpc
ETHEREUM_JSONRPC_HTTP_URL: ${TESTNET_RPC}/v1/chain/${ZOO_TESTNET_BC:-2VCQEgaBuvvSDK3qbkC3khHU5zzrFxbkbZ1ecN2YejJQ21j1Bt}/rpc
ETHEREUM_JSONRPC_TRACE_URL: ${TESTNET_RPC}/v1/chain/${ZOO_TESTNET_BC:-2VCQEgaBuvvSDK3qbkC3khHU5zzrFxbkbZ1ecN2YejJQ21j1Bt}/rpc
DATABASE_URL: postgresql://${POSTGRES_USER:-postgres}:${POSTGRES_PASSWORD:-postgres}@postgres:5432/explorer_zoo_testnet
NETWORK: Zoo
SUBNETWORK: Zoo Testnet
@@ -394,8 +394,8 @@ services:
command: sh -c "bin/blockscout eval 'Elixir.Explorer.ReleaseTasks.create_and_migrate()' && bin/blockscout start"
environment:
ETHEREUM_JSONRPC_VARIANT: geth
ETHEREUM_JSONRPC_HTTP_URL: ${TESTNET_RPC}/v1/bc/${HANZO_TESTNET_BC:-2gh9VQ6inQT1JNCjGqB6S2JXauXzcqKQGFh3rNkbzmBGkoLifg}/rpc
ETHEREUM_JSONRPC_TRACE_URL: ${TESTNET_RPC}/v1/bc/${HANZO_TESTNET_BC:-2gh9VQ6inQT1JNCjGqB6S2JXauXzcqKQGFh3rNkbzmBGkoLifg}/rpc
ETHEREUM_JSONRPC_HTTP_URL: ${TESTNET_RPC}/v1/chain/${HANZO_TESTNET_BC:-2gh9VQ6inQT1JNCjGqB6S2JXauXzcqKQGFh3rNkbzmBGkoLifg}/rpc
ETHEREUM_JSONRPC_TRACE_URL: ${TESTNET_RPC}/v1/chain/${HANZO_TESTNET_BC:-2gh9VQ6inQT1JNCjGqB6S2JXauXzcqKQGFh3rNkbzmBGkoLifg}/rpc
DATABASE_URL: postgresql://${POSTGRES_USER:-postgres}:${POSTGRES_PASSWORD:-postgres}@postgres:5432/explorer_hanzo_testnet
NETWORK: Hanzo
SUBNETWORK: Hanzo Testnet
@@ -418,8 +418,8 @@ services:
command: sh -c "bin/blockscout eval 'Elixir.Explorer.ReleaseTasks.create_and_migrate()' && bin/blockscout start"
environment:
ETHEREUM_JSONRPC_VARIANT: geth
ETHEREUM_JSONRPC_HTTP_URL: ${TESTNET_RPC}/v1/bc/${SPC_TESTNET_BC:-2C3h43bgrgze7zmZBd1i9fzyzPSgcwb662sdCogvqcquthhDQk}/rpc
ETHEREUM_JSONRPC_TRACE_URL: ${TESTNET_RPC}/v1/bc/${SPC_TESTNET_BC:-2C3h43bgrgze7zmZBd1i9fzyzPSgcwb662sdCogvqcquthhDQk}/rpc
ETHEREUM_JSONRPC_HTTP_URL: ${TESTNET_RPC}/v1/chain/${SPC_TESTNET_BC:-2C3h43bgrgze7zmZBd1i9fzyzPSgcwb662sdCogvqcquthhDQk}/rpc
ETHEREUM_JSONRPC_TRACE_URL: ${TESTNET_RPC}/v1/chain/${SPC_TESTNET_BC:-2C3h43bgrgze7zmZBd1i9fzyzPSgcwb662sdCogvqcquthhDQk}/rpc
DATABASE_URL: postgresql://${POSTGRES_USER:-postgres}:${POSTGRES_PASSWORD:-postgres}@postgres:5432/explorer_spc_testnet
NETWORK: SPC
SUBNETWORK: SPC Testnet
@@ -442,8 +442,8 @@ services:
command: sh -c "bin/blockscout eval 'Elixir.Explorer.ReleaseTasks.create_and_migrate()' && bin/blockscout start"
environment:
ETHEREUM_JSONRPC_VARIANT: geth
ETHEREUM_JSONRPC_HTTP_URL: ${TESTNET_RPC}/v1/bc/${PARS_TESTNET_BC:-2EsDHJUotqGYo9dSD2RDmPhXpmFNZGV4YP15T8mqmRAtq3Upti}/rpc
ETHEREUM_JSONRPC_TRACE_URL: ${TESTNET_RPC}/v1/bc/${PARS_TESTNET_BC:-2EsDHJUotqGYo9dSD2RDmPhXpmFNZGV4YP15T8mqmRAtq3Upti}/rpc
ETHEREUM_JSONRPC_HTTP_URL: ${TESTNET_RPC}/v1/chain/${PARS_TESTNET_BC:-2EsDHJUotqGYo9dSD2RDmPhXpmFNZGV4YP15T8mqmRAtq3Upti}/rpc
ETHEREUM_JSONRPC_TRACE_URL: ${TESTNET_RPC}/v1/chain/${PARS_TESTNET_BC:-2EsDHJUotqGYo9dSD2RDmPhXpmFNZGV4YP15T8mqmRAtq3Upti}/rpc
DATABASE_URL: postgresql://${POSTGRES_USER:-postgres}:${POSTGRES_PASSWORD:-postgres}@postgres:5432/explorer_pars_testnet
NETWORK: Pars
SUBNETWORK: Pars Testnet
@@ -470,8 +470,8 @@ services:
command: sh -c "bin/blockscout eval 'Elixir.Explorer.ReleaseTasks.create_and_migrate()' && bin/blockscout start"
environment:
ETHEREUM_JSONRPC_VARIANT: geth
ETHEREUM_JSONRPC_HTTP_URL: ${DEVNET_RPC}/v1/bc/C/rpc
ETHEREUM_JSONRPC_TRACE_URL: ${DEVNET_RPC}/v1/bc/C/rpc
ETHEREUM_JSONRPC_HTTP_URL: ${DEVNET_RPC}/v1/chain/C/rpc
ETHEREUM_JSONRPC_TRACE_URL: ${DEVNET_RPC}/v1/chain/C/rpc
DATABASE_URL: postgresql://${POSTGRES_USER:-postgres}:${POSTGRES_PASSWORD:-postgres}@postgres:5432/explorer_lux_devnet
NETWORK: LUX
SUBNETWORK: Devnet C-Chain
@@ -494,8 +494,8 @@ services:
command: sh -c "bin/blockscout eval 'Elixir.Explorer.ReleaseTasks.create_and_migrate()' && bin/blockscout start"
environment:
ETHEREUM_JSONRPC_VARIANT: geth
ETHEREUM_JSONRPC_HTTP_URL: ${DEVNET_RPC}/v1/bc/${ZOO_DEVNET_BC:-XAdZgnha5if6N5FdnLupvtXbtLzYVsuekKqEcnnARRjhm4AEZ}/rpc
ETHEREUM_JSONRPC_TRACE_URL: ${DEVNET_RPC}/v1/bc/${ZOO_DEVNET_BC:-XAdZgnha5if6N5FdnLupvtXbtLzYVsuekKqEcnnARRjhm4AEZ}/rpc
ETHEREUM_JSONRPC_HTTP_URL: ${DEVNET_RPC}/v1/chain/${ZOO_DEVNET_BC:-XAdZgnha5if6N5FdnLupvtXbtLzYVsuekKqEcnnARRjhm4AEZ}/rpc
ETHEREUM_JSONRPC_TRACE_URL: ${DEVNET_RPC}/v1/chain/${ZOO_DEVNET_BC:-XAdZgnha5if6N5FdnLupvtXbtLzYVsuekKqEcnnARRjhm4AEZ}/rpc
DATABASE_URL: postgresql://${POSTGRES_USER:-postgres}:${POSTGRES_PASSWORD:-postgres}@postgres:5432/explorer_zoo_devnet
NETWORK: Zoo
SUBNETWORK: Zoo Devnet
@@ -518,8 +518,8 @@ services:
command: sh -c "bin/blockscout eval 'Elixir.Explorer.ReleaseTasks.create_and_migrate()' && bin/blockscout start"
environment:
ETHEREUM_JSONRPC_VARIANT: geth
ETHEREUM_JSONRPC_HTTP_URL: ${DEVNET_RPC}/v1/bc/${HANZO_DEVNET_BC:-2DAFG41Dn7TGH5ZDVpZb6p7YTGQCPxPGCYD9LRiTi85XZDp4He}/rpc
ETHEREUM_JSONRPC_TRACE_URL: ${DEVNET_RPC}/v1/bc/${HANZO_DEVNET_BC:-2DAFG41Dn7TGH5ZDVpZb6p7YTGQCPxPGCYD9LRiTi85XZDp4He}/rpc
ETHEREUM_JSONRPC_HTTP_URL: ${DEVNET_RPC}/v1/chain/${HANZO_DEVNET_BC:-2DAFG41Dn7TGH5ZDVpZb6p7YTGQCPxPGCYD9LRiTi85XZDp4He}/rpc
ETHEREUM_JSONRPC_TRACE_URL: ${DEVNET_RPC}/v1/chain/${HANZO_DEVNET_BC:-2DAFG41Dn7TGH5ZDVpZb6p7YTGQCPxPGCYD9LRiTi85XZDp4He}/rpc
DATABASE_URL: postgresql://${POSTGRES_USER:-postgres}:${POSTGRES_PASSWORD:-postgres}@postgres:5432/explorer_hanzo_devnet
NETWORK: Hanzo
SUBNETWORK: Hanzo Devnet
@@ -542,8 +542,8 @@ services:
command: sh -c "bin/blockscout eval 'Elixir.Explorer.ReleaseTasks.create_and_migrate()' && bin/blockscout start"
environment:
ETHEREUM_JSONRPC_VARIANT: geth
ETHEREUM_JSONRPC_HTTP_URL: ${DEVNET_RPC}/v1/bc/${SPC_DEVNET_BC:-21Uw284EpELtJYa653fwmgCDJCHAusAARSkSoKyiFydfCQoPz2}/rpc
ETHEREUM_JSONRPC_TRACE_URL: ${DEVNET_RPC}/v1/bc/${SPC_DEVNET_BC:-21Uw284EpELtJYa653fwmgCDJCHAusAARSkSoKyiFydfCQoPz2}/rpc
ETHEREUM_JSONRPC_HTTP_URL: ${DEVNET_RPC}/v1/chain/${SPC_DEVNET_BC:-21Uw284EpELtJYa653fwmgCDJCHAusAARSkSoKyiFydfCQoPz2}/rpc
ETHEREUM_JSONRPC_TRACE_URL: ${DEVNET_RPC}/v1/chain/${SPC_DEVNET_BC:-21Uw284EpELtJYa653fwmgCDJCHAusAARSkSoKyiFydfCQoPz2}/rpc
DATABASE_URL: postgresql://${POSTGRES_USER:-postgres}:${POSTGRES_PASSWORD:-postgres}@postgres:5432/explorer_spc_devnet
NETWORK: SPC
SUBNETWORK: SPC Devnet
@@ -566,8 +566,8 @@ services:
command: sh -c "bin/blockscout eval 'Elixir.Explorer.ReleaseTasks.create_and_migrate()' && bin/blockscout start"
environment:
ETHEREUM_JSONRPC_VARIANT: geth
ETHEREUM_JSONRPC_HTTP_URL: ${DEVNET_RPC}/v1/bc/${PARS_DEVNET_BC:-3dW6f5woTocMnLqDcNY73DR9TYeLEZZx6M6uVmKTb45zraGSF}/rpc
ETHEREUM_JSONRPC_TRACE_URL: ${DEVNET_RPC}/v1/bc/${PARS_DEVNET_BC:-3dW6f5woTocMnLqDcNY73DR9TYeLEZZx6M6uVmKTb45zraGSF}/rpc
ETHEREUM_JSONRPC_HTTP_URL: ${DEVNET_RPC}/v1/chain/${PARS_DEVNET_BC:-3dW6f5woTocMnLqDcNY73DR9TYeLEZZx6M6uVmKTb45zraGSF}/rpc
ETHEREUM_JSONRPC_TRACE_URL: ${DEVNET_RPC}/v1/chain/${PARS_DEVNET_BC:-3dW6f5woTocMnLqDcNY73DR9TYeLEZZx6M6uVmKTb45zraGSF}/rpc
DATABASE_URL: postgresql://${POSTGRES_USER:-postgres}:${POSTGRES_PASSWORD:-postgres}@postgres:5432/explorer_pars_devnet
NETWORK: Pars
SUBNETWORK: Pars Devnet
@@ -615,7 +615,7 @@ services:
postgres_pass: ${POSTGRES_PASSWORD:-postgres}
postgres_db: graph_node
ipfs: ipfs:5001
ethereum: "lux:${MAINNET_RPC}/v1/bc/C/rpc"
ethereum: "lux:${MAINNET_RPC}/v1/chain/C/rpc"
GRAPH_LOG: info
ports:
- "8000:8000"
@@ -641,7 +641,7 @@ services:
environment:
NODE_ENV: production
NEXT_PUBLIC_CHAIN_ID: "96369"
NEXT_PUBLIC_NETWORK_URL: ${MAINNET_RPC}/v1/bc/C/rpc
NEXT_PUBLIC_NETWORK_URL: ${MAINNET_RPC}/v1/chain/C/rpc
NEXT_PUBLIC_EXPLORER_URL: https://explorer.lux.network
networks:
- services
@@ -656,7 +656,7 @@ services:
environment:
NODE_ENV: production
NEXT_PUBLIC_CHAIN_ID: "96369"
NEXT_PUBLIC_RPC_URL: ${MAINNET_RPC}/v1/bc/C/rpc
NEXT_PUBLIC_RPC_URL: ${MAINNET_RPC}/v1/chain/C/rpc
NEXT_PUBLIC_EXPLORER_URL: https://explorer.lux.network
networks:
- services
@@ -671,7 +671,7 @@ services:
environment:
NODE_ENV: production
NEXT_PUBLIC_CHAIN_ID: "96369"
NEXT_PUBLIC_RPC_URL: ${MAINNET_RPC}/v1/bc/C/rpc
NEXT_PUBLIC_RPC_URL: ${MAINNET_RPC}/v1/chain/C/rpc
networks:
- services
+7 -7
View File
@@ -236,8 +236,8 @@ services:
ports:
- "8081:8080"
environment:
LUX_RPC_URL: http://testnet-node-1:9630/v1/bc/C/rpc
ZOO_RPC_URL: http://testnet-node-1:9630/v1/bc/zoo/rpc
LUX_RPC_URL: http://testnet-node-1:9630/v1/chain/C/rpc
ZOO_RPC_URL: http://testnet-node-1:9630/v1/chain/zoo/rpc
LOG_LEVEL: info
networks:
- testnet
@@ -273,8 +273,8 @@ services:
container_name: testnet-explorer-lux
environment:
ETHEREUM_JSONRPC_VARIANT: geth
ETHEREUM_JSONRPC_HTTP_URL: http://testnet-node-1:9630/v1/bc/C/rpc
ETHEREUM_JSONRPC_WS_URL: ws://testnet-node-1:9630/v1/bc/C/ws
ETHEREUM_JSONRPC_HTTP_URL: http://testnet-node-1:9630/v1/chain/C/rpc
ETHEREUM_JSONRPC_WS_URL: ws://testnet-node-1:9630/v1/chain/C/ws
DATABASE_URL: postgresql://postgres:postgres@testnet-postgres:5432/explorer_lux
NETWORK: LUX
SUBNETWORK: Testnet
@@ -290,7 +290,7 @@ services:
container_name: testnet-explorer-zoo
environment:
ETHEREUM_JSONRPC_VARIANT: geth
ETHEREUM_JSONRPC_HTTP_URL: http://testnet-node-1:9630/v1/bc/zoo/rpc
ETHEREUM_JSONRPC_HTTP_URL: http://testnet-node-1:9630/v1/chain/zoo/rpc
DATABASE_URL: postgresql://postgres:postgres@testnet-postgres:5432/explorer_zoo
NETWORK: ZOO
SUBNETWORK: Testnet
@@ -306,7 +306,7 @@ services:
container_name: testnet-explorer-hanzo
environment:
ETHEREUM_JSONRPC_VARIANT: geth
ETHEREUM_JSONRPC_HTTP_URL: http://testnet-node-1:9630/v1/bc/hanzo/rpc
ETHEREUM_JSONRPC_HTTP_URL: http://testnet-node-1:9630/v1/chain/hanzo/rpc
DATABASE_URL: postgresql://postgres:postgres@testnet-postgres:5432/explorer_hanzo
NETWORK: HANZO
SUBNETWORK: AI Network Testnet
@@ -322,7 +322,7 @@ services:
container_name: testnet-explorer-spc
environment:
ETHEREUM_JSONRPC_VARIANT: geth
ETHEREUM_JSONRPC_HTTP_URL: http://testnet-node-1:9630/v1/bc/spc/rpc
ETHEREUM_JSONRPC_HTTP_URL: http://testnet-node-1:9630/v1/chain/spc/rpc
DATABASE_URL: postgresql://postgres:postgres@testnet-postgres:5432/explorer_spc
NETWORK: SPC
SUBNETWORK: Sparkle Pony Club Testnet
+17 -17
View File
@@ -377,9 +377,9 @@ services:
command: sh -c "bin/blockscout eval 'Elixir.Explorer.ReleaseTasks.create_and_migrate()' && bin/blockscout start"
environment:
ETHEREUM_JSONRPC_VARIANT: geth
ETHEREUM_JSONRPC_HTTP_URL: http://lux-node-1:9630/v1/bc/C/rpc
ETHEREUM_JSONRPC_TRACE_URL: http://lux-node-1:9630/v1/bc/C/rpc
ETHEREUM_JSONRPC_WS_URL: ws://lux-node-1:9630/v1/bc/C/ws
ETHEREUM_JSONRPC_HTTP_URL: http://lux-node-1:9630/v1/chain/C/rpc
ETHEREUM_JSONRPC_TRACE_URL: http://lux-node-1:9630/v1/chain/C/rpc
ETHEREUM_JSONRPC_WS_URL: ws://lux-node-1:9630/v1/chain/C/ws
DATABASE_URL: postgresql://${POSTGRES_USER:-postgres}:${POSTGRES_PASSWORD:-postgres}@postgres:5432/explorer_lux
NETWORK: LUX
SUBNETWORK: C-Chain
@@ -414,9 +414,9 @@ services:
command: sh -c "bin/blockscout eval 'Elixir.Explorer.ReleaseTasks.create_and_migrate()' && bin/blockscout start"
environment:
ETHEREUM_JSONRPC_VARIANT: geth
ETHEREUM_JSONRPC_HTTP_URL: http://lux-node-1:9630/v1/bc/${ZOO_BLOCKCHAIN_ID:-zoo}/rpc
ETHEREUM_JSONRPC_TRACE_URL: http://lux-node-1:9630/v1/bc/${ZOO_BLOCKCHAIN_ID:-zoo}/rpc
ETHEREUM_JSONRPC_WS_URL: ws://lux-node-1:9630/v1/bc/${ZOO_BLOCKCHAIN_ID:-zoo}/ws
ETHEREUM_JSONRPC_HTTP_URL: http://lux-node-1:9630/v1/chain/${ZOO_BLOCKCHAIN_ID:-zoo}/rpc
ETHEREUM_JSONRPC_TRACE_URL: http://lux-node-1:9630/v1/chain/${ZOO_BLOCKCHAIN_ID:-zoo}/rpc
ETHEREUM_JSONRPC_WS_URL: ws://lux-node-1:9630/v1/chain/${ZOO_BLOCKCHAIN_ID:-zoo}/ws
DATABASE_URL: postgresql://${POSTGRES_USER:-postgres}:${POSTGRES_PASSWORD:-postgres}@postgres:5432/explorer_zoo
NETWORK: Zoo
SUBNETWORK: Zoo Network
@@ -451,9 +451,9 @@ services:
command: sh -c "bin/blockscout eval 'Elixir.Explorer.ReleaseTasks.create_and_migrate()' && bin/blockscout start"
environment:
ETHEREUM_JSONRPC_VARIANT: geth
ETHEREUM_JSONRPC_HTTP_URL: http://lux-node-1:9630/v1/bc/${HANZO_BLOCKCHAIN_ID:-hanzo}/rpc
ETHEREUM_JSONRPC_TRACE_URL: http://lux-node-1:9630/v1/bc/${HANZO_BLOCKCHAIN_ID:-hanzo}/rpc
ETHEREUM_JSONRPC_WS_URL: ws://lux-node-1:9630/v1/bc/${HANZO_BLOCKCHAIN_ID:-hanzo}/ws
ETHEREUM_JSONRPC_HTTP_URL: http://lux-node-1:9630/v1/chain/${HANZO_BLOCKCHAIN_ID:-hanzo}/rpc
ETHEREUM_JSONRPC_TRACE_URL: http://lux-node-1:9630/v1/chain/${HANZO_BLOCKCHAIN_ID:-hanzo}/rpc
ETHEREUM_JSONRPC_WS_URL: ws://lux-node-1:9630/v1/chain/${HANZO_BLOCKCHAIN_ID:-hanzo}/ws
DATABASE_URL: postgresql://${POSTGRES_USER:-postgres}:${POSTGRES_PASSWORD:-postgres}@postgres:5432/explorer_hanzo
NETWORK: Hanzo
SUBNETWORK: AI Chain
@@ -495,7 +495,7 @@ services:
postgres_pass: ${POSTGRES_PASSWORD:-postgres}
postgres_db: graph_node
ipfs: ipfs:5001
ethereum: "lux:http://lux-node-1:9630/v1/bc/C/rpc"
ethereum: "lux:http://lux-node-1:9630/v1/chain/C/rpc"
GRAPH_LOG: ${GRAPH_LOG:-info}
GRAPH_ETHEREUM_CLEANUP_BLOCKS: "true"
ports:
@@ -528,7 +528,7 @@ services:
- indexers
command: ["-chain", "pchain", "-port", "4000"]
environment:
RPC_ENDPOINT: http://lux-node-1:9630/v1/bc/P
RPC_ENDPOINT: http://lux-node-1:9630/v1/chain/P
DATABASE_URL: postgresql://${POSTGRES_USER:-postgres}:${POSTGRES_PASSWORD:-postgres}@postgres:5432/explorer_pchain?sslmode=disable
HTTP_PORT: 4000
ports:
@@ -557,7 +557,7 @@ services:
- indexers
command: ["-chain", "xchain", "-port", "4000"]
environment:
RPC_ENDPOINT: http://lux-node-1:9630/v1/bc/X
RPC_ENDPOINT: http://lux-node-1:9630/v1/chain/X
DATABASE_URL: postgresql://${POSTGRES_USER:-postgres}:${POSTGRES_PASSWORD:-postgres}@postgres:5432/explorer_xchain?sslmode=disable
HTTP_PORT: 4000
ports:
@@ -690,7 +690,7 @@ services:
environment:
NODE_ENV: production
NEXT_PUBLIC_CHAIN_ID: ${LUX_CHAIN_ID:-96369}
NEXT_PUBLIC_NETWORK_URL: http://lux-node-1:9630/v1/bc/C/rpc
NEXT_PUBLIC_NETWORK_URL: http://lux-node-1:9630/v1/chain/C/rpc
NEXT_PUBLIC_EXPLORER_URL: http://localhost:${LUX_EXPLORER_PORT:-4010}
networks:
- lux-network
@@ -711,8 +711,8 @@ services:
ports:
- "${LXD_GATEWAY_PORT:-8080}:8080"
environment:
LUX_RPC_URL: http://lux-node-1:9630/v1/bc/C/rpc
ZOO_RPC_URL: http://lux-node-1:9630/v1/bc/Zoo/rpc
LUX_RPC_URL: http://lux-node-1:9630/v1/chain/C/rpc
ZOO_RPC_URL: http://lux-node-1:9630/v1/chain/Zoo/rpc
LOG_LEVEL: info
networks:
- lux-network
@@ -737,7 +737,7 @@ services:
environment:
NODE_ENV: production
NEXT_PUBLIC_CHAIN_ID: ${LUX_CHAIN_ID:-96369}
NEXT_PUBLIC_RPC_URL: http://localhost:${NODE1_HTTP_PORT:-9630}/v1/bc/C/rpc
NEXT_PUBLIC_RPC_URL: http://localhost:${NODE1_HTTP_PORT:-9630}/v1/chain/C/rpc
NEXT_PUBLIC_EXPLORER_URL: http://localhost:${LUX_EXPLORER_PORT:-4010}
networks:
- lux-network
@@ -757,7 +757,7 @@ services:
environment:
NODE_ENV: production
NEXT_PUBLIC_CHAIN_ID: ${LUX_CHAIN_ID:-96369}
NEXT_PUBLIC_RPC_URL: http://localhost:${NODE1_HTTP_PORT:-9630}/v1/bc/C/rpc
NEXT_PUBLIC_RPC_URL: http://localhost:${NODE1_HTTP_PORT:-9630}/v1/chain/C/rpc
networks:
- lux-network
depends_on:
+10 -10
View File
@@ -59,7 +59,7 @@
},
"endpoints": [
{
"endpoint": "/v1/bc/C/rpc",
"endpoint": "/v1/chain/C/rpc",
"method": "POST",
"input_headers": [
"Content-Type",
@@ -68,7 +68,7 @@
"output_encoding": "no-op",
"backend": [
{
"url_pattern": "/v1/bc/C/rpc",
"url_pattern": "/v1/chain/C/rpc",
"host": [
"http://luxd-headless.lux-devnet.svc.cluster.local:9650"
],
@@ -85,7 +85,7 @@
}
},
{
"endpoint": "/v1/bc/C/ws",
"endpoint": "/v1/chain/C/ws",
"method": "GET",
"input_headers": [
"Content-Type",
@@ -94,7 +94,7 @@
"output_encoding": "no-op",
"backend": [
{
"url_pattern": "/v1/bc/C/ws",
"url_pattern": "/v1/chain/C/ws",
"host": [
"http://luxd-headless.lux-devnet.svc.cluster.local:9650"
],
@@ -110,7 +110,7 @@
}
},
{
"endpoint": "/v1/bc/X",
"endpoint": "/v1/chain/X",
"method": "POST",
"input_headers": [
"Content-Type",
@@ -119,7 +119,7 @@
"output_encoding": "no-op",
"backend": [
{
"url_pattern": "/v1/bc/X",
"url_pattern": "/v1/chain/X",
"host": [
"http://luxd-headless.lux-devnet.svc.cluster.local:9650"
],
@@ -136,7 +136,7 @@
}
},
{
"endpoint": "/v1/bc/P",
"endpoint": "/v1/chain/P",
"method": "POST",
"input_headers": [
"Content-Type",
@@ -145,7 +145,7 @@
"output_encoding": "no-op",
"backend": [
{
"url_pattern": "/v1/bc/P",
"url_pattern": "/v1/chain/P",
"host": [
"http://luxd-headless.lux-devnet.svc.cluster.local:9650"
],
@@ -162,7 +162,7 @@
}
},
{
"endpoint": "/v1/bc/exchange",
"endpoint": "/v1/chain/exchange",
"method": "POST",
"input_headers": [
"Content-Type",
@@ -171,7 +171,7 @@
"output_encoding": "no-op",
"backend": [
{
"url_pattern": "/v1/bc/exchange",
"url_pattern": "/v1/chain/exchange",
"host": [
"http://luxd-headless.lux-devnet.svc.cluster.local:9650"
],
+52 -52
View File
@@ -2,7 +2,7 @@
"cache_ttl": "0s",
"endpoints": [
{
"endpoint": "/v1/bc/C/rpc",
"endpoint": "/v1/chain/C/rpc",
"method": "POST",
"output_encoding": "no-op",
"extra_config": {
@@ -19,12 +19,12 @@
"host": [
"http://luxd-headless.lux-mainnet.svc:9630"
],
"url_pattern": "/v1/bc/C/rpc"
"url_pattern": "/v1/chain/C/rpc"
}
]
},
{
"endpoint": "/v1/bc/C/ws",
"endpoint": "/v1/chain/C/ws",
"output_encoding": "no-op",
"extra_config": {
"qos/ratelimit/router": {
@@ -39,12 +39,12 @@
"host": [
"http://luxd-headless.lux-mainnet.svc:9630"
],
"url_pattern": "/v1/bc/C/ws"
"url_pattern": "/v1/chain/C/ws"
}
]
},
{
"endpoint": "/v1/bc/X",
"endpoint": "/v1/chain/X",
"method": "POST",
"output_encoding": "no-op",
"extra_config": {
@@ -61,12 +61,12 @@
"host": [
"http://luxd-headless.lux-mainnet.svc:9630"
],
"url_pattern": "/v1/bc/X"
"url_pattern": "/v1/chain/X"
}
]
},
{
"endpoint": "/v1/bc/P",
"endpoint": "/v1/chain/P",
"method": "POST",
"output_encoding": "no-op",
"extra_config": {
@@ -83,7 +83,7 @@
"host": [
"http://luxd-headless.lux-mainnet.svc:9630"
],
"url_pattern": "/v1/bc/P"
"url_pattern": "/v1/chain/P"
}
]
},
@@ -105,7 +105,7 @@
"host": [
"http://luxd-headless.lux-mainnet.svc:9630"
],
"url_pattern": "/v1/bc/P"
"url_pattern": "/v1/chain/P"
}
]
},
@@ -127,7 +127,7 @@
"host": [
"http://luxd-headless.lux-mainnet.svc:9630"
],
"url_pattern": "/v1/bc/X"
"url_pattern": "/v1/chain/X"
}
]
},
@@ -299,7 +299,7 @@
}
},
{
"endpoint": "/v1/bc/2Y625Kvdd4wZ5LKx9kLSf1jGALyARmXVN1YsTb4F3Hzv4bPDbp/rpc",
"endpoint": "/v1/chain/2Y625Kvdd4wZ5LKx9kLSf1jGALyARmXVN1YsTb4F3Hzv4bPDbp/rpc",
"method": "POST",
"output_encoding": "no-op",
"backend": [
@@ -309,7 +309,7 @@
"http://luxd-headless.lux-mainnet.svc:9630"
],
"timeout": "30s",
"url_pattern": "/v1/bc/2Y625Kvdd4wZ5LKx9kLSf1jGALyARmXVN1YsTb4F3Hzv4bPDbp/rpc"
"url_pattern": "/v1/chain/2Y625Kvdd4wZ5LKx9kLSf1jGALyARmXVN1YsTb4F3Hzv4bPDbp/rpc"
}
],
"extra_config": {
@@ -322,7 +322,7 @@
}
},
{
"endpoint": "/v1/bc/zoo/rpc",
"endpoint": "/v1/chain/zoo/rpc",
"method": "POST",
"output_encoding": "no-op",
"backend": [
@@ -332,7 +332,7 @@
"http://luxd-headless.lux-mainnet.svc:9630"
],
"timeout": "30s",
"url_pattern": "/v1/bc/zoo/rpc"
"url_pattern": "/v1/chain/zoo/rpc"
}
],
"extra_config": {
@@ -345,7 +345,7 @@
}
},
{
"endpoint": "/v1/bc/2Y625Kvdd4wZ5LKx9kLSf1jGALyARmXVN1YsTb4F3Hzv4bPDbp/ws",
"endpoint": "/v1/chain/2Y625Kvdd4wZ5LKx9kLSf1jGALyARmXVN1YsTb4F3Hzv4bPDbp/ws",
"output_encoding": "no-op",
"backend": [
{
@@ -354,7 +354,7 @@
"http://luxd-headless.lux-mainnet.svc:9630"
],
"timeout": "60s",
"url_pattern": "/v1/bc/2Y625Kvdd4wZ5LKx9kLSf1jGALyARmXVN1YsTb4F3Hzv4bPDbp/ws"
"url_pattern": "/v1/chain/2Y625Kvdd4wZ5LKx9kLSf1jGALyARmXVN1YsTb4F3Hzv4bPDbp/ws"
}
],
"extra_config": {
@@ -366,7 +366,7 @@
}
},
{
"endpoint": "/v1/bc/2GiQb73CeJESjc4omFv2YtQHZrRgJf25NXPzAr5J6UNHRcDV2F/rpc",
"endpoint": "/v1/chain/2GiQb73CeJESjc4omFv2YtQHZrRgJf25NXPzAr5J6UNHRcDV2F/rpc",
"method": "POST",
"output_encoding": "no-op",
"backend": [
@@ -376,7 +376,7 @@
"http://luxd-headless.lux-mainnet.svc:9630"
],
"timeout": "30s",
"url_pattern": "/v1/bc/2GiQb73CeJESjc4omFv2YtQHZrRgJf25NXPzAr5J6UNHRcDV2F/rpc"
"url_pattern": "/v1/chain/2GiQb73CeJESjc4omFv2YtQHZrRgJf25NXPzAr5J6UNHRcDV2F/rpc"
}
],
"extra_config": {
@@ -389,7 +389,7 @@
}
},
{
"endpoint": "/v1/bc/hanzo/rpc",
"endpoint": "/v1/chain/hanzo/rpc",
"method": "POST",
"output_encoding": "no-op",
"backend": [
@@ -399,7 +399,7 @@
"http://luxd-headless.lux-mainnet.svc:9630"
],
"timeout": "30s",
"url_pattern": "/v1/bc/hanzo/rpc"
"url_pattern": "/v1/chain/hanzo/rpc"
}
],
"extra_config": {
@@ -412,7 +412,7 @@
}
},
{
"endpoint": "/v1/bc/2GiQb73CeJESjc4omFv2YtQHZrRgJf25NXPzAr5J6UNHRcDV2F/ws",
"endpoint": "/v1/chain/2GiQb73CeJESjc4omFv2YtQHZrRgJf25NXPzAr5J6UNHRcDV2F/ws",
"output_encoding": "no-op",
"backend": [
{
@@ -421,7 +421,7 @@
"http://luxd-headless.lux-mainnet.svc:9630"
],
"timeout": "60s",
"url_pattern": "/v1/bc/2GiQb73CeJESjc4omFv2YtQHZrRgJf25NXPzAr5J6UNHRcDV2F/ws"
"url_pattern": "/v1/chain/2GiQb73CeJESjc4omFv2YtQHZrRgJf25NXPzAr5J6UNHRcDV2F/ws"
}
],
"extra_config": {
@@ -433,7 +433,7 @@
}
},
{
"endpoint": "/v1/bc/rtjwvtE1tEvrokmpeYdTq7b2zqZgmybKwR5MLjKMGAR1W78dQ/rpc",
"endpoint": "/v1/chain/rtjwvtE1tEvrokmpeYdTq7b2zqZgmybKwR5MLjKMGAR1W78dQ/rpc",
"method": "POST",
"output_encoding": "no-op",
"backend": [
@@ -443,7 +443,7 @@
"http://luxd-headless.lux-mainnet.svc:9630"
],
"timeout": "30s",
"url_pattern": "/v1/bc/rtjwvtE1tEvrokmpeYdTq7b2zqZgmybKwR5MLjKMGAR1W78dQ/rpc"
"url_pattern": "/v1/chain/rtjwvtE1tEvrokmpeYdTq7b2zqZgmybKwR5MLjKMGAR1W78dQ/rpc"
}
],
"extra_config": {
@@ -456,7 +456,7 @@
}
},
{
"endpoint": "/v1/bc/spc/rpc",
"endpoint": "/v1/chain/spc/rpc",
"method": "POST",
"output_encoding": "no-op",
"backend": [
@@ -466,7 +466,7 @@
"http://luxd-headless.lux-mainnet.svc:9630"
],
"timeout": "30s",
"url_pattern": "/v1/bc/spc/rpc"
"url_pattern": "/v1/chain/spc/rpc"
}
],
"extra_config": {
@@ -479,7 +479,7 @@
}
},
{
"endpoint": "/v1/bc/rtjwvtE1tEvrokmpeYdTq7b2zqZgmybKwR5MLjKMGAR1W78dQ/ws",
"endpoint": "/v1/chain/rtjwvtE1tEvrokmpeYdTq7b2zqZgmybKwR5MLjKMGAR1W78dQ/ws",
"output_encoding": "no-op",
"backend": [
{
@@ -488,7 +488,7 @@
"http://luxd-headless.lux-mainnet.svc:9630"
],
"timeout": "60s",
"url_pattern": "/v1/bc/rtjwvtE1tEvrokmpeYdTq7b2zqZgmybKwR5MLjKMGAR1W78dQ/ws"
"url_pattern": "/v1/chain/rtjwvtE1tEvrokmpeYdTq7b2zqZgmybKwR5MLjKMGAR1W78dQ/ws"
}
],
"extra_config": {
@@ -500,7 +500,7 @@
}
},
{
"endpoint": "/v1/bc/2pUskxqaL5Bpx7uRUGG1fDjPckjxQ4UKX4sLKeaS1NdSVBJd3F/rpc",
"endpoint": "/v1/chain/2pUskxqaL5Bpx7uRUGG1fDjPckjxQ4UKX4sLKeaS1NdSVBJd3F/rpc",
"method": "POST",
"output_encoding": "no-op",
"backend": [
@@ -510,7 +510,7 @@
"http://luxd-headless.lux-mainnet.svc:9630"
],
"timeout": "30s",
"url_pattern": "/v1/bc/2pUskxqaL5Bpx7uRUGG1fDjPckjxQ4UKX4sLKeaS1NdSVBJd3F/rpc"
"url_pattern": "/v1/chain/2pUskxqaL5Bpx7uRUGG1fDjPckjxQ4UKX4sLKeaS1NdSVBJd3F/rpc"
}
],
"extra_config": {
@@ -523,7 +523,7 @@
}
},
{
"endpoint": "/v1/bc/pars/rpc",
"endpoint": "/v1/chain/pars/rpc",
"method": "POST",
"output_encoding": "no-op",
"backend": [
@@ -533,7 +533,7 @@
"http://luxd-headless.lux-mainnet.svc:9630"
],
"timeout": "30s",
"url_pattern": "/v1/bc/pars/rpc"
"url_pattern": "/v1/chain/pars/rpc"
}
],
"extra_config": {
@@ -546,7 +546,7 @@
}
},
{
"endpoint": "/v1/bc/2pUskxqaL5Bpx7uRUGG1fDjPckjxQ4UKX4sLKeaS1NdSVBJd3F/ws",
"endpoint": "/v1/chain/2pUskxqaL5Bpx7uRUGG1fDjPckjxQ4UKX4sLKeaS1NdSVBJd3F/ws",
"output_encoding": "no-op",
"backend": [
{
@@ -555,7 +555,7 @@
"http://luxd-headless.lux-mainnet.svc:9630"
],
"timeout": "60s",
"url_pattern": "/v1/bc/2pUskxqaL5Bpx7uRUGG1fDjPckjxQ4UKX4sLKeaS1NdSVBJd3F/ws"
"url_pattern": "/v1/chain/2pUskxqaL5Bpx7uRUGG1fDjPckjxQ4UKX4sLKeaS1NdSVBJd3F/ws"
}
],
"extra_config": {
@@ -567,7 +567,7 @@
}
},
{
"endpoint": "/v1/bc/Q/rpc",
"endpoint": "/v1/chain/Q/rpc",
"method": "POST",
"output_encoding": "no-op",
"extra_config": {
@@ -584,13 +584,13 @@
"host": [
"http://luxd-headless.lux-mainnet.svc:9630"
],
"url_pattern": "/v1/bc/Q/rpc",
"url_pattern": "/v1/chain/Q/rpc",
"timeout": "30s"
}
]
},
{
"endpoint": "/v1/bc/Q/ws",
"endpoint": "/v1/chain/Q/ws",
"output_encoding": "no-op",
"backend": [
{
@@ -598,7 +598,7 @@
"host": [
"http://luxd-headless.lux-mainnet.svc:9630"
],
"url_pattern": "/v1/bc/Q/ws",
"url_pattern": "/v1/chain/Q/ws",
"timeout": "60s"
}
],
@@ -611,7 +611,7 @@
}
},
{
"endpoint": "/v1/bc/Z/rpc",
"endpoint": "/v1/chain/Z/rpc",
"method": "POST",
"output_encoding": "no-op",
"extra_config": {
@@ -628,13 +628,13 @@
"host": [
"http://luxd-headless.lux-mainnet.svc:9630"
],
"url_pattern": "/v1/bc/Z/rpc",
"url_pattern": "/v1/chain/Z/rpc",
"timeout": "30s"
}
]
},
{
"endpoint": "/v1/bc/Z/ws",
"endpoint": "/v1/chain/Z/ws",
"output_encoding": "no-op",
"backend": [
{
@@ -642,7 +642,7 @@
"host": [
"http://luxd-headless.lux-mainnet.svc:9630"
],
"url_pattern": "/v1/bc/Z/ws",
"url_pattern": "/v1/chain/Z/ws",
"timeout": "60s"
}
],
@@ -655,7 +655,7 @@
}
},
{
"endpoint": "/v1/bc/T/rpc",
"endpoint": "/v1/chain/T/rpc",
"method": "POST",
"output_encoding": "no-op",
"extra_config": {
@@ -672,13 +672,13 @@
"host": [
"http://luxd-headless.lux-mainnet.svc:9630"
],
"url_pattern": "/v1/bc/T/rpc",
"url_pattern": "/v1/chain/T/rpc",
"timeout": "30s"
}
]
},
{
"endpoint": "/v1/bc/T/ws",
"endpoint": "/v1/chain/T/ws",
"output_encoding": "no-op",
"backend": [
{
@@ -686,7 +686,7 @@
"host": [
"http://luxd-headless.lux-mainnet.svc:9630"
],
"url_pattern": "/v1/bc/T/ws",
"url_pattern": "/v1/chain/T/ws",
"timeout": "60s"
}
],
@@ -699,7 +699,7 @@
}
},
{
"endpoint": "/v1/bc/A/rpc",
"endpoint": "/v1/chain/A/rpc",
"method": "POST",
"output_encoding": "no-op",
"extra_config": {
@@ -716,13 +716,13 @@
"host": [
"http://luxd-headless.lux-mainnet.svc:9630"
],
"url_pattern": "/v1/bc/A/rpc",
"url_pattern": "/v1/chain/A/rpc",
"timeout": "30s"
}
]
},
{
"endpoint": "/v1/bc/A/ws",
"endpoint": "/v1/chain/A/ws",
"output_encoding": "no-op",
"backend": [
{
@@ -730,7 +730,7 @@
"host": [
"http://luxd-headless.lux-mainnet.svc:9630"
],
"url_pattern": "/v1/bc/A/ws",
"url_pattern": "/v1/chain/A/ws",
"timeout": "60s"
}
],
@@ -743,7 +743,7 @@
}
},
{
"endpoint": "/v1/bc/D/rpc",
"endpoint": "/v1/chain/D/rpc",
"method": "POST",
"output_encoding": "no-op",
"extra_config": {
@@ -760,7 +760,7 @@
"host": [
"http://luxd-headless.lux-mainnet.svc:9630"
],
"url_pattern": "/v1/bc/D/rpc",
"url_pattern": "/v1/chain/D/rpc",
"timeout": "30s"
}
]
+10 -10
View File
@@ -59,7 +59,7 @@
},
"endpoints": [
{
"endpoint": "/v1/bc/C/rpc",
"endpoint": "/v1/chain/C/rpc",
"method": "POST",
"input_headers": [
"Content-Type",
@@ -68,7 +68,7 @@
"output_encoding": "no-op",
"backend": [
{
"url_pattern": "/v1/bc/C/rpc",
"url_pattern": "/v1/chain/C/rpc",
"host": [
"http://luxd-headless.lux-testnet.svc.cluster.local:9640"
],
@@ -85,7 +85,7 @@
}
},
{
"endpoint": "/v1/bc/C/ws",
"endpoint": "/v1/chain/C/ws",
"method": "GET",
"input_headers": [
"Content-Type",
@@ -94,7 +94,7 @@
"output_encoding": "no-op",
"backend": [
{
"url_pattern": "/v1/bc/C/ws",
"url_pattern": "/v1/chain/C/ws",
"host": [
"http://luxd-headless.lux-testnet.svc.cluster.local:9640"
],
@@ -110,7 +110,7 @@
}
},
{
"endpoint": "/v1/bc/X",
"endpoint": "/v1/chain/X",
"method": "POST",
"input_headers": [
"Content-Type",
@@ -119,7 +119,7 @@
"output_encoding": "no-op",
"backend": [
{
"url_pattern": "/v1/bc/X",
"url_pattern": "/v1/chain/X",
"host": [
"http://luxd-headless.lux-testnet.svc.cluster.local:9640"
],
@@ -136,7 +136,7 @@
}
},
{
"endpoint": "/v1/bc/P",
"endpoint": "/v1/chain/P",
"method": "POST",
"input_headers": [
"Content-Type",
@@ -145,7 +145,7 @@
"output_encoding": "no-op",
"backend": [
{
"url_pattern": "/v1/bc/P",
"url_pattern": "/v1/chain/P",
"host": [
"http://luxd-headless.lux-testnet.svc.cluster.local:9640"
],
@@ -162,7 +162,7 @@
}
},
{
"endpoint": "/v1/bc/exchange",
"endpoint": "/v1/chain/exchange",
"method": "POST",
"input_headers": [
"Content-Type",
@@ -171,7 +171,7 @@
"output_encoding": "no-op",
"backend": [
{
"url_pattern": "/v1/bc/exchange",
"url_pattern": "/v1/chain/exchange",
"host": [
"http://luxd-headless.lux-testnet.svc.cluster.local:9640"
],
+110 -110
View File
@@ -60,12 +60,12 @@
},
"endpoints": [
{
"endpoint": "/v1/bc/C/rpc",
"endpoint": "/v1/chain/C/rpc",
"method": "POST",
"output_encoding": "no-op",
"backend": [
{
"url_pattern": "/v1/bc/C/rpc",
"url_pattern": "/v1/chain/C/rpc",
"host": [
"http://luxd-headless.lux-mainnet.svc.cluster.local:9630"
],
@@ -82,11 +82,11 @@
}
},
{
"endpoint": "/v1/bc/C/ws",
"endpoint": "/v1/chain/C/ws",
"output_encoding": "no-op",
"backend": [
{
"url_pattern": "/v1/bc/C/ws",
"url_pattern": "/v1/chain/C/ws",
"host": [
"http://luxd-headless.lux-mainnet.svc.cluster.local:9630"
],
@@ -102,12 +102,12 @@
}
},
{
"endpoint": "/v1/bc/P",
"endpoint": "/v1/chain/P",
"method": "POST",
"output_encoding": "no-op",
"backend": [
{
"url_pattern": "/v1/bc/P",
"url_pattern": "/v1/chain/P",
"host": [
"http://luxd-headless.lux-mainnet.svc.cluster.local:9630"
],
@@ -124,12 +124,12 @@
}
},
{
"endpoint": "/v1/bc/X",
"endpoint": "/v1/chain/X",
"method": "POST",
"output_encoding": "no-op",
"backend": [
{
"url_pattern": "/v1/bc/X",
"url_pattern": "/v1/chain/X",
"host": [
"http://luxd-headless.lux-mainnet.svc.cluster.local:9630"
],
@@ -146,12 +146,12 @@
}
},
{
"endpoint": "/v1/bc/exchange",
"endpoint": "/v1/chain/exchange",
"method": "POST",
"output_encoding": "no-op",
"backend": [
{
"url_pattern": "/v1/bc/X",
"url_pattern": "/v1/chain/X",
"host": [
"http://luxd-headless.lux-mainnet.svc.cluster.local:9630"
],
@@ -168,12 +168,12 @@
}
},
{
"endpoint": "/v1/bc/D/rpc",
"endpoint": "/v1/chain/D/rpc",
"method": "POST",
"output_encoding": "no-op",
"backend": [
{
"url_pattern": "/v1/bc/D/rpc",
"url_pattern": "/v1/chain/D/rpc",
"host": [
"http://luxd-headless.lux-mainnet.svc.cluster.local:9630"
],
@@ -190,11 +190,11 @@
}
},
{
"endpoint": "/v1/bc/D/ws",
"endpoint": "/v1/chain/D/ws",
"output_encoding": "no-op",
"backend": [
{
"url_pattern": "/v1/bc/D/ws",
"url_pattern": "/v1/chain/D/ws",
"host": [
"http://luxd-headless.lux-mainnet.svc.cluster.local:9630"
],
@@ -257,12 +257,12 @@
}
},
{
"endpoint": "/mainnet/v1/bc/C/rpc",
"endpoint": "/mainnet/v1/chain/C/rpc",
"method": "POST",
"output_encoding": "no-op",
"backend": [
{
"url_pattern": "/v1/bc/C/rpc",
"url_pattern": "/v1/chain/C/rpc",
"host": [
"http://luxd-headless.lux-mainnet.svc.cluster.local:9630"
],
@@ -279,11 +279,11 @@
}
},
{
"endpoint": "/mainnet/v1/bc/C/ws",
"endpoint": "/mainnet/v1/chain/C/ws",
"output_encoding": "no-op",
"backend": [
{
"url_pattern": "/v1/bc/C/ws",
"url_pattern": "/v1/chain/C/ws",
"host": [
"http://luxd-headless.lux-mainnet.svc.cluster.local:9630"
],
@@ -299,12 +299,12 @@
}
},
{
"endpoint": "/mainnet/v1/bc/P",
"endpoint": "/mainnet/v1/chain/P",
"method": "POST",
"output_encoding": "no-op",
"backend": [
{
"url_pattern": "/v1/bc/P",
"url_pattern": "/v1/chain/P",
"host": [
"http://luxd-headless.lux-mainnet.svc.cluster.local:9630"
],
@@ -321,12 +321,12 @@
}
},
{
"endpoint": "/mainnet/v1/bc/X",
"endpoint": "/mainnet/v1/chain/X",
"method": "POST",
"output_encoding": "no-op",
"backend": [
{
"url_pattern": "/v1/bc/X",
"url_pattern": "/v1/chain/X",
"host": [
"http://luxd-headless.lux-mainnet.svc.cluster.local:9630"
],
@@ -343,12 +343,12 @@
}
},
{
"endpoint": "/mainnet/v1/bc/exchange",
"endpoint": "/mainnet/v1/chain/exchange",
"method": "POST",
"output_encoding": "no-op",
"backend": [
{
"url_pattern": "/v1/bc/X",
"url_pattern": "/v1/chain/X",
"host": [
"http://luxd-headless.lux-mainnet.svc.cluster.local:9630"
],
@@ -365,12 +365,12 @@
}
},
{
"endpoint": "/mainnet/v1/bc/D/rpc",
"endpoint": "/mainnet/v1/chain/D/rpc",
"method": "POST",
"output_encoding": "no-op",
"backend": [
{
"url_pattern": "/v1/bc/D/rpc",
"url_pattern": "/v1/chain/D/rpc",
"host": [
"http://luxd-headless.lux-mainnet.svc.cluster.local:9630"
],
@@ -387,11 +387,11 @@
}
},
{
"endpoint": "/mainnet/v1/bc/D/ws",
"endpoint": "/mainnet/v1/chain/D/ws",
"output_encoding": "no-op",
"backend": [
{
"url_pattern": "/v1/bc/D/ws",
"url_pattern": "/v1/chain/D/ws",
"host": [
"http://luxd-headless.lux-mainnet.svc.cluster.local:9630"
],
@@ -407,12 +407,12 @@
}
},
{
"endpoint": "/mainnet/v1/bc/dex/rpc",
"endpoint": "/mainnet/v1/chain/dex/rpc",
"method": "POST",
"output_encoding": "no-op",
"backend": [
{
"url_pattern": "/v1/bc/D/rpc",
"url_pattern": "/v1/chain/D/rpc",
"host": [
"http://luxd-headless.lux-mainnet.svc.cluster.local:9630"
],
@@ -476,12 +476,12 @@
}
},
{
"endpoint": "/testnet/v1/bc/C/rpc",
"endpoint": "/testnet/v1/chain/C/rpc",
"method": "POST",
"output_encoding": "no-op",
"backend": [
{
"url_pattern": "/v1/bc/C/rpc",
"url_pattern": "/v1/chain/C/rpc",
"host": [
"http://luxd-headless.lux-testnet.svc.cluster.local:9640"
],
@@ -498,11 +498,11 @@
}
},
{
"endpoint": "/testnet/v1/bc/C/ws",
"endpoint": "/testnet/v1/chain/C/ws",
"output_encoding": "no-op",
"backend": [
{
"url_pattern": "/v1/bc/C/ws",
"url_pattern": "/v1/chain/C/ws",
"host": [
"http://luxd-headless.lux-testnet.svc.cluster.local:9640"
],
@@ -518,12 +518,12 @@
}
},
{
"endpoint": "/testnet/v1/bc/P",
"endpoint": "/testnet/v1/chain/P",
"method": "POST",
"output_encoding": "no-op",
"backend": [
{
"url_pattern": "/v1/bc/P",
"url_pattern": "/v1/chain/P",
"host": [
"http://luxd-headless.lux-testnet.svc.cluster.local:9640"
],
@@ -540,12 +540,12 @@
}
},
{
"endpoint": "/testnet/v1/bc/X",
"endpoint": "/testnet/v1/chain/X",
"method": "POST",
"output_encoding": "no-op",
"backend": [
{
"url_pattern": "/v1/bc/X",
"url_pattern": "/v1/chain/X",
"host": [
"http://luxd-headless.lux-testnet.svc.cluster.local:9640"
],
@@ -562,12 +562,12 @@
}
},
{
"endpoint": "/testnet/v1/bc/exchange",
"endpoint": "/testnet/v1/chain/exchange",
"method": "POST",
"output_encoding": "no-op",
"backend": [
{
"url_pattern": "/v1/bc/X",
"url_pattern": "/v1/chain/X",
"host": [
"http://luxd-headless.lux-testnet.svc.cluster.local:9640"
],
@@ -584,12 +584,12 @@
}
},
{
"endpoint": "/testnet/v1/bc/D/rpc",
"endpoint": "/testnet/v1/chain/D/rpc",
"method": "POST",
"output_encoding": "no-op",
"backend": [
{
"url_pattern": "/v1/bc/D/rpc",
"url_pattern": "/v1/chain/D/rpc",
"host": [
"http://luxd-headless.lux-testnet.svc.cluster.local:9640"
],
@@ -606,11 +606,11 @@
}
},
{
"endpoint": "/testnet/v1/bc/D/ws",
"endpoint": "/testnet/v1/chain/D/ws",
"output_encoding": "no-op",
"backend": [
{
"url_pattern": "/v1/bc/D/ws",
"url_pattern": "/v1/chain/D/ws",
"host": [
"http://luxd-headless.lux-testnet.svc.cluster.local:9640"
],
@@ -626,12 +626,12 @@
}
},
{
"endpoint": "/testnet/v1/bc/dex/rpc",
"endpoint": "/testnet/v1/chain/dex/rpc",
"method": "POST",
"output_encoding": "no-op",
"backend": [
{
"url_pattern": "/v1/bc/D/rpc",
"url_pattern": "/v1/chain/D/rpc",
"host": [
"http://luxd-headless.lux-testnet.svc.cluster.local:9640"
],
@@ -668,12 +668,12 @@
}
},
{
"endpoint": "/devnet/v1/bc/C/rpc",
"endpoint": "/devnet/v1/chain/C/rpc",
"method": "POST",
"output_encoding": "no-op",
"backend": [
{
"url_pattern": "/v1/bc/C/rpc",
"url_pattern": "/v1/chain/C/rpc",
"host": [
"http://luxd-headless.lux-devnet.svc.cluster.local:9650"
],
@@ -690,11 +690,11 @@
}
},
{
"endpoint": "/devnet/v1/bc/C/ws",
"endpoint": "/devnet/v1/chain/C/ws",
"output_encoding": "no-op",
"backend": [
{
"url_pattern": "/v1/bc/C/ws",
"url_pattern": "/v1/chain/C/ws",
"host": [
"http://luxd-headless.lux-devnet.svc.cluster.local:9650"
],
@@ -710,12 +710,12 @@
}
},
{
"endpoint": "/devnet/v1/bc/P",
"endpoint": "/devnet/v1/chain/P",
"method": "POST",
"output_encoding": "no-op",
"backend": [
{
"url_pattern": "/v1/bc/P",
"url_pattern": "/v1/chain/P",
"host": [
"http://luxd-headless.lux-devnet.svc.cluster.local:9650"
],
@@ -732,12 +732,12 @@
}
},
{
"endpoint": "/devnet/v1/bc/X",
"endpoint": "/devnet/v1/chain/X",
"method": "POST",
"output_encoding": "no-op",
"backend": [
{
"url_pattern": "/v1/bc/X",
"url_pattern": "/v1/chain/X",
"host": [
"http://luxd-headless.lux-devnet.svc.cluster.local:9650"
],
@@ -754,12 +754,12 @@
}
},
{
"endpoint": "/devnet/v1/bc/exchange",
"endpoint": "/devnet/v1/chain/exchange",
"method": "POST",
"output_encoding": "no-op",
"backend": [
{
"url_pattern": "/v1/bc/X",
"url_pattern": "/v1/chain/X",
"host": [
"http://luxd-headless.lux-devnet.svc.cluster.local:9650"
],
@@ -776,12 +776,12 @@
}
},
{
"endpoint": "/devnet/v1/bc/D/rpc",
"endpoint": "/devnet/v1/chain/D/rpc",
"method": "POST",
"output_encoding": "no-op",
"backend": [
{
"url_pattern": "/v1/bc/D/rpc",
"url_pattern": "/v1/chain/D/rpc",
"host": [
"http://luxd-headless.lux-devnet.svc.cluster.local:9650"
],
@@ -798,11 +798,11 @@
}
},
{
"endpoint": "/devnet/v1/bc/D/ws",
"endpoint": "/devnet/v1/chain/D/ws",
"output_encoding": "no-op",
"backend": [
{
"url_pattern": "/v1/bc/D/ws",
"url_pattern": "/v1/chain/D/ws",
"host": [
"http://luxd-headless.lux-devnet.svc.cluster.local:9650"
],
@@ -818,12 +818,12 @@
}
},
{
"endpoint": "/devnet/v1/bc/dex/rpc",
"endpoint": "/devnet/v1/chain/dex/rpc",
"method": "POST",
"output_encoding": "no-op",
"backend": [
{
"url_pattern": "/v1/bc/D/rpc",
"url_pattern": "/v1/chain/D/rpc",
"host": [
"http://luxd-headless.lux-devnet.svc.cluster.local:9650"
],
@@ -914,12 +914,12 @@
]
},
{
"endpoint": "/mainnet/v1/bc/2Y625Kvdd4wZ5LKx9kLSf1jGALyARmXVN1YsTb4F3Hzv4bPDbp/rpc",
"endpoint": "/mainnet/v1/chain/2Y625Kvdd4wZ5LKx9kLSf1jGALyARmXVN1YsTb4F3Hzv4bPDbp/rpc",
"method": "POST",
"output_encoding": "no-op",
"backend": [
{
"url_pattern": "/v1/bc/2Y625Kvdd4wZ5LKx9kLSf1jGALyARmXVN1YsTb4F3Hzv4bPDbp/rpc",
"url_pattern": "/v1/chain/2Y625Kvdd4wZ5LKx9kLSf1jGALyARmXVN1YsTb4F3Hzv4bPDbp/rpc",
"host": [
"http://luxd-headless.lux-mainnet.svc.cluster.local:9630"
],
@@ -936,12 +936,12 @@
}
},
{
"endpoint": "/mainnet/v1/bc/zoo/rpc",
"endpoint": "/mainnet/v1/chain/zoo/rpc",
"method": "POST",
"output_encoding": "no-op",
"backend": [
{
"url_pattern": "/v1/bc/2Y625Kvdd4wZ5LKx9kLSf1jGALyARmXVN1YsTb4F3Hzv4bPDbp/rpc",
"url_pattern": "/v1/chain/2Y625Kvdd4wZ5LKx9kLSf1jGALyARmXVN1YsTb4F3Hzv4bPDbp/rpc",
"host": [
"http://luxd-headless.lux-mainnet.svc.cluster.local:9630"
],
@@ -958,12 +958,12 @@
}
},
{
"endpoint": "/mainnet/v1/bc/2GiQb73CeJESjc4omFv2YtQHZrRgJf25NXPzAr5J6UNHRcDV2F/rpc",
"endpoint": "/mainnet/v1/chain/2GiQb73CeJESjc4omFv2YtQHZrRgJf25NXPzAr5J6UNHRcDV2F/rpc",
"method": "POST",
"output_encoding": "no-op",
"backend": [
{
"url_pattern": "/v1/bc/2GiQb73CeJESjc4omFv2YtQHZrRgJf25NXPzAr5J6UNHRcDV2F/rpc",
"url_pattern": "/v1/chain/2GiQb73CeJESjc4omFv2YtQHZrRgJf25NXPzAr5J6UNHRcDV2F/rpc",
"host": [
"http://luxd-headless.lux-mainnet.svc.cluster.local:9630"
],
@@ -980,12 +980,12 @@
}
},
{
"endpoint": "/mainnet/v1/bc/hanzo/rpc",
"endpoint": "/mainnet/v1/chain/hanzo/rpc",
"method": "POST",
"output_encoding": "no-op",
"backend": [
{
"url_pattern": "/v1/bc/2GiQb73CeJESjc4omFv2YtQHZrRgJf25NXPzAr5J6UNHRcDV2F/rpc",
"url_pattern": "/v1/chain/2GiQb73CeJESjc4omFv2YtQHZrRgJf25NXPzAr5J6UNHRcDV2F/rpc",
"host": [
"http://luxd-headless.lux-mainnet.svc.cluster.local:9630"
],
@@ -1002,12 +1002,12 @@
}
},
{
"endpoint": "/mainnet/v1/bc/rtjwvtE1tEvrokmpeYdTq7b2zqZgmybKwR5MLjKMGAR1W78dQ/rpc",
"endpoint": "/mainnet/v1/chain/rtjwvtE1tEvrokmpeYdTq7b2zqZgmybKwR5MLjKMGAR1W78dQ/rpc",
"method": "POST",
"output_encoding": "no-op",
"backend": [
{
"url_pattern": "/v1/bc/rtjwvtE1tEvrokmpeYdTq7b2zqZgmybKwR5MLjKMGAR1W78dQ/rpc",
"url_pattern": "/v1/chain/rtjwvtE1tEvrokmpeYdTq7b2zqZgmybKwR5MLjKMGAR1W78dQ/rpc",
"host": [
"http://luxd-headless.lux-mainnet.svc.cluster.local:9630"
],
@@ -1024,12 +1024,12 @@
}
},
{
"endpoint": "/mainnet/v1/bc/spc/rpc",
"endpoint": "/mainnet/v1/chain/spc/rpc",
"method": "POST",
"output_encoding": "no-op",
"backend": [
{
"url_pattern": "/v1/bc/rtjwvtE1tEvrokmpeYdTq7b2zqZgmybKwR5MLjKMGAR1W78dQ/rpc",
"url_pattern": "/v1/chain/rtjwvtE1tEvrokmpeYdTq7b2zqZgmybKwR5MLjKMGAR1W78dQ/rpc",
"host": [
"http://luxd-headless.lux-mainnet.svc.cluster.local:9630"
],
@@ -1046,12 +1046,12 @@
}
},
{
"endpoint": "/mainnet/v1/bc/2pUskxqaL5Bpx7uRUGG1fDjPckjxQ4UKX4sLKeaS1NdSVBJd3F/rpc",
"endpoint": "/mainnet/v1/chain/2pUskxqaL5Bpx7uRUGG1fDjPckjxQ4UKX4sLKeaS1NdSVBJd3F/rpc",
"method": "POST",
"output_encoding": "no-op",
"backend": [
{
"url_pattern": "/v1/bc/2pUskxqaL5Bpx7uRUGG1fDjPckjxQ4UKX4sLKeaS1NdSVBJd3F/rpc",
"url_pattern": "/v1/chain/2pUskxqaL5Bpx7uRUGG1fDjPckjxQ4UKX4sLKeaS1NdSVBJd3F/rpc",
"host": [
"http://luxd-headless.lux-mainnet.svc.cluster.local:9630"
],
@@ -1068,12 +1068,12 @@
}
},
{
"endpoint": "/mainnet/v1/bc/pars/rpc",
"endpoint": "/mainnet/v1/chain/pars/rpc",
"method": "POST",
"output_encoding": "no-op",
"backend": [
{
"url_pattern": "/v1/bc/2pUskxqaL5Bpx7uRUGG1fDjPckjxQ4UKX4sLKeaS1NdSVBJd3F/rpc",
"url_pattern": "/v1/chain/2pUskxqaL5Bpx7uRUGG1fDjPckjxQ4UKX4sLKeaS1NdSVBJd3F/rpc",
"host": [
"http://luxd-headless.lux-mainnet.svc.cluster.local:9630"
],
@@ -1090,12 +1090,12 @@
}
},
{
"endpoint": "/testnet/v1/bc/2Uw1b5tf63vamHsWVeSW9uHcGBVbF5CYHS9JiLWttusY4Vvjsn/rpc",
"endpoint": "/testnet/v1/chain/2Uw1b5tf63vamHsWVeSW9uHcGBVbF5CYHS9JiLWttusY4Vvjsn/rpc",
"method": "POST",
"output_encoding": "no-op",
"backend": [
{
"url_pattern": "/v1/bc/2Uw1b5tf63vamHsWVeSW9uHcGBVbF5CYHS9JiLWttusY4Vvjsn/rpc",
"url_pattern": "/v1/chain/2Uw1b5tf63vamHsWVeSW9uHcGBVbF5CYHS9JiLWttusY4Vvjsn/rpc",
"host": [
"http://luxd-headless.lux-testnet.svc.cluster.local:9640"
],
@@ -1112,12 +1112,12 @@
}
},
{
"endpoint": "/testnet/v1/bc/zoo/rpc",
"endpoint": "/testnet/v1/chain/zoo/rpc",
"method": "POST",
"output_encoding": "no-op",
"backend": [
{
"url_pattern": "/v1/bc/2Uw1b5tf63vamHsWVeSW9uHcGBVbF5CYHS9JiLWttusY4Vvjsn/rpc",
"url_pattern": "/v1/chain/2Uw1b5tf63vamHsWVeSW9uHcGBVbF5CYHS9JiLWttusY4Vvjsn/rpc",
"host": [
"http://luxd-headless.lux-testnet.svc.cluster.local:9640"
],
@@ -1134,12 +1134,12 @@
}
},
{
"endpoint": "/testnet/v1/bc/2wbYEFh7ELuovqXhyYeCLvweZrcEgNUoZVJUAtw145qTVAUJxE/rpc",
"endpoint": "/testnet/v1/chain/2wbYEFh7ELuovqXhyYeCLvweZrcEgNUoZVJUAtw145qTVAUJxE/rpc",
"method": "POST",
"output_encoding": "no-op",
"backend": [
{
"url_pattern": "/v1/bc/2wbYEFh7ELuovqXhyYeCLvweZrcEgNUoZVJUAtw145qTVAUJxE/rpc",
"url_pattern": "/v1/chain/2wbYEFh7ELuovqXhyYeCLvweZrcEgNUoZVJUAtw145qTVAUJxE/rpc",
"host": [
"http://luxd-headless.lux-testnet.svc.cluster.local:9640"
],
@@ -1156,12 +1156,12 @@
}
},
{
"endpoint": "/testnet/v1/bc/hanzo/rpc",
"endpoint": "/testnet/v1/chain/hanzo/rpc",
"method": "POST",
"output_encoding": "no-op",
"backend": [
{
"url_pattern": "/v1/bc/2wbYEFh7ELuovqXhyYeCLvweZrcEgNUoZVJUAtw145qTVAUJxE/rpc",
"url_pattern": "/v1/chain/2wbYEFh7ELuovqXhyYeCLvweZrcEgNUoZVJUAtw145qTVAUJxE/rpc",
"host": [
"http://luxd-headless.lux-testnet.svc.cluster.local:9640"
],
@@ -1178,12 +1178,12 @@
}
},
{
"endpoint": "/testnet/v1/bc/u4pC2tT61o83pbQ8qwAyfXXGF6nyGFNSwCYHEFcUeESGiNKfu/rpc",
"endpoint": "/testnet/v1/chain/u4pC2tT61o83pbQ8qwAyfXXGF6nyGFNSwCYHEFcUeESGiNKfu/rpc",
"method": "POST",
"output_encoding": "no-op",
"backend": [
{
"url_pattern": "/v1/bc/u4pC2tT61o83pbQ8qwAyfXXGF6nyGFNSwCYHEFcUeESGiNKfu/rpc",
"url_pattern": "/v1/chain/u4pC2tT61o83pbQ8qwAyfXXGF6nyGFNSwCYHEFcUeESGiNKfu/rpc",
"host": [
"http://luxd-headless.lux-testnet.svc.cluster.local:9640"
],
@@ -1200,12 +1200,12 @@
}
},
{
"endpoint": "/testnet/v1/bc/spc/rpc",
"endpoint": "/testnet/v1/chain/spc/rpc",
"method": "POST",
"output_encoding": "no-op",
"backend": [
{
"url_pattern": "/v1/bc/u4pC2tT61o83pbQ8qwAyfXXGF6nyGFNSwCYHEFcUeESGiNKfu/rpc",
"url_pattern": "/v1/chain/u4pC2tT61o83pbQ8qwAyfXXGF6nyGFNSwCYHEFcUeESGiNKfu/rpc",
"host": [
"http://luxd-headless.lux-testnet.svc.cluster.local:9640"
],
@@ -1222,12 +1222,12 @@
}
},
{
"endpoint": "/testnet/v1/bc/is5GUzsKHk3Z4Q5JXTjF4Ld9p4TnEs81tJFdaBiEBJVkaFrrs/rpc",
"endpoint": "/testnet/v1/chain/is5GUzsKHk3Z4Q5JXTjF4Ld9p4TnEs81tJFdaBiEBJVkaFrrs/rpc",
"method": "POST",
"output_encoding": "no-op",
"backend": [
{
"url_pattern": "/v1/bc/is5GUzsKHk3Z4Q5JXTjF4Ld9p4TnEs81tJFdaBiEBJVkaFrrs/rpc",
"url_pattern": "/v1/chain/is5GUzsKHk3Z4Q5JXTjF4Ld9p4TnEs81tJFdaBiEBJVkaFrrs/rpc",
"host": [
"http://luxd-headless.lux-testnet.svc.cluster.local:9640"
],
@@ -1244,12 +1244,12 @@
}
},
{
"endpoint": "/testnet/v1/bc/pars/rpc",
"endpoint": "/testnet/v1/chain/pars/rpc",
"method": "POST",
"output_encoding": "no-op",
"backend": [
{
"url_pattern": "/v1/bc/is5GUzsKHk3Z4Q5JXTjF4Ld9p4TnEs81tJFdaBiEBJVkaFrrs/rpc",
"url_pattern": "/v1/chain/is5GUzsKHk3Z4Q5JXTjF4Ld9p4TnEs81tJFdaBiEBJVkaFrrs/rpc",
"host": [
"http://luxd-headless.lux-testnet.svc.cluster.local:9640"
],
@@ -1266,12 +1266,12 @@
}
},
{
"endpoint": "/devnet/v1/bc/2caKCdNop9C4oAPR1kYihN53HeSRDXD3JyMKS7ntfcpQYucmii/rpc",
"endpoint": "/devnet/v1/chain/2caKCdNop9C4oAPR1kYihN53HeSRDXD3JyMKS7ntfcpQYucmii/rpc",
"method": "POST",
"output_encoding": "no-op",
"backend": [
{
"url_pattern": "/v1/bc/2caKCdNop9C4oAPR1kYihN53HeSRDXD3JyMKS7ntfcpQYucmii/rpc",
"url_pattern": "/v1/chain/2caKCdNop9C4oAPR1kYihN53HeSRDXD3JyMKS7ntfcpQYucmii/rpc",
"host": [
"http://luxd-headless.lux-devnet.svc.cluster.local:9650"
],
@@ -1288,12 +1288,12 @@
}
},
{
"endpoint": "/devnet/v1/bc/zoo/rpc",
"endpoint": "/devnet/v1/chain/zoo/rpc",
"method": "POST",
"output_encoding": "no-op",
"backend": [
{
"url_pattern": "/v1/bc/2caKCdNop9C4oAPR1kYihN53HeSRDXD3JyMKS7ntfcpQYucmii/rpc",
"url_pattern": "/v1/chain/2caKCdNop9C4oAPR1kYihN53HeSRDXD3JyMKS7ntfcpQYucmii/rpc",
"host": [
"http://luxd-headless.lux-devnet.svc.cluster.local:9650"
],
@@ -1310,12 +1310,12 @@
}
},
{
"endpoint": "/devnet/v1/bc/tecXMucYDxwN65mebPE6cvQ9GynG6Y5WEvwGFsY3xVDWHxiqT/rpc",
"endpoint": "/devnet/v1/chain/tecXMucYDxwN65mebPE6cvQ9GynG6Y5WEvwGFsY3xVDWHxiqT/rpc",
"method": "POST",
"output_encoding": "no-op",
"backend": [
{
"url_pattern": "/v1/bc/tecXMucYDxwN65mebPE6cvQ9GynG6Y5WEvwGFsY3xVDWHxiqT/rpc",
"url_pattern": "/v1/chain/tecXMucYDxwN65mebPE6cvQ9GynG6Y5WEvwGFsY3xVDWHxiqT/rpc",
"host": [
"http://luxd-headless.lux-devnet.svc.cluster.local:9650"
],
@@ -1332,12 +1332,12 @@
}
},
{
"endpoint": "/devnet/v1/bc/hanzo/rpc",
"endpoint": "/devnet/v1/chain/hanzo/rpc",
"method": "POST",
"output_encoding": "no-op",
"backend": [
{
"url_pattern": "/v1/bc/tecXMucYDxwN65mebPE6cvQ9GynG6Y5WEvwGFsY3xVDWHxiqT/rpc",
"url_pattern": "/v1/chain/tecXMucYDxwN65mebPE6cvQ9GynG6Y5WEvwGFsY3xVDWHxiqT/rpc",
"host": [
"http://luxd-headless.lux-devnet.svc.cluster.local:9650"
],
@@ -1354,12 +1354,12 @@
}
},
{
"endpoint": "/devnet/v1/bc/213ZsFLRCBSmrii4huQqa6S3SxYPP8ec6dPEn6ad4CtLk3RdXp/rpc",
"endpoint": "/devnet/v1/chain/213ZsFLRCBSmrii4huQqa6S3SxYPP8ec6dPEn6ad4CtLk3RdXp/rpc",
"method": "POST",
"output_encoding": "no-op",
"backend": [
{
"url_pattern": "/v1/bc/213ZsFLRCBSmrii4huQqa6S3SxYPP8ec6dPEn6ad4CtLk3RdXp/rpc",
"url_pattern": "/v1/chain/213ZsFLRCBSmrii4huQqa6S3SxYPP8ec6dPEn6ad4CtLk3RdXp/rpc",
"host": [
"http://luxd-headless.lux-devnet.svc.cluster.local:9650"
],
@@ -1376,12 +1376,12 @@
}
},
{
"endpoint": "/devnet/v1/bc/spc/rpc",
"endpoint": "/devnet/v1/chain/spc/rpc",
"method": "POST",
"output_encoding": "no-op",
"backend": [
{
"url_pattern": "/v1/bc/213ZsFLRCBSmrii4huQqa6S3SxYPP8ec6dPEn6ad4CtLk3RdXp/rpc",
"url_pattern": "/v1/chain/213ZsFLRCBSmrii4huQqa6S3SxYPP8ec6dPEn6ad4CtLk3RdXp/rpc",
"host": [
"http://luxd-headless.lux-devnet.svc.cluster.local:9650"
],
@@ -1398,12 +1398,12 @@
}
},
{
"endpoint": "/devnet/v1/bc/MEGAgimfcodi7QaqCruFpTkNM6fqu7ZduLmWJJjGQwUg8uDPJ/rpc",
"endpoint": "/devnet/v1/chain/MEGAgimfcodi7QaqCruFpTkNM6fqu7ZduLmWJJjGQwUg8uDPJ/rpc",
"method": "POST",
"output_encoding": "no-op",
"backend": [
{
"url_pattern": "/v1/bc/MEGAgimfcodi7QaqCruFpTkNM6fqu7ZduLmWJJjGQwUg8uDPJ/rpc",
"url_pattern": "/v1/chain/MEGAgimfcodi7QaqCruFpTkNM6fqu7ZduLmWJJjGQwUg8uDPJ/rpc",
"host": [
"http://luxd-headless.lux-devnet.svc.cluster.local:9650"
],
@@ -1420,12 +1420,12 @@
}
},
{
"endpoint": "/devnet/v1/bc/pars/rpc",
"endpoint": "/devnet/v1/chain/pars/rpc",
"method": "POST",
"output_encoding": "no-op",
"backend": [
{
"url_pattern": "/v1/bc/MEGAgimfcodi7QaqCruFpTkNM6fqu7ZduLmWJJjGQwUg8uDPJ/rpc",
"url_pattern": "/v1/chain/MEGAgimfcodi7QaqCruFpTkNM6fqu7ZduLmWJJjGQwUg8uDPJ/rpc",
"host": [
"http://luxd-headless.lux-devnet.svc.cluster.local:9650"
],
+1 -1
View File
@@ -17,7 +17,7 @@ env:
- name: NETWORK
value: devnet
- name: LUX_RPC_URL
value: http://luxd-headless.lux-devnet.svc.cluster.local:9650/v1/bc/C/rpc
value: http://luxd-headless.lux-devnet.svc.cluster.local:9650/v1/chain/C/rpc
- name: SUBGRAPH_URL
value: http://explorer.lux-devnet.svc.cluster.local:8090/v1/graph/cchain/amm/graphql
- name: DEX_SUBGRAPH_URL
+1 -1
View File
@@ -157,7 +157,7 @@ sidecars:
- name: NEXT_PUBLIC_NETWORK_CURRENCY_DECIMALS
value: '18'
- name: NEXT_PUBLIC_NETWORK_RPC_URL
value: https://api.lux-dev.network/v1/bc/C/rpc
value: https://api.lux-dev.network/v1/chain/c
- name: NEXT_PUBLIC_NETWORK_LOGO
value: /logo.svg
- name: NEXT_PUBLIC_NETWORK_ICON
+1 -1
View File
@@ -258,7 +258,7 @@ readinessProbe:
- /bin/sh
- -c
- 'B=$(curl -sf -m 4 -X POST http://127.0.0.1:9650/v1/info -H ''Content-Type: application/json'' -d ''{"jsonrpc":"2.0","id":1,"method":"info.isBootstrapped","params":{"chain":"C"}}''
| grep -c ''"isBootstrapped":true''); [ "$B" = "1" ] || exit 1; curl -sf -m 4 -X POST http://127.0.0.1:9650/v1/bc/C/rpc
| grep -c ''"isBootstrapped":true''); [ "$B" = "1" ] || exit 1; curl -sf -m 4 -X POST http://127.0.0.1:9650/v1/chain/C/rpc
-H ''Content-Type: application/json'' -d ''{"jsonrpc":"2.0","id":1,"method":"eth_blockNumber","params":[]}'' | grep
-q ''"result":"0x'' || exit 1'
failureThreshold: 4
+1 -1
View File
@@ -19,7 +19,7 @@ containerName: gateway
# DONE 2026-08-07, in the required order: the config was applied first, then
# this tag moved. Verified after: info.peers and info.getNodeID are refused on
# api.lux.network while info.getNetworkID and info.getNetworkName still answer
# 200, and /v1/bc/C/rpc is unaffected. The pod logs
# 200, and /v1/chain/C/rpc is unaffected. The pod logs
# "1 preEvaluator(s) loaded" with no compile error.
#
# ⚠ A refusal surfaces as a bare 500 with an empty body, not as the rule's own
+9 -9
View File
@@ -170,7 +170,7 @@ sidecars:
- name: NEXT_PUBLIC_NETWORK_CURRENCY_DECIMALS
value: '18'
- name: NEXT_PUBLIC_NETWORK_RPC_URL
value: https://api.lux.network/v1/bc/C/rpc
value: https://api.lux.network/v1/chain/c
- name: NEXT_PUBLIC_NETWORK_LOGO
value: /logo.svg
- name: NEXT_PUBLIC_NETWORK_ICON
@@ -321,7 +321,7 @@ configMaps:
name: Lux C-Chain
chain_id: 96369
type: evm
rpc: http://luxd-rpc.lux-mainnet.svc.cluster.local:9630/v1/bc/C/rpc
rpc: http://luxd-rpc.lux-mainnet.svc.cluster.local:9630/v1/chain/C/rpc
# What the BROWSER is told to dial, and it is not optional. `rpc` above is
# the address this PROCESS dials -- a cluster-internal service name that
# resolves nowhere outside the mesh. Without public_rpc the binary's
@@ -329,7 +329,7 @@ configMaps:
# a .svc.cluster.local name, and hands the SPA "" -- so every RPC-backed
# control disappears from explore.lux.network. Live has carried this since
# before this file did; do not drop it back out.
public_rpc: https://api.lux.network/v1/bc/C/rpc
public_rpc: https://api.lux.network/v1/chain/c
coin: LUX
enabled: true
default: true
@@ -376,7 +376,7 @@ configMaps:
name: Pars
chain_id: 494949
type: evm
rpc: https://api.pars.network/v1/bc/C/rpc
rpc: https://api.pars.network/v1/chain/pars
coin: PARS
enabled: true
indexer: { poll_interval: 30s }
@@ -391,7 +391,7 @@ configMaps:
chain_id: 200200
type: evm
# zood-rpc:9630 is routed by zoo-ingress on host api.zoo.ngo.
rpc: https://api.zoo.ngo/v1/bc/C/rpc
rpc: https://api.zoo.ngo/v1/chain/C/rpc
coin: ZOO
enabled: true
# Zoo's AMM sits at the SAME addresses as Lux's: one deployer replayed
@@ -437,7 +437,7 @@ configMaps:
# BLOCKED until hanzo-mainnet exposes a public RPC ingress
# (api.hanzo.network -> hanzod:9630, mirroring api.hanzo-dev/test.network).
# hanzo mainnet is mid-recovery; current tip is only height 5.
rpc: https://api.hanzo.network/v1/bc/C/rpc
rpc: https://api.hanzo.network/v1/chain/hanzo
coin: AI
enabled: true
indexer: { poll_interval: 30s }
@@ -460,7 +460,7 @@ configMaps:
# as plain text, 199 errors an hour, which is not a placeholder -- it is
# noise that buries a real indexing failure. Re-enable with a live
# endpoint the day an spc L1 exists.
rpc: http://luxd-rpc.lux-mainnet.svc.cluster.local:9630/v1/bc/spc/rpc
rpc: http://luxd-rpc.lux-mainnet.svc.cluster.local:9630/v1/chain/spc/rpc
coin: SPC
enabled: false
indexer: { poll_interval: 30s }
@@ -479,10 +479,10 @@ configMaps:
# the same way pars, zoo and hanzo already are. Verified from inside this
# pod: eth_chainId -> 0x750 = 1872, matching chain_id above, and
# eth_blockNumber answers. The previous value polled
# /v1/bc/osage/rpc on lux's luxd, which answers `404 page not found` as
# /v1/chain/osage/rpc on lux's luxd, which answers `404 page not found` as
# PLAIN TEXT -- so the decoder read 404 as a number and died on the 'p'
# of 'page', 214 times an hour.
rpc: https://api.osage.network/v1/bc/C/rpc
rpc: https://api.osage.network/v1/chain/C/rpc
coin: OSG
enabled: true
indexer: { poll_interval: 30s }
+1 -1
View File
@@ -20,7 +20,7 @@ args:
\ as e:\n print(\"hb2 err:\",str(e)[:70],flush=True)\n try: n=w3.eth.get_transaction_count(acct.address)\n except: pass\n time.sleep(3)\nPY\n"
env:
- name: RPC
value: http://luxd-0.luxd-headless.lux-mainnet:9630/v1/bc/C/rpc
value: http://luxd-0.luxd-headless.lux-mainnet:9630/v1/chain/C/rpc
- name: LUX_MNEMONIC
valueFrom:
secretKeyRef:
+5 -5
View File
@@ -226,7 +226,7 @@ configMaps:
\ init\n# container; the wipe + download + JSON marker drop happen before this\n# script runs. Below\
\ we only:\n# 1. detect whether any request markers are pending,\n# 2. enable --api-admin-enabled\
\ if so (luxd needs the admin API to\n# service admin_importChain),\n# 3. after luxd is healthy,\
\ loop over pending markers, call\n# admin_importChain via /v1/bc/<chainAlias>/rpc, then write\
\ loop over pending markers, call\n# admin_importChain via /v1/chain/<chainAlias>/rpc, then write\
\ the\n# operator-named sentinel and remove the marker.\n# Re-firing after a spec fix is automatic\
\ \u2014 the operator's content-hash\n# addressing emits a new request marker on the next reconcile.\n\
TENANT_REQ_GLOB=\"/data/db/.tenant-import-request-*.json\"\nif ls $TENANT_REQ_GLOB >/dev/null 2>&1;\
@@ -432,7 +432,7 @@ configMaps:
\ while frozen (lux-skipbootstrap-frontier-wedge-rootcause).\n# Never-consumed => every reboot re-runs\
\ state-sync and a crash mid-sync\n# drops back into the wedge. Backgrounded so it never blocks\
\ PID 1's path to\n# the guarded double-wait; renamed marker (.done) is idempotent + auditable.\n\
if [ -f /data/db/.allow-bootstrap ]; then\n (\n LOCAL_RPC=\"http://127.0.0.1:9630/v1/bc/C/rpc\"\
if [ -f /data/db/.allow-bootstrap ]; then\n (\n LOCAL_RPC=\"http://127.0.0.1:9630/v1/chain/C/rpc\"\
\n # RED #7 frontier-floor: never consume the marker on a REF below a known-good\n # frontier.\
\ Defeats the all-peers-stale edge \u2014 if EVERY peer we can reach is\n # itself wedged/behind\
\ (e.g. a whole-fleet sub-quorum halt), REF (=max peer\n # height) can be LOWER than the true\
@@ -452,7 +452,7 @@ configMaps:
\ 0\n if curl -sf -m 2 http://127.0.0.1:9630/v1/health/liveness >/dev/null 2>&1; then\n \
\ LOCAL=$(evm_height \"$LOCAL_RPC\")\n REF=\"\"\n for HOST in $(printf '%s' \"\
$BOOTSTRAP_NODES\" | tr ',' ' '); do\n PEER_HP=${HOST%%:*}\n PH=$(evm_height \"\
http://${PEER_HP}:9630/v1/bc/C/rpc\")\n [ -n \"$PH\" ] && { [ -z \"$REF\" ] && REF=\"$PH\"\
http://${PEER_HP}:9630/v1/chain/C/rpc\")\n [ -n \"$PH\" ] && { [ -z \"$REF\" ] && REF=\"$PH\"\
\ || { [ \"$PH\" -gt \"$REF\" ] && REF=\"$PH\"; }; }\n done\n if [ -n \"$LOCAL\" ]\
\ && [ -n \"$REF\" ] && [ \"$LOCAL\" -ge \"$REF\" ] && [ \"$REF\" -ge \"$FRONTIER_FLOOR\" ]; then\n\
\ mv /data/db/.allow-bootstrap /data/db/.allow-bootstrap.done 2>/dev/null \\\n \
@@ -485,7 +485,7 @@ configMaps:
\ the trap\n # forwards TERM to luxd, and luxd aborts the import via graceful shutdown().\n \
\ IMPORT_OUT=\"/data/db/.tenant-import.out.$$\"\n curl -s --max-time 21600 -X POST -H \"Content-Type:\
\ application/json\" \\\n -d \"{\\\"jsonrpc\\\":\\\"2.0\\\",\\\"method\\\":\\\"admin_importChain\\\
\",\\\"params\\\":[\\\"$RLP_PATH\\\"],\\\"id\\\":1}\" \\\n \"http://127.0.0.1:9630/v1/bc/$ALIAS/rpc\"\
\",\\\"params\\\":[\\\"$RLP_PATH\\\"],\\\"id\\\":1}\" \\\n \"http://127.0.0.1:9630/v1/chain/$ALIAS/rpc\"\
\ > \"$IMPORT_OUT\" 2>&1 &\n IMPORT_PID=$!\n wait \"$IMPORT_PID\"; CURL_RC=$?\n if [ -n\
\ \"$TERM_RECEIVED\" ]; then\n kill \"$IMPORT_PID\" 2>/dev/null || true\n rm -f \"$IMPORT_OUT\"\
\n echo \"[IMPORT] SIGTERM during import -> aborted; luxd shutting down gracefully; marker\
@@ -698,7 +698,7 @@ readinessProbe:
- -c
- 'B=$(curl -sf -m 4 -X POST http://127.0.0.1:9630/v1/info -H ''Content-Type: application/json'' -d
''{"jsonrpc":"2.0","id":1,"method":"info.isBootstrapped","params":{"chain":"C"}}'' | grep -c ''"isBootstrapped":true'');
[ "$B" = "1" ] || exit 1; curl -sf -m 4 -X POST http://127.0.0.1:9630/v1/bc/C/rpc -H ''Content-Type:
[ "$B" = "1" ] || exit 1; curl -sf -m 4 -X POST http://127.0.0.1:9630/v1/chain/C/rpc -H ''Content-Type:
application/json'' -d ''{"jsonrpc":"2.0","id":1,"method":"eth_blockNumber","params":[]}'' | grep
-q ''"result":"0x'' || exit 1'
failureThreshold: 4
+1 -1
View File
@@ -32,7 +32,7 @@ env:
- name: RPC_PORT
value: '9630'
- name: RPC_PATH
value: /v1/bc/C/rpc
value: /v1/chain/C/rpc
- name: LABEL_KEY
value: lux.network/rpc
- name: LABEL_VALUE
+1 -1
View File
@@ -22,7 +22,7 @@ env:
- name: NETWORK
value: mainnet
- name: LUX_RPC_URL
value: http://luxd-headless.lux-mainnet.svc.cluster.local:9630/v1/bc/C/rpc
value: http://luxd-headless.lux-mainnet.svc.cluster.local:9630/v1/chain/C/rpc
resources:
limits:
cpu: 500m
+5 -5
View File
@@ -7,17 +7,17 @@ it work. That is what these two objects do together:
Host(`api.<brand>.network`) && Path(`/`) priority 10000
-> middleware rpc-rewrite-<brand> -> svc api-gateway-gateway
Middleware lux-system/rpc-rewrite-lux replacePath: /v1/bc/C/rpc
Middleware lux-system/rpc-rewrite-hanzo replacePath: /v1/bc/hanzo/rpc
Middleware lux-mainnet/zoo-rpc-rewrite replacePath: /v1/bc/zoo/rpc
Middleware lux-system/rpc-rewrite-lux replacePath: /v1/chain/C/rpc
Middleware lux-system/rpc-rewrite-hanzo replacePath: /v1/chain/hanzo/rpc
Middleware lux-mainnet/zoo-rpc-rewrite replacePath: /v1/chain/zoo/rpc
## It was broken for ~57 days, and the failure was invisible
All three rewrote to the RETIRED `/ext/bc/...` prefix. luxd serves `/v1/bc/...`
All three rewrote to the RETIRED `/v1/chain/...` prefix. luxd serves `/v1/chain/...`
now, so the root route rewrote every request onto a path the gateway does not
have and answered `404 page not found` — Traefik's default body, which reads
like "no such host/route" rather than "your rewrite target is wrong". Meanwhile
the explicit `/v1/bc/C/rpc` kept working, so nothing looked broken unless you
the explicit `/v1/chain/C/rpc` kept working, so nothing looked broken unless you
tried the bare hostname the way a wallet does.
Verified after the fix (2026-08-06), bare hosts, no path:
+1 -1
View File
@@ -17,7 +17,7 @@ env:
- name: NETWORK
value: testnet
- name: LUX_RPC_URL
value: http://luxd-headless.lux-testnet.svc.cluster.local:9640/v1/bc/C/rpc
value: http://luxd-headless.lux-testnet.svc.cluster.local:9640/v1/chain/C/rpc
- name: SUBGRAPH_URL
value: http://explorer.lux-testnet.svc.cluster.local:8090/v1/graph/cchain/amm/graphql
- name: DEX_SUBGRAPH_URL
+1 -1
View File
@@ -161,7 +161,7 @@ sidecars:
- name: NEXT_PUBLIC_NETWORK_CURRENCY_DECIMALS
value: '18'
- name: NEXT_PUBLIC_NETWORK_RPC_URL
value: https://api.lux-test.network/v1/bc/C/rpc
value: https://api.lux-test.network/v1/chain/c
- name: NEXT_PUBLIC_NETWORK_LOGO
value: /logo.svg
- name: NEXT_PUBLIC_NETWORK_ICON
+2 -2
View File
@@ -151,7 +151,7 @@ readinessProbe:
- -c
- 'B=$(curl -sf -m 4 -X POST http://127.0.0.1:9640/v1/info -H ''Content-Type: application/json'' -d
''{"jsonrpc":"2.0","id":1,"method":"info.isBootstrapped","params":{"chain":"C"}}'' | grep -c ''"isBootstrapped":true'');
[ "$B" = "1" ] || exit 1; curl -sf -m 4 -X POST http://127.0.0.1:9640/v1/bc/C/rpc -H ''Content-Type:
[ "$B" = "1" ] || exit 1; curl -sf -m 4 -X POST http://127.0.0.1:9640/v1/chain/C/rpc -H ''Content-Type:
application/json'' -d ''{"jsonrpc":"2.0","id":1,"method":"eth_blockNumber","params":[]}'' | grep
-q ''"result":"0x'' || exit 1'
failureThreshold: 4
@@ -201,7 +201,7 @@ initContainers:
\ '{\"tenant\":\"c-chain\",\"chainAlias\":\"C\",\"contentHash\":\"%s\",\"rlpPath\":\"%s\",\"sentinelPath\"\
:\"%s\",\"blockchainID\":\"%s\"}' \"$H\" \"$RLP\" \"$SENTINEL\" \"$CBID\" > \"$MARKER.tmp\"\nmv \"\
$MARKER.tmp\" \"$MARKER\"\nrm -f \"$ARM\"\necho \"[rlp-import-init] wipe done; marker=$MARKER; startup.sh\
\ will admin_importChain on /v1/bc/C/rpc\"\n"
\ will admin_importChain on /v1/chain/C/rpc\"\n"
command:
- /bin/sh
- -c
+1 -1
View File
@@ -83,7 +83,7 @@ test:
@for port in 9650 9660 9670 9680 9690; do \
echo -n " Port $$port: "; \
if curl -s -X POST --data '{"jsonrpc":"2.0","method":"eth_chainId","params":[],"id":1}' \
-H 'content-type:application/json' http://localhost:$$port/v1/bc/C/rpc | grep -q result; then \
-H 'content-type:application/json' http://localhost:$$port/v1/chain/C/rpc | grep -q result; then \
echo "✓ OK"; \
else \
echo "✗ Failed"; \
+2 -2
View File
@@ -166,8 +166,8 @@ services:
restart: always
environment:
ETHEREUM_JSONRPC_VARIANT: geth
ETHEREUM_JSONRPC_HTTP_URL: http://lux-node-1:9650/v1/bc/C/rpc
ETHEREUM_JSONRPC_WS_URL: ws://lux-node-1:9650/v1/bc/C/ws
ETHEREUM_JSONRPC_HTTP_URL: http://lux-node-1:9650/v1/chain/C/rpc
ETHEREUM_JSONRPC_WS_URL: ws://lux-node-1:9650/v1/chain/C/ws
POOL_SIZE: 50
ECTO_USE_SSL: "false"
HEART_BEAT_TIMEOUT: 30
+4 -4
View File
@@ -30,7 +30,7 @@ check_chain() {
# Try to get chain ID
CHAIN_ID=$(curl -s -X POST --data '{"jsonrpc":"2.0","method":"eth_chainId","params":[],"id":1}' \
-H 'content-type:application/json' http://localhost:$port/v1/bc/C/rpc 2>/dev/null | jq -r .result 2>/dev/null)
-H 'content-type:application/json' http://localhost:$port/v1/chain/C/rpc 2>/dev/null | jq -r .result 2>/dev/null)
if [ ! -z "$CHAIN_ID" ] && [ "$CHAIN_ID" != "null" ]; then
CHAIN_DEC=$(printf "%d" $CHAIN_ID 2>/dev/null)
@@ -38,11 +38,11 @@ check_chain() {
echo " Chain ID: $CHAIN_ID ($CHAIN_DEC)"
echo " Expected: $expected_id"
echo " Token: $token"
echo " RPC: http://localhost:$port/v1/bc/C/rpc"
echo " RPC: http://localhost:$port/v1/chain/C/rpc"
# Check luxdefi.eth balance
BALANCE=$(curl -s -X POST --data "{\"jsonrpc\":\"2.0\",\"method\":\"eth_getBalance\",\"params\":[\"$LUXDEFI\",\"latest\"],\"id\":1}" \
-H 'content-type:application/json' http://localhost:$port/v1/bc/C/rpc 2>/dev/null | jq -r .result 2>/dev/null)
-H 'content-type:application/json' http://localhost:$port/v1/chain/C/rpc 2>/dev/null | jq -r .result 2>/dev/null)
if [ ! -z "$BALANCE" ] && [ "$BALANCE" != "null" ]; then
# Convert hex to decimal (roughly)
@@ -59,7 +59,7 @@ check_chain() {
# Check block number
BLOCK=$(curl -s -X POST --data '{"jsonrpc":"2.0","method":"eth_blockNumber","params":[],"id":1}' \
-H 'content-type:application/json' http://localhost:$port/v1/bc/C/rpc 2>/dev/null | jq -r .result 2>/dev/null)
-H 'content-type:application/json' http://localhost:$port/v1/chain/C/rpc 2>/dev/null | jq -r .result 2>/dev/null)
if [ ! -z "$BLOCK" ] && [ "$BLOCK" != "null" ]; then
BLOCK_DEC=$(printf "%d" $BLOCK 2>/dev/null)
echo " Block Height: $BLOCK_DEC"
+1 -1
View File
@@ -235,7 +235,7 @@ done
# Check P-chain height
curl -sf -X POST -H "Content-Type: application/json" \
-d '{"jsonrpc":"2.0","method":"platform.getHeight","params":{},"id":1}' \
http://localhost:9630/v1/bc/P | python3 -c "import sys,json; print(json.load(sys.stdin)['result']['height'])"
http://localhost:9630/v1/chain/P | python3 -c "import sys,json; print(json.load(sys.stdin)['result']['height'])"
# Check peers
curl -sf -X POST -H "Content-Type: application/json" \
+1 -1
View File
@@ -4,7 +4,7 @@
# SQLite file and branding per chain, so explorer.lux.network and
# explorer.zoo.network are the same origin. It is NOT the Next.js frontend
# configured in k8s/lux-explorer/configmap-chains.yaml — that is the older
# DO-era stack, and its RPC URLs still carry the dead /ext/bc/<id>/rpc form.
# DO-era stack, and its RPC URLs still carry the dead /v1/chain/<id>/rpc form.
#
# RPC endpoints are /v1/chain/<alias>/rpc against the local luxd fleet.
# Paths below are Spark-local; the file is tracked so the running explorer is
+4 -4
View File
@@ -5,13 +5,13 @@ import { ethChainId, API_DOMAINS, CHAIN_IDS } from './helpers'
// distinct EVM chainId over the canonical flat /v1 public RPC surface. A deploy
// to one network must never change another's chainId.
//
// mainnet api.lux.network /v1/bc/C/rpc -> 96369 (0x17871)
// testnet api.lux-test.network /v1/bc/C/rpc -> 96368 (0x17870)
// devnet api.lux-dev.network /v1/bc/C/rpc -> 96367 (0x1786f)
// mainnet api.lux.network /v1/chain/C/rpc -> 96369 (0x17871)
// testnet api.lux-test.network /v1/chain/C/rpc -> 96368 (0x17870)
// devnet api.lux-dev.network /v1/chain/C/rpc -> 96367 (0x1786f)
const NETWORKS = (['mainnet', 'testnet', 'devnet'] as const).map(net => ({
net,
rpc: `${API_DOMAINS[net]}/v1/bc/C/rpc`,
rpc: `${API_DOMAINS[net]}/v1/chain/C/rpc`,
expected: CHAIN_IDS[net].lux,
}))
+4 -4
View File
@@ -19,10 +19,10 @@ const APPCHAIN_RPCS = isLocal()
zoo: urls.rpcZoo,
}
: {
zoo: 'https://api.zoo.network/v1/bc/C/rpc',
hanzo: 'https://api.hanzo.network/v1/bc/C/rpc',
spc: 'https://api.spc.network/v1/bc/C/rpc',
pars: 'https://api.pars.network/v1/bc/C/rpc',
zoo: 'https://api.zoo.network/v1/chain/zoo',
hanzo: 'https://api.hanzo.network/v1/chain/hanzo',
spc: 'https://api.spc.network/v1/chain/spc',
pars: 'https://api.pars.network/v1/chain/pars',
}
// ── Zoo C-Chain ────────────────────────────────────────────────────
+1 -1
View File
@@ -87,7 +87,7 @@ test.describe(`Operator console — ${env.network} (${BASE})`, () => {
// em-dash fails this — which is the correct outcome when the RPC is down.
await expect(page.getByText(/^[1-9][0-9,]{3,}$/).first()).toBeVisible({ timeout: 30_000 })
// And the receipt must name the endpoint that produced it.
await expect(page.locator('.receipt').first()).toContainText('/v1/bc/C/rpc')
await expect(page.locator('.receipt').first()).toContainText('/v1/chain/C/rpc')
})
test('every value-moving control is behind the owner gate', async ({ page }) => {
+2 -2
View File
@@ -32,10 +32,10 @@ Skipped (not failed) when `LUX_RPC` is unset, so it is CI-safe.
```sh
# spec verification against any reachable v1.31.2 net (non-destructive, read-only)
LUX_RPC=https://api.lux-test.network/v1/bc/C/rpc LUX_CHAIN_ID=96368 ./verify.sh
LUX_RPC=https://api.lux-test.network/v1/chain/c LUX_CHAIN_ID=96368 ./verify.sh
# multi-validator convergence (e.g. 3 port-forwarded devnet pods)
LUX_RPC=http://127.0.0.1:19651/v1/bc/C/rpc,http://127.0.0.1:19652/v1/bc/C/rpc,http://127.0.0.1:19653/v1/bc/C/rpc \
LUX_RPC=http://127.0.0.1:19651/v1/chain/C/rpc,http://127.0.0.1:19652/v1/chain/C/rpc,http://127.0.0.1:19653/v1/chain/C/rpc \
LUX_CHAIN_ID=96367 LUX_REQUIRE_FILL=1 ./verify.sh
```
+1 -1
View File
@@ -47,7 +47,7 @@ EPS=""
n=0
p="$RPC_BASE"
while [ "$n" -lt "$N" ] && [ "$p" -lt $((RPC_BASE + 50)) ]; do
url="http://127.0.0.1:$p/v1/bc/C/rpc"
url="http://127.0.0.1:$p/v1/chain/C/rpc"
if curl -s -m 3 -X POST -H 'content-type: application/json' \
--data '{"jsonrpc":"2.0","id":1,"method":"eth_chainId","params":[]}' "$url" 2>/dev/null | grep -q result; then
EPS="${EPS:+$EPS,}$url"; n=$((n + 1))
+1 -1
View File
@@ -48,7 +48,7 @@ echo "[upgrade] recovered on TO version after ${i}s"
# 3) Re-discover endpoints and re-assert the gate (DEX still fills + converges).
EPS=""; n=0; p="$RPC_BASE"
while [ "$n" -lt "$N" ] && [ "$p" -lt $((RPC_BASE + 50)) ]; do
url="http://127.0.0.1:$p/v1/bc/C/rpc"
url="http://127.0.0.1:$p/v1/chain/C/rpc"
curl -s -m 3 -X POST -H 'content-type: application/json' \
--data '{"jsonrpc":"2.0","id":1,"method":"eth_chainId","params":[]}' "$url" 2>/dev/null | grep -q result \
&& { EPS="${EPS:+$EPS,}$url"; n=$((n + 1)); }
+1 -1
View File
@@ -5,7 +5,7 @@
# reset.sh and upgrade.sh all end by calling it. It is also runnable standalone
# against a live net for spec verification (non-destructive — read path only).
#
# LUX_RPC=http://127.0.0.1:9650/v1/bc/C/rpc ./verify.sh
# LUX_RPC=http://127.0.0.1:9650/v1/chain/C/rpc ./verify.sh
# LUX_RPC=ep1,ep2,ep3 LUX_CHAIN_ID=96367 LUX_REQUIRE_FILL=1 ./verify.sh
#
# Env (read by dex_e2e_test.go):
+10 -10
View File
@@ -190,12 +190,12 @@ const LOCAL_IAM = 'http://127.0.0.1:8899'
function remoteUrls(net: NetworkKey): Urls {
const lux = apiBase('lux', net)
return {
rpc: `${lux}/v1/bc/C/rpc`,
rpc: `${lux}/v1/chain/C/rpc`,
rpcInfo: `${lux}/v1/info`,
rpcHealth: `${lux}/v1/health`,
rpcPlatform: `${lux}/v1/bc/P`,
rpcXChain: `${lux}/v1/bc/X`,
rpcZoo: `${apiBase('zoo', net)}/v1/bc/C/rpc`,
rpcPlatform: `${lux}/v1/chain/P`,
rpcXChain: `${lux}/v1/chain/X`,
rpcZoo: `${apiBase('zoo', net)}/v1/chain/C/rpc`,
exploreLux: `https://${exploreHost('lux', net)}`,
exploreZoo: `https://${exploreHost('zoo', net)}`,
exploreHanzo: `https://${exploreHost('hanzo', net)}`,
@@ -222,12 +222,12 @@ function remoteUrls(net: NetworkKey): Urls {
function localUrls(): Urls {
return {
rpc: `${LOCAL_RPC}/v1/bc/C/rpc`,
rpc: `${LOCAL_RPC}/v1/chain/C/rpc`,
rpcInfo: `${LOCAL_RPC}/v1/info`,
rpcHealth: `${LOCAL_RPC}/v1/health`,
rpcPlatform: `${LOCAL_RPC}/v1/bc/P`,
rpcXChain: `${LOCAL_RPC}/v1/bc/X`,
rpcZoo: `${LOCAL_RPC}/v1/bc/zoo/rpc`,
rpcPlatform: `${LOCAL_RPC}/v1/chain/P`,
rpcXChain: `${LOCAL_RPC}/v1/chain/X`,
rpcZoo: `${LOCAL_RPC}/v1/chain/zoo/rpc`,
exploreLux: 'http://localhost:4010',
exploreZoo: 'http://localhost:4011',
exploreHanzo: 'http://localhost:4012',
@@ -414,9 +414,9 @@ export const EXPLORERS: Explorer[] = [
// Never hand-build /mainnet or /ext paths: every network serves flat /v1.
export function orgRpc(org: Org, network: NetworkKey = env.network): string {
if (env.isLocal && network === env.network) {
return org === 'lux' ? env.urls.rpc : `${LOCAL_RPC}/v1/bc/${org}/rpc`
return org === 'lux' ? env.urls.rpc : `${LOCAL_RPC}/v1/chain/${org}/rpc`
}
return `${apiBase(org, network)}/v1/bc/C/rpc`
return `${apiBase(org, network)}/v1/chain/C/rpc`
}
// ── Viewports ──────────────────────────────────────────────────────────────
+1 -1
View File
@@ -24,7 +24,7 @@ export type LuxUrls = typeof env.urls
// Lux's API host per network, computed from the one derivation in env.ts, for
// the specs that deliberately reach across networks at once (14-network-
// independence). Other orgs need no table of their own: every org is a sovereign
// L1 serving its own C-Chain from api.<org>.network on the flat /v1/bc/C/rpc
// L1 serving its own C-Chain from api.<org>.network on the flat /v1/chain/C/rpc
// path, which is exactly what orgRpc(org, network) returns. The four hand-kept
// per-org domain tables this file used to carry are gone.
export const API_DOMAINS: Record<string, string> =
+1 -1
View File
@@ -32,7 +32,7 @@
# affinity/selector … 1 max node group size reached
# for 13h. Consequence: luxfi/cloud queued four Docker builds for 5-10h and
# lux.cloud served a bundle six commits stale, still calling the retired
# /v1/bc/C/rpc — so the console reported a live trillion-LUX treasury as
# /v1/chain/C/rpc — so the console reported a live trillion-LUX treasury as
# 0 LUX and every Lux chain's height as an em-dash.
#
# The selector was also WRONG independently of the missing pool: `arch:
+13 -13
View File
@@ -80,12 +80,12 @@ that hosts:
┌──────────────────────────────────────────────────────────┐
│ luxd validators (StatefulSet, 5 replicas) │
│ Primary network + all app chain EVMs (Zoo, Hanzo, Pars, SPC) │
│ /v1/bc/C/rpc → Lux C-Chain (96369) │
│ /v1/bc/zoo/rpc → Zoo (200200) │
│ /v1/bc/hanzo/rpc → Hanzo (36963) │
│ /v1/bc/pars/rpc → Pars (494949) │
│ /v1/bc/spc/rpc → SPC (36911) │
│ /v1/bc/{Q,Z,T,A,D,B,K}/rpc → primary-network chains │
│ /v1/chain/C/rpc → Lux C-Chain (96369) │
│ /v1/chain/zoo/rpc → Zoo (200200) │
│ /v1/chain/hanzo/rpc → Hanzo (36963) │
│ /v1/chain/pars/rpc → Pars (494949) │
│ /v1/chain/spc/rpc → SPC (36911) │
│ /v1/chain/{Q,Z,T,A,D,B,K}/rpc → primary-network chains │
└──────────────────────────────────────────────────────────┘
```
@@ -95,11 +95,11 @@ Each chain runs ONE backend service per concern:
| chain | gateway | indexer | graph (subgraph) | explorer frontend |
|---|---|---|---|---|
| Lux C-Chain | `api.lux.network/v1/bc/C/rpc` | `indexer-c-indexer` | (rolled into `explorer-mainnet-v2`) | `explore.lux.network` |
| Zoo | `api.lux.network/v1/bc/zoo/rpc` | `indexer-zoo-indexer` | indexer + graph + explore in `ghcr.io/luxfi/explorer` | `explore.zoo.network` |
| Hanzo | `api.lux.network/v1/bc/hanzo/rpc` | `indexer-hanzo-indexer` | same | `explore.hanzo.ai` |
| Pars | `api.lux.network/v1/bc/pars/rpc` | `indexer-pars-indexer` | same | `explore.pars.network` |
| SPC | `api.lux.network/v1/bc/spc/rpc` | `indexer-spc-indexer` | same | `explore.spc.network` |
| Lux C-Chain | `api.lux.network/v1/chain/c` | `indexer-c-indexer` | (rolled into `explorer-mainnet-v2`) | `explore.lux.network` |
| Zoo | `api.lux.network/v1/chain/zoo/rpc` | `indexer-zoo-indexer` | indexer + graph + explore in `ghcr.io/luxfi/explorer` | `explore.zoo.network` |
| Hanzo | `api.lux.network/v1/chain/hanzo/rpc` | `indexer-hanzo-indexer` | same | `explore.hanzo.ai` |
| Pars | `api.lux.network/v1/chain/pars/rpc` | `indexer-pars-indexer` | same | `explore.pars.network` |
| SPC | `api.lux.network/v1/chain/spc/rpc` | `indexer-spc-indexer` | same | `explore.spc.network` |
**Unified explorer image** (`ghcr.io/luxfi/explorer:latest`, source `~/work/lux/explorer/`):
@@ -110,7 +110,7 @@ Each chain runs ONE backend service per concern:
- Optional snapshot replication to `s3.lux.cloud`
White-label exchanges hit:
- `api.<brand>.<tld>/v1/bc/<chain>/rpc` for raw RPC (proxied via Gateway to luxd)
- `api.<brand>.<tld>/v1/chain/<chain>/rpc` for raw RPC (proxied via Gateway to luxd)
- `api.<brand>.<tld>/v1/graphql` for swaps/pools/positions/historical (proxied to graph engine)
- `api.<brand>.<tld>/api/indexer/indexer-<chain>` for block/tx/contract metadata
@@ -149,7 +149,7 @@ createRoot(document.getElementById('root')!).render(
{...brand} logo={Logo}
chains={canonicalChains} // lux + hanzo + zoo + liquid (12 chains)
defaultChain={zooMainnet} // → 200200
dex={{ kind: 'gateway', url: '/' }} // SPA hits same-origin /v1/bc/<chain>/rpc
dex={{ kind: 'gateway', url: '/' }} // SPA hits same-origin /v1/chain/<chain>/rpc
auth={{ provider: 'iam', issuer: 'https://zoolabs.id', clientId: 'zoo-exchange', idHost: 'https://zoolabs.id' }}
kms={{ url: 'https://kms.zoo.network' }}
bridge={{ url: 'https://bridge.zoo.ngo' }} // ~/work/lux/bridge — multi-tenant by domain
@@ -5,7 +5,7 @@ items:
metadata:
annotations:
kubectl.kubernetes.io/last-applied-configuration: |
{"apiVersion":"lux.network/v1alpha1","kind":"LuxGateway","metadata":{"annotations":{},"labels":{"app.kubernetes.io/part-of":"lux-network","lux.network/network":"devnet"},"name":"api-gateway","namespace":"lux-devnet"},"spec":{"autoRoutes":true,"cors":{"allowedHeaders":["Content-Type","Authorization"],"allowedMethods":["GET","POST","OPTIONS"],"allowedOrigins":["*"]},"customRoutes":[{"backend":"http://luxd-headless.lux-devnet.svc:9650","methods":["GET","POST","OPTIONS"],"path":"/v1/bc/2caKCdNop9C4oAPR1kYihN53HeSRDXD3JyMKS7ntfcpQYucmii/rpc","timeout":30},{"backend":"http://luxd-headless.lux-devnet.svc:9650","methods":["GET","POST","OPTIONS"],"path":"/v1/bc/zoo/rpc","timeout":30},{"backend":"http://luxd-headless.lux-devnet.svc:9650","methods":["GET","POST","OPTIONS"],"path":"/v1/bc/tecXMucYDxwN65mebPE6cvQ9GynG6Y5WEvwGFsY3xVDWHxiqT/rpc","timeout":30},{"backend":"http://luxd-headless.lux-devnet.svc:9650","methods":["GET","POST","OPTIONS"],"path":"/v1/bc/hanzo/rpc","timeout":30},{"backend":"http://luxd-headless.lux-devnet.svc:9650","methods":["GET","POST","OPTIONS"],"path":"/v1/bc/213ZsFLRCBSmrii4huQqa6S3SxYPP8ec6dPEn6ad4CtLk3RdXp/rpc","timeout":30},{"backend":"http://luxd-headless.lux-devnet.svc:9650","methods":["GET","POST","OPTIONS"],"path":"/v1/bc/spc/rpc","timeout":30},{"backend":"http://luxd-headless.lux-devnet.svc:9650","methods":["GET","POST","OPTIONS"],"path":"/v1/bc/MEGAgimfcodi7QaqCruFpTkNM6fqu7ZduLmWJJjGQwUg8uDPJ/rpc","timeout":30},{"backend":"http://luxd-headless.lux-devnet.svc:9650","methods":["GET","POST","OPTIONS"],"path":"/v1/bc/pars/rpc","timeout":30}],"host":"api.devnet.lux.network","indexerRefs":["indexer-c","indexer-zoo","indexer-hanzo","indexer-spc","indexer-pars"],"networkRef":"luxd","port":8080,"rateLimit":{"burst":200,"requestsPerSecond":100},"replicas":1}}
{"apiVersion":"lux.network/v1alpha1","kind":"LuxGateway","metadata":{"annotations":{},"labels":{"app.kubernetes.io/part-of":"lux-network","lux.network/network":"devnet"},"name":"api-gateway","namespace":"lux-devnet"},"spec":{"autoRoutes":true,"cors":{"allowedHeaders":["Content-Type","Authorization"],"allowedMethods":["GET","POST","OPTIONS"],"allowedOrigins":["*"]},"customRoutes":[{"backend":"http://luxd-headless.lux-devnet.svc:9650","methods":["GET","POST","OPTIONS"],"path":"/v1/chain/2caKCdNop9C4oAPR1kYihN53HeSRDXD3JyMKS7ntfcpQYucmii/rpc","timeout":30},{"backend":"http://luxd-headless.lux-devnet.svc:9650","methods":["GET","POST","OPTIONS"],"path":"/v1/chain/zoo/rpc","timeout":30},{"backend":"http://luxd-headless.lux-devnet.svc:9650","methods":["GET","POST","OPTIONS"],"path":"/v1/chain/tecXMucYDxwN65mebPE6cvQ9GynG6Y5WEvwGFsY3xVDWHxiqT/rpc","timeout":30},{"backend":"http://luxd-headless.lux-devnet.svc:9650","methods":["GET","POST","OPTIONS"],"path":"/v1/chain/hanzo/rpc","timeout":30},{"backend":"http://luxd-headless.lux-devnet.svc:9650","methods":["GET","POST","OPTIONS"],"path":"/v1/chain/213ZsFLRCBSmrii4huQqa6S3SxYPP8ec6dPEn6ad4CtLk3RdXp/rpc","timeout":30},{"backend":"http://luxd-headless.lux-devnet.svc:9650","methods":["GET","POST","OPTIONS"],"path":"/v1/chain/spc/rpc","timeout":30},{"backend":"http://luxd-headless.lux-devnet.svc:9650","methods":["GET","POST","OPTIONS"],"path":"/v1/chain/MEGAgimfcodi7QaqCruFpTkNM6fqu7ZduLmWJJjGQwUg8uDPJ/rpc","timeout":30},{"backend":"http://luxd-headless.lux-devnet.svc:9650","methods":["GET","POST","OPTIONS"],"path":"/v1/chain/pars/rpc","timeout":30}],"host":"api.devnet.lux.network","indexerRefs":["indexer-c","indexer-zoo","indexer-hanzo","indexer-spc","indexer-pars"],"networkRef":"luxd","port":8080,"rateLimit":{"burst":200,"requestsPerSecond":100},"replicas":1}}
reconcile-at: "2026-03-02T06:44:35Z"
creationTimestamp: "2026-03-02T06:26:33Z"
generation: 2
@@ -34,56 +34,56 @@ items:
- GET
- POST
- OPTIONS
path: /v1/bc/2caKCdNop9C4oAPR1kYihN53HeSRDXD3JyMKS7ntfcpQYucmii/rpc
path: /v1/chain/2caKCdNop9C4oAPR1kYihN53HeSRDXD3JyMKS7ntfcpQYucmii/rpc
timeout: 30
- backend: http://luxd-headless.lux-devnet.svc:9650
methods:
- GET
- POST
- OPTIONS
path: /v1/bc/zoo/rpc
path: /v1/chain/zoo/rpc
timeout: 30
- backend: http://luxd-headless.lux-devnet.svc:9650
methods:
- GET
- POST
- OPTIONS
path: /v1/bc/tecXMucYDxwN65mebPE6cvQ9GynG6Y5WEvwGFsY3xVDWHxiqT/rpc
path: /v1/chain/tecXMucYDxwN65mebPE6cvQ9GynG6Y5WEvwGFsY3xVDWHxiqT/rpc
timeout: 30
- backend: http://luxd-headless.lux-devnet.svc:9650
methods:
- GET
- POST
- OPTIONS
path: /v1/bc/hanzo/rpc
path: /v1/chain/hanzo/rpc
timeout: 30
- backend: http://luxd-headless.lux-devnet.svc:9650
methods:
- GET
- POST
- OPTIONS
path: /v1/bc/213ZsFLRCBSmrii4huQqa6S3SxYPP8ec6dPEn6ad4CtLk3RdXp/rpc
path: /v1/chain/213ZsFLRCBSmrii4huQqa6S3SxYPP8ec6dPEn6ad4CtLk3RdXp/rpc
timeout: 30
- backend: http://luxd-headless.lux-devnet.svc:9650
methods:
- GET
- POST
- OPTIONS
path: /v1/bc/spc/rpc
path: /v1/chain/spc/rpc
timeout: 30
- backend: http://luxd-headless.lux-devnet.svc:9650
methods:
- GET
- POST
- OPTIONS
path: /v1/bc/MEGAgimfcodi7QaqCruFpTkNM6fqu7ZduLmWJJjGQwUg8uDPJ/rpc
path: /v1/chain/MEGAgimfcodi7QaqCruFpTkNM6fqu7ZduLmWJJjGQwUg8uDPJ/rpc
timeout: 30
- backend: http://luxd-headless.lux-devnet.svc:9650
methods:
- GET
- POST
- OPTIONS
path: /v1/bc/pars/rpc
path: /v1/chain/pars/rpc
timeout: 30
host: api.devnet.lux.network
indexerRefs:
@@ -165,7 +165,7 @@ items:
metadata:
annotations:
kubectl.kubernetes.io/last-applied-configuration: |
{"apiVersion":"lux.network/v1alpha1","kind":"LuxGateway","metadata":{"annotations":{},"labels":{"app.kubernetes.io/part-of":"lux-network","lux.network/network":"testnet"},"name":"api-gateway","namespace":"lux-testnet"},"spec":{"autoRoutes":true,"cors":{"allowedHeaders":["Content-Type","Authorization"],"allowedMethods":["GET","POST","OPTIONS"],"allowedOrigins":["*"]},"customRoutes":[{"backend":"http://luxd-headless.lux-testnet.svc:9640","methods":["GET","POST","OPTIONS"],"path":"/v1/bc/2Uw1b5tf63vamHsWVeSW9uHcGBVbF5CYHS9JiLWttusY4Vvjsn/rpc","timeout":30},{"backend":"http://luxd-headless.lux-testnet.svc:9640","methods":["GET","POST","OPTIONS"],"path":"/v1/bc/zoo/rpc","timeout":30},{"backend":"http://luxd-headless.lux-testnet.svc:9640","methods":["GET","POST","OPTIONS"],"path":"/v1/bc/2wbYEFh7ELuovqXhyYeCLvweZrcEgNUoZVJUAtw145qTVAUJxE/rpc","timeout":30},{"backend":"http://luxd-headless.lux-testnet.svc:9640","methods":["GET","POST","OPTIONS"],"path":"/v1/bc/hanzo/rpc","timeout":30},{"backend":"http://luxd-headless.lux-testnet.svc:9640","methods":["GET","POST","OPTIONS"],"path":"/v1/bc/u4pC2tT61o83pbQ8qwAyfXXGF6nyGFNSwCYHEFcUeESGiNKfu/rpc","timeout":30},{"backend":"http://luxd-headless.lux-testnet.svc:9640","methods":["GET","POST","OPTIONS"],"path":"/v1/bc/spc/rpc","timeout":30},{"backend":"http://luxd-headless.lux-testnet.svc:9640","methods":["GET","POST","OPTIONS"],"path":"/v1/bc/is5GUzsKHk3Z4Q5JXTjF4Ld9p4TnEs81tJFdaBiEBJVkaFrrs/rpc","timeout":30},{"backend":"http://luxd-headless.lux-testnet.svc:9640","methods":["GET","POST","OPTIONS"],"path":"/v1/bc/pars/rpc","timeout":30}],"host":"api.testnet.lux.network","indexerRefs":["indexer-c","indexer-zoo","indexer-hanzo","indexer-spc","indexer-pars"],"networkRef":"luxd","port":8080,"rateLimit":{"burst":200,"requestsPerSecond":100},"replicas":1}}
{"apiVersion":"lux.network/v1alpha1","kind":"LuxGateway","metadata":{"annotations":{},"labels":{"app.kubernetes.io/part-of":"lux-network","lux.network/network":"testnet"},"name":"api-gateway","namespace":"lux-testnet"},"spec":{"autoRoutes":true,"cors":{"allowedHeaders":["Content-Type","Authorization"],"allowedMethods":["GET","POST","OPTIONS"],"allowedOrigins":["*"]},"customRoutes":[{"backend":"http://luxd-headless.lux-testnet.svc:9640","methods":["GET","POST","OPTIONS"],"path":"/v1/chain/2Uw1b5tf63vamHsWVeSW9uHcGBVbF5CYHS9JiLWttusY4Vvjsn/rpc","timeout":30},{"backend":"http://luxd-headless.lux-testnet.svc:9640","methods":["GET","POST","OPTIONS"],"path":"/v1/chain/zoo/rpc","timeout":30},{"backend":"http://luxd-headless.lux-testnet.svc:9640","methods":["GET","POST","OPTIONS"],"path":"/v1/chain/2wbYEFh7ELuovqXhyYeCLvweZrcEgNUoZVJUAtw145qTVAUJxE/rpc","timeout":30},{"backend":"http://luxd-headless.lux-testnet.svc:9640","methods":["GET","POST","OPTIONS"],"path":"/v1/chain/hanzo/rpc","timeout":30},{"backend":"http://luxd-headless.lux-testnet.svc:9640","methods":["GET","POST","OPTIONS"],"path":"/v1/chain/u4pC2tT61o83pbQ8qwAyfXXGF6nyGFNSwCYHEFcUeESGiNKfu/rpc","timeout":30},{"backend":"http://luxd-headless.lux-testnet.svc:9640","methods":["GET","POST","OPTIONS"],"path":"/v1/chain/spc/rpc","timeout":30},{"backend":"http://luxd-headless.lux-testnet.svc:9640","methods":["GET","POST","OPTIONS"],"path":"/v1/chain/is5GUzsKHk3Z4Q5JXTjF4Ld9p4TnEs81tJFdaBiEBJVkaFrrs/rpc","timeout":30},{"backend":"http://luxd-headless.lux-testnet.svc:9640","methods":["GET","POST","OPTIONS"],"path":"/v1/chain/pars/rpc","timeout":30}],"host":"api.testnet.lux.network","indexerRefs":["indexer-c","indexer-zoo","indexer-hanzo","indexer-spc","indexer-pars"],"networkRef":"luxd","port":8080,"rateLimit":{"burst":200,"requestsPerSecond":100},"replicas":1}}
reconcile-at: "2026-03-02T06:44:34Z"
creationTimestamp: "2026-03-02T06:26:33Z"
generation: 2
@@ -194,56 +194,56 @@ items:
- GET
- POST
- OPTIONS
path: /v1/bc/2Uw1b5tf63vamHsWVeSW9uHcGBVbF5CYHS9JiLWttusY4Vvjsn/rpc
path: /v1/chain/2Uw1b5tf63vamHsWVeSW9uHcGBVbF5CYHS9JiLWttusY4Vvjsn/rpc
timeout: 30
- backend: http://luxd-headless.lux-testnet.svc:9640
methods:
- GET
- POST
- OPTIONS
path: /v1/bc/zoo/rpc
path: /v1/chain/zoo/rpc
timeout: 30
- backend: http://luxd-headless.lux-testnet.svc:9640
methods:
- GET
- POST
- OPTIONS
path: /v1/bc/2wbYEFh7ELuovqXhyYeCLvweZrcEgNUoZVJUAtw145qTVAUJxE/rpc
path: /v1/chain/2wbYEFh7ELuovqXhyYeCLvweZrcEgNUoZVJUAtw145qTVAUJxE/rpc
timeout: 30
- backend: http://luxd-headless.lux-testnet.svc:9640
methods:
- GET
- POST
- OPTIONS
path: /v1/bc/hanzo/rpc
path: /v1/chain/hanzo/rpc
timeout: 30
- backend: http://luxd-headless.lux-testnet.svc:9640
methods:
- GET
- POST
- OPTIONS
path: /v1/bc/u4pC2tT61o83pbQ8qwAyfXXGF6nyGFNSwCYHEFcUeESGiNKfu/rpc
path: /v1/chain/u4pC2tT61o83pbQ8qwAyfXXGF6nyGFNSwCYHEFcUeESGiNKfu/rpc
timeout: 30
- backend: http://luxd-headless.lux-testnet.svc:9640
methods:
- GET
- POST
- OPTIONS
path: /v1/bc/spc/rpc
path: /v1/chain/spc/rpc
timeout: 30
- backend: http://luxd-headless.lux-testnet.svc:9640
methods:
- GET
- POST
- OPTIONS
path: /v1/bc/is5GUzsKHk3Z4Q5JXTjF4Ld9p4TnEs81tJFdaBiEBJVkaFrrs/rpc
path: /v1/chain/is5GUzsKHk3Z4Q5JXTjF4Ld9p4TnEs81tJFdaBiEBJVkaFrrs/rpc
timeout: 30
- backend: http://luxd-headless.lux-testnet.svc:9640
methods:
- GET
- POST
- OPTIONS
path: /v1/bc/pars/rpc
path: /v1/chain/pars/rpc
timeout: 30
host: api.testnet.lux.network
indexerRefs:
@@ -13,9 +13,9 @@ data:
PORT: "3000"
NEXT_TELEMETRY_DISABLED: "1"
# Env-specific gateway: NO /devnet infix (that path 404s). The lux-dev
# Gateway serves the C-Chain (96367) directly at /v1/bc/C/rpc. Verified live.
NEXT_PUBLIC_LXD_GATEWAY_URL: "https://api.lux-dev.network/v1/bc/C/rpc"
REACT_APP_LXD_GATEWAY_URL: "https://api.lux-dev.network/v1/bc/C/rpc"
# Gateway serves the C-Chain (96367) directly at /v1/chain/C/rpc. Verified live.
NEXT_PUBLIC_LXD_GATEWAY_URL: "https://api.lux-dev.network/v1/chain/c"
REACT_APP_LXD_GATEWAY_URL: "https://api.lux-dev.network/v1/chain/c"
REACT_APP_AWS_API_ENDPOINT: "/api"
REACT_APP_PUBLIC_API_ENDPOINT: "/api"
REACT_APP_SENTRY_ENABLED: "false"
@@ -13,9 +13,9 @@ data:
PORT: "3000"
NEXT_TELEMETRY_DISABLED: "1"
# Unified gateway: NO /mainnet infix (that path now 404s; gateway simplified).
# api.lux.network serves the C-Chain (96369) directly at /v1/bc/C/rpc. Verified live.
NEXT_PUBLIC_LXD_GATEWAY_URL: "https://api.lux.network/v1/bc/C/rpc"
REACT_APP_LXD_GATEWAY_URL: "https://api.lux.network/v1/bc/C/rpc"
# api.lux.network serves the C-Chain (96369) directly at /v1/chain/C/rpc. Verified live.
NEXT_PUBLIC_LXD_GATEWAY_URL: "https://api.lux.network/v1/chain/c"
REACT_APP_LXD_GATEWAY_URL: "https://api.lux.network/v1/chain/c"
REACT_APP_AWS_API_ENDPOINT: "/api"
REACT_APP_PUBLIC_API_ENDPOINT: "/api"
REACT_APP_SENTRY_ENABLED: "false"
@@ -13,9 +13,9 @@ data:
PORT: "3000"
NEXT_TELEMETRY_DISABLED: "1"
# Env-specific gateway: NO /testnet infix (that path 404s). The lux-test
# Gateway serves the C-Chain (96368) directly at /v1/bc/C/rpc. Verified live.
NEXT_PUBLIC_LXD_GATEWAY_URL: "https://api.lux-test.network/v1/bc/C/rpc"
REACT_APP_LXD_GATEWAY_URL: "https://api.lux-test.network/v1/bc/C/rpc"
# Gateway serves the C-Chain (96368) directly at /v1/chain/C/rpc. Verified live.
NEXT_PUBLIC_LXD_GATEWAY_URL: "https://api.lux-test.network/v1/chain/c"
REACT_APP_LXD_GATEWAY_URL: "https://api.lux-test.network/v1/chain/c"
REACT_APP_AWS_API_ENDPOINT: "/api"
REACT_APP_PUBLIC_API_ENDPOINT: "/api"
REACT_APP_SENTRY_ENABLED: "false"
@@ -39,8 +39,8 @@ data:
"supported": [494949, 96369, 1, 42161, 8453]
},
"rpc": {
"494949": "https://api.lux.network/mainnet/v1/bc/2pUskxqaL5Bpx7uRUGG1fDjPckjxQ4UKX4sLKeaS1NdSVBJd3F/rpc",
"96369": "https://api.lux.network/v1/bc/C/rpc",
"494949": "https://api.lux.network/mainnet/v1/chain/2pUskxqaL5Bpx7uRUGG1fDjPckjxQ4UKX4sLKeaS1NdSVBJd3F/rpc",
"96369": "https://api.lux.network/v1/chain/c",
"1": "https://eth.llamarpc.com",
"42161": "https://arb1.arbitrum.io/rpc",
"8453": "https://mainnet.base.org"
@@ -14,9 +14,9 @@ data:
NODE_ENV: "production"
PORT: "3000"
NEXT_TELEMETRY_DISABLED: "1"
NEXT_PUBLIC_LXD_GATEWAY_URL: "https://api.lux.network/mainnet/v1/bc/2pUskxqaL5Bpx7uRUGG1fDjPckjxQ4UKX4sLKeaS1NdSVBJd3F/rpc"
NEXT_PUBLIC_LXD_GATEWAY_URL: "https://api.lux.network/mainnet/v1/chain/2pUskxqaL5Bpx7uRUGG1fDjPckjxQ4UKX4sLKeaS1NdSVBJd3F/rpc"
NEXT_PUBLIC_DEFAULT_CHAIN_ID: "494949"
REACT_APP_LXD_GATEWAY_URL: "https://api.lux.network/mainnet/v1/bc/2pUskxqaL5Bpx7uRUGG1fDjPckjxQ4UKX4sLKeaS1NdSVBJd3F/rpc"
REACT_APP_LXD_GATEWAY_URL: "https://api.lux.network/mainnet/v1/chain/2pUskxqaL5Bpx7uRUGG1fDjPckjxQ4UKX4sLKeaS1NdSVBJd3F/rpc"
REACT_APP_AWS_API_ENDPOINT: "/api"
REACT_APP_PUBLIC_API_ENDPOINT: "/api"
REACT_APP_SENTRY_ENABLED: "false"
@@ -57,12 +57,12 @@ spec:
for f in /patched/assets/*.js; do
sed -i 's|if(!r){const [a-z]=new Error(`Feature|if(!r){return"__unmapped_gate_"+e}if(false){const x=new Error(`Feature|g' "$f"
sed -i 's|http://127\.0\.0\.1:8545/v1/bc/C/rpc|https://api.lux.network/mainnet/v1/bc/2pUskxqaL5Bpx7uRUGG1fDjPckjxQ4UKX4sLKeaS1NdSVBJd3F/rpc|g' "$f"
sed -i 's|http://127\.0\.0\.1:8545|https://api.lux.network/mainnet/v1/bc/2pUskxqaL5Bpx7uRUGG1fDjPckjxQ4UKX4sLKeaS1NdSVBJd3F/rpc|g' "$f"
sed -i 's|http://127\.0\.0\.1:8546|https://api.lux.network/mainnet/v1/bc/2pUskxqaL5Bpx7uRUGG1fDjPckjxQ4UKX4sLKeaS1NdSVBJd3F/rpc|g' "$f"
sed -i 's|http://localhost:8545/v1/bc/C/explorer/|https://explore.pars.network/|g' "$f"
sed -i 's|http://localhost:9630/v1/bc/G/graphql|https://api.pars.market/v1/graphql|g' "$f"
sed -i 's|http://localhost:9650/v1/bc/G/graphql|https://api.pars.market/v1/graphql|g' "$f"
sed -i 's|http://127\.0\.0\.1:8545/v1/chain/C/rpc|https://api.lux.network/mainnet/v1/chain/2pUskxqaL5Bpx7uRUGG1fDjPckjxQ4UKX4sLKeaS1NdSVBJd3F/rpc|g' "$f"
sed -i 's|http://127\.0\.0\.1:8545|https://api.lux.network/mainnet/v1/chain/2pUskxqaL5Bpx7uRUGG1fDjPckjxQ4UKX4sLKeaS1NdSVBJd3F/rpc|g' "$f"
sed -i 's|http://127\.0\.0\.1:8546|https://api.lux.network/mainnet/v1/chain/2pUskxqaL5Bpx7uRUGG1fDjPckjxQ4UKX4sLKeaS1NdSVBJd3F/rpc|g' "$f"
sed -i 's|http://localhost:8545/v1/chain/C/explorer/|https://explore.pars.network/|g' "$f"
sed -i 's|http://localhost:9630/v1/chain/G/graphql|https://api.pars.market/v1/graphql|g' "$f"
sed -i 's|http://localhost:9650/v1/chain/G/graphql|https://api.pars.market/v1/graphql|g' "$f"
sed -i 's|http://localhost:8080|https://gw.pars.market|g' "$f"
done
@@ -40,13 +40,13 @@ spec:
- { name: SPA_BRAND_NAME, value: "Zoo Exchange" }
- { name: SPA_DEFAULT_CHAIN, value: "200200" }
- { name: SPA_RPC_HOST, value: "https://api.zoo.network" }
# Cross-chain RPC: each org answers on its OWN gateway at /v1/bc/C/rpc.
# Cross-chain RPC: each org answers on its OWN gateway at /v1/chain/C/rpc.
# Not api.zoo.exchange/<anything> — that host is a zoo-branded alias of
# the Lux mainnet gateway, it serves no org chain and sends no CORS
# headers, so a browser on zoo.exchange cannot read its responses.
- { name: SPA_RPC_HOST_LUX, value: "https://api.lux.network/v1/bc/C/rpc" }
- { name: SPA_RPC_HOST_HANZO, value: "https://api.hanzo.network/v1/bc/C/rpc" }
- { name: SPA_RPC_HOST_PARS, value: "https://api.pars.network/v1/bc/C/rpc" }
- { name: SPA_RPC_HOST_LUX, value: "https://api.lux.network/v1/chain/c" }
- { name: SPA_RPC_HOST_HANZO, value: "https://api.hanzo.network/v1/chain/hanzo" }
- { name: SPA_RPC_HOST_PARS, value: "https://api.pars.network/v1/chain/pars" }
- { name: SPA_API_HOST, value: "https://api.zoo.exchange" }
- { name: SPA_GATEWAY_HOST, value: "https://api.zoo.exchange" }
# Zoo's identity ORIGIN is zoolabs.id — it serves the login SPA at / and
+2 -2
View File
@@ -19,12 +19,12 @@ metadata:
name: pulse-chains
namespace: hanzo-mainnet
data:
# In-cluster RPC: hanzod-rpc:9630 serves /v1/bc/C/rpc (verified tip 17206).
# In-cluster RPC: hanzod-rpc:9630 serves /v1/chain/C/rpc (verified tip 17206).
# NOTE 127.0.0.1:9630 inside a hanzod-mv pod 404s on that path — the SERVICE
# is the correct target, not pod-local.
chains.json: |
[
{"name":"hanzo-evm","rpc":"http://hanzod-rpc.hanzo-mainnet.svc.cluster.local:9630/v1/bc/C/rpc","key":"$TRAFFIC_KEY","weight":1,"dex":0}
{"name":"hanzo-evm","rpc":"http://hanzod-rpc.hanzo-mainnet.svc.cluster.local:9630/v1/chain/C/rpc","key":"$TRAFFIC_KEY","weight":1,"dex":0}
]
---
apiVersion: v1
+16 -16
View File
@@ -1,7 +1,7 @@
# Gateway config for api.lux-dev.network (hanzoai/gateway / KrakenD) in lux-devnet.
#
# The public surface is /v1 only (/v1/bc/C/rpc, /v1/bc/P, /v1/bc/X, /v1/info,
# /v1/health, per-L1 /v1/bc/<chain>/rpc). The legacy /ext/* aliases are gone:
# The public surface is /v1 only (/v1/chain/C/rpc, /v1/chain/P, /v1/chain/X, /v1/info,
# /v1/health, per-L1 /v1/chain/<chain>/rpc). The legacy /ext/* aliases are gone:
# each was a duplicate of the /v1 route it sat next to, and /v1/info — the one
# with no /v1 twin — was renamed rather than dropped, so no surface was lost.
#
@@ -476,7 +476,7 @@ data:
"host": [
"http://luxd.lux-devnet.svc:9650"
],
"url_pattern": "/v1/bc/P",
"url_pattern": "/v1/chain/P",
"timeout": "300s"
}
]
@@ -491,7 +491,7 @@ data:
"host": [
"http://luxd.lux-devnet.svc:9650"
],
"url_pattern": "/v1/bc/X",
"url_pattern": "/v1/chain/X",
"timeout": "300s"
}
]
@@ -525,7 +525,7 @@ data:
]
},
{
"endpoint": "/v1/bc/{chain}",
"endpoint": "/v1/chain/{chain}",
"method": "POST",
"output_encoding": "no-op",
"backend": [
@@ -534,7 +534,7 @@ data:
"host": [
"http://luxd.lux-devnet.svc:9650"
],
"url_pattern": "/v1/bc/{chain}",
"url_pattern": "/v1/chain/{chain}",
"timeout": "300s"
}
],
@@ -546,7 +546,7 @@ data:
}
},
{
"endpoint": "/v1/bc/{chain}",
"endpoint": "/v1/chain/{chain}",
"method": "GET",
"output_encoding": "no-op",
"backend": [
@@ -555,7 +555,7 @@ data:
"host": [
"http://luxd.lux-devnet.svc:9650"
],
"url_pattern": "/v1/bc/{chain}",
"url_pattern": "/v1/chain/{chain}",
"timeout": "300s"
}
],
@@ -567,7 +567,7 @@ data:
}
},
{
"endpoint": "/v1/bc/{chain}/{p1}",
"endpoint": "/v1/chain/{chain}/{p1}",
"method": "POST",
"output_encoding": "no-op",
"backend": [
@@ -576,7 +576,7 @@ data:
"host": [
"http://luxd.lux-devnet.svc:9650"
],
"url_pattern": "/v1/bc/{chain}/{p1}",
"url_pattern": "/v1/chain/{chain}/{p1}",
"timeout": "300s"
}
],
@@ -588,7 +588,7 @@ data:
}
},
{
"endpoint": "/v1/bc/{chain}/{p1}",
"endpoint": "/v1/chain/{chain}/{p1}",
"method": "GET",
"output_encoding": "no-op",
"backend": [
@@ -597,7 +597,7 @@ data:
"host": [
"http://luxd.lux-devnet.svc:9650"
],
"url_pattern": "/v1/bc/{chain}/{p1}",
"url_pattern": "/v1/chain/{chain}/{p1}",
"timeout": "300s"
}
],
@@ -609,7 +609,7 @@ data:
}
},
{
"endpoint": "/v1/bc/{chain}/{p1}/{p2}",
"endpoint": "/v1/chain/{chain}/{p1}/{p2}",
"method": "POST",
"output_encoding": "no-op",
"backend": [
@@ -618,7 +618,7 @@ data:
"host": [
"http://luxd.lux-devnet.svc:9650"
],
"url_pattern": "/v1/bc/{chain}/{p1}/{p2}",
"url_pattern": "/v1/chain/{chain}/{p1}/{p2}",
"timeout": "300s"
}
],
@@ -630,7 +630,7 @@ data:
}
},
{
"endpoint": "/v1/bc/{chain}/{p1}/{p2}",
"endpoint": "/v1/chain/{chain}/{p1}/{p2}",
"method": "GET",
"output_encoding": "no-op",
"backend": [
@@ -639,7 +639,7 @@ data:
"host": [
"http://luxd.lux-devnet.svc:9650"
],
"url_pattern": "/v1/bc/{chain}/{p1}/{p2}",
"url_pattern": "/v1/chain/{chain}/{p1}/{p2}",
"timeout": "300s"
}
],
+1 -1
View File
@@ -312,7 +312,7 @@ spec:
command: ["/bin/sh", "/app/chain-traffic.sh"]
env:
- name: RPC_URLS
value: "http://luxd-0.luxd-headless.lux-devnet:9650/v1/bc/C/rpc,http://luxd-1.luxd-headless.lux-devnet:9650/v1/bc/C/rpc,http://luxd-2.luxd-headless.lux-devnet:9650/v1/bc/C/rpc,http://luxd-3.luxd-headless.lux-devnet:9650/v1/bc/C/rpc,http://luxd-4.luxd-headless.lux-devnet:9650/v1/bc/C/rpc"
value: "http://luxd-0.luxd-headless.lux-devnet:9650/v1/chain/C/rpc,http://luxd-1.luxd-headless.lux-devnet:9650/v1/chain/C/rpc,http://luxd-2.luxd-headless.lux-devnet:9650/v1/chain/C/rpc,http://luxd-3.luxd-headless.lux-devnet:9650/v1/chain/C/rpc,http://luxd-4.luxd-headless.lux-devnet:9650/v1/chain/C/rpc"
- name: TX_PER_BURST
value: "2"
- name: BURST_SECS
+1 -1
View File
@@ -42,7 +42,7 @@ data:
NEXT_PUBLIC_NETWORK_CURRENCY_SYMBOL: "LUX"
NEXT_PUBLIC_NETWORK_CURRENCY_DECIMALS: "18"
NEXT_PUBLIC_IS_TESTNET: "true"
NEXT_PUBLIC_NETWORK_RPC_URL: "https://api.devnet.lux.network/v1/bc/C/rpc"
NEXT_PUBLIC_NETWORK_RPC_URL: "https://api.devnet.lux.network/v1/chain/C/rpc"
NEXT_PUBLIC_NETWORK_VERIFICATION_TYPE: "mining"
# Theme
NEXT_PUBLIC_COLOR_THEME_DEFAULT: "dark"
+1 -1
View File
@@ -58,7 +58,7 @@ spec:
# fails verification and the surface is correctly EMPTY ("No active
# markets") — no per-network special-casing.
- name: LUX_RPC_URL
value: "http://luxd-headless.lux-devnet.svc.cluster.local:9650/v1/bc/C/rpc"
value: "http://luxd-headless.lux-devnet.svc.cluster.local:9650/v1/chain/C/rpc"
# AMM (uniswap-v2/v3-shaped) — devnet explorer amm subgraph.
- name: SUBGRAPH_URL
value: "http://explorer.lux-devnet.svc.cluster.local:8090/v1/graph/cchain/amm/graphql"
+5 -5
View File
@@ -8,7 +8,7 @@
# devnet explore.<brand>-dev.network
#
# RPC note: on devnet ONLY the C-chain EVM is live (chainId 96367,
# api.lux-dev.network/v1/bc/C/rpc). The per-brand L1 EVMs (hanzo/zoo/pars
# api.lux-dev.network/v1/chain/c). The per-brand L1 EVMs (hanzo/zoo/pars
# aliases) currently return 404 on devnet, so every devnet brand explorer
# points its NETWORK_RPC_URL at the devnet C-chain — the only functioning
# devnet EVM. Swap to the brand alias here once those L1s are bootstrapped
@@ -30,7 +30,7 @@ data:
NEXT_PUBLIC_CONTRACT_INFO_API_HOST: "https://api-explorer.lux-dev.network"
NEXT_PUBLIC_IS_TESTNET: "true"
NEXT_PUBLIC_NETWORK_ID: "96367"
NEXT_PUBLIC_NETWORK_RPC_URL: "https://api.lux-dev.network/v1/bc/C/rpc"
NEXT_PUBLIC_NETWORK_RPC_URL: "https://api.lux-dev.network/v1/chain/c"
NEXT_PUBLIC_STATS_API_HOST: "https://api-explorer.lux-dev.network"
NEXT_PUBLIC_VISUALIZE_API_HOST: "https://api-explorer.lux-dev.network"
---
@@ -48,7 +48,7 @@ data:
NEXT_PUBLIC_CONTRACT_INFO_API_HOST: "https://api-explorer.zoo-dev.network"
NEXT_PUBLIC_IS_TESTNET: "true"
NEXT_PUBLIC_NETWORK_ID: "96367"
NEXT_PUBLIC_NETWORK_RPC_URL: "https://api.lux-dev.network/v1/bc/C/rpc"
NEXT_PUBLIC_NETWORK_RPC_URL: "https://api.lux-dev.network/v1/chain/c"
NEXT_PUBLIC_STATS_API_HOST: "https://api-explorer.zoo-dev.network"
NEXT_PUBLIC_VISUALIZE_API_HOST: "https://api-explorer.zoo-dev.network"
---
@@ -65,7 +65,7 @@ data:
NEXT_PUBLIC_CONTRACT_INFO_API_HOST: "https://api-explorer.hanzo-dev.network"
NEXT_PUBLIC_IS_TESTNET: "true"
NEXT_PUBLIC_NETWORK_ID: "96367"
NEXT_PUBLIC_NETWORK_RPC_URL: "https://api.lux-dev.network/v1/bc/C/rpc"
NEXT_PUBLIC_NETWORK_RPC_URL: "https://api.lux-dev.network/v1/chain/c"
NEXT_PUBLIC_STATS_API_HOST: "https://api-explorer.hanzo-dev.network"
NEXT_PUBLIC_VISUALIZE_API_HOST: "https://api-explorer.hanzo-dev.network"
---
@@ -82,7 +82,7 @@ data:
NEXT_PUBLIC_CONTRACT_INFO_API_HOST: "https://api-explorer.pars-dev.network"
NEXT_PUBLIC_IS_TESTNET: "true"
NEXT_PUBLIC_NETWORK_ID: "96367"
NEXT_PUBLIC_NETWORK_RPC_URL: "https://api.lux-dev.network/v1/bc/C/rpc"
NEXT_PUBLIC_NETWORK_RPC_URL: "https://api.lux-dev.network/v1/chain/c"
NEXT_PUBLIC_STATS_API_HOST: "https://api-explorer.pars-dev.network"
NEXT_PUBLIC_VISUALIZE_API_HOST: "https://api-explorer.pars-dev.network"
---
+3 -3
View File
@@ -72,11 +72,11 @@ spec:
- name: ETHEREUM_JSONRPC_VARIANT
value: geth
- name: ETHEREUM_JSONRPC_HTTP_URL
value: "http://luxd-headless.lux-devnet.svc.cluster.local:9650/v1/bc/C/rpc"
value: "http://luxd-headless.lux-devnet.svc.cluster.local:9650/v1/chain/C/rpc"
- name: ETHEREUM_JSONRPC_TRACE_URL
value: "http://luxd-headless.lux-devnet.svc.cluster.local:9650/v1/bc/C/rpc"
value: "http://luxd-headless.lux-devnet.svc.cluster.local:9650/v1/chain/C/rpc"
- name: ETHEREUM_JSONRPC_WS_URL
value: "ws://luxd-headless.lux-devnet.svc.cluster.local:9650/v1/bc/C/ws"
value: "ws://luxd-headless.lux-devnet.svc.cluster.local:9650/v1/chain/C/ws"
# Chain identity
- name: CHAIN_ID
value: "96367"
+7 -7
View File
@@ -19,7 +19,7 @@
# lux-explorer/explorer-devnet-v2 Deployment. Postgres-free indexer.
#
# zoo app chain EVM is not bootstrapped on devnet luxd-* nodes (verified
# 2026-05-24: /v1/bc/zoo/rpc returns 404). Declared with enabled:false
# 2026-05-24: /v1/chain/zoo/rpc returns 404). Declared with enabled:false
# until the zoo app chain EVM is tracked on devnet validators.
###############################################################################
apiVersion: v1
@@ -58,7 +58,7 @@ data:
name: Lux C-Chain
chain_id: 96367
type: evm
rpc: http://luxd-headless.lux-devnet.svc.cluster.local:9650/v1/bc/C/rpc
rpc: http://luxd-headless.lux-devnet.svc.cluster.local:9650/v1/chain/C/rpc
coin: LUX
enabled: true
default: true
@@ -81,7 +81,7 @@ data:
name: Hanzo
chain_id: 36964
type: evm
rpc: http://luxd-headless.lux-devnet.svc.cluster.local:9650/v1/bc/hanzo/rpc
rpc: http://luxd-headless.lux-devnet.svc.cluster.local:9650/v1/chain/hanzo/rpc
coin: AI
enabled: false
indexer: { poll_interval: 30s }
@@ -95,7 +95,7 @@ data:
name: Zoo
chain_id: 200202
type: evm
rpc: http://luxd-headless.lux-devnet.svc.cluster.local:9650/v1/bc/zoo/rpc
rpc: http://luxd-headless.lux-devnet.svc.cluster.local:9650/v1/chain/zoo/rpc
coin: ZOO
enabled: false
indexer: { poll_interval: 30s }
@@ -114,7 +114,7 @@ data:
name: Pars
chain_id: 7072
type: evm
rpc: http://luxd-headless.lux-devnet.svc.cluster.local:9650/v1/bc/pars/rpc
rpc: http://luxd-headless.lux-devnet.svc.cluster.local:9650/v1/chain/pars/rpc
coin: PARS
enabled: false
indexer: { poll_interval: 30s }
@@ -128,7 +128,7 @@ data:
name: SPC
chain_id: 36912
type: evm
rpc: http://luxd-headless.lux-devnet.svc.cluster.local:9650/v1/bc/spc/rpc
rpc: http://luxd-headless.lux-devnet.svc.cluster.local:9650/v1/chain/spc/rpc
coin: SPC
enabled: false
indexer: { poll_interval: 30s }
@@ -142,7 +142,7 @@ data:
name: Osage
chain_id: 1873
type: evm
rpc: http://luxd-headless.lux-devnet.svc.cluster.local:9650/v1/bc/osage/rpc
rpc: http://luxd-headless.lux-devnet.svc.cluster.local:9650/v1/chain/osage/rpc
coin: OSG
enabled: false
indexer: { poll_interval: 30s }
+11 -11
View File
@@ -29,7 +29,7 @@ data:
name: 'Lux C-Chain (devnet)'
type: evm
chain_id: 96367
rpc: http://luxd-headless.lux-devnet.svc.cluster.local:9650/v1/bc/C/rpc
rpc: http://luxd-headless.lux-devnet.svc.cluster.local:9650/v1/chain/C/rpc
coin: LUX
enabled: true
default: true
@@ -40,42 +40,42 @@ data:
- slug: pchain
name: 'P-Chain (devnet)'
type: linear
rpc: http://luxd-headless.lux-devnet.svc.cluster.local:9650/v1/bc/P
rpc: http://luxd-headless.lux-devnet.svc.cluster.local:9650/v1/chain/P
coin: LUX
enabled: true
- slug: xchain
name: 'X-Chain (devnet)'
type: dag
rpc: http://luxd-headless.lux-devnet.svc.cluster.local:9650/v1/bc/X
rpc: http://luxd-headless.lux-devnet.svc.cluster.local:9650/v1/chain/X
coin: LUX
enabled: true
- slug: achain
name: 'A-Chain (devnet)'
type: dag
rpc: http://luxd-headless.lux-devnet.svc.cluster.local:9650/v1/bc/A
rpc: http://luxd-headless.lux-devnet.svc.cluster.local:9650/v1/chain/A
coin: LUX
enabled: true
- slug: qchain
name: 'Q-Chain (devnet)'
type: dag
rpc: http://luxd-headless.lux-devnet.svc.cluster.local:9650/v1/bc/Q
rpc: http://luxd-headless.lux-devnet.svc.cluster.local:9650/v1/chain/Q
coin: LUX
enabled: true
- slug: tchain
name: 'T-Chain (devnet)'
type: dag
rpc: http://luxd-headless.lux-devnet.svc.cluster.local:9650/v1/bc/T
rpc: http://luxd-headless.lux-devnet.svc.cluster.local:9650/v1/chain/T
coin: LUX
enabled: true
- slug: zchain
name: 'Z-Chain (devnet)'
type: dag
rpc: http://luxd-headless.lux-devnet.svc.cluster.local:9650/v1/bc/Z
rpc: http://luxd-headless.lux-devnet.svc.cluster.local:9650/v1/chain/Z
coin: LUX
enabled: true
@@ -83,7 +83,7 @@ data:
name: 'Hanzo (devnet)'
type: evm
chain_id: 36964
rpc: http://luxd-headless.lux-devnet.svc.cluster.local:9650/v1/bc/2XSToxnvSMsmrXQhAKzbiqTquveDK8PdvJP9166hcLSC1hhr3E/rpc
rpc: http://luxd-headless.lux-devnet.svc.cluster.local:9650/v1/chain/2XSToxnvSMsmrXQhAKzbiqTquveDK8PdvJP9166hcLSC1hhr3E/rpc
coin: AI
enabled: true
graph:
@@ -94,7 +94,7 @@ data:
name: 'Zoo (devnet)'
type: evm
chain_id: 200202
rpc: http://luxd-headless.lux-devnet.svc.cluster.local:9650/v1/bc/2jhVoHB5z97hSGssR8GtiFaFVuaFBH5TJeVMVjiw2uGg3gbqpu/rpc
rpc: http://luxd-headless.lux-devnet.svc.cluster.local:9650/v1/chain/2jhVoHB5z97hSGssR8GtiFaFVuaFBH5TJeVMVjiw2uGg3gbqpu/rpc
coin: ZOO
enabled: true
graph:
@@ -105,7 +105,7 @@ data:
name: 'Pars (devnet)'
type: evm
chain_id: 494951
rpc: http://luxd-headless.lux-devnet.svc.cluster.local:9650/v1/bc/SbgsF19zEPXnUgrShZHLSXv2bDw9xB3Hq2GnBnHLt5CcWnc8a/rpc
rpc: http://luxd-headless.lux-devnet.svc.cluster.local:9650/v1/chain/SbgsF19zEPXnUgrShZHLSXv2bDw9xB3Hq2GnBnHLt5CcWnc8a/rpc
coin: PARS
enabled: true
graph:
@@ -116,7 +116,7 @@ data:
name: 'SPC (devnet)'
type: evm
chain_id: 36912
rpc: http://luxd-headless.lux-devnet.svc.cluster.local:9650/v1/bc/2YmQ1abSAp2WVGzqrSW3GZ8ADXdLevLAdEnJQq6s1ZUc28AS52/rpc
rpc: http://luxd-headless.lux-devnet.svc.cluster.local:9650/v1/chain/2YmQ1abSAp2WVGzqrSW3GZ8ADXdLevLAdEnJQq6s1ZUc28AS52/rpc
coin: SPC
enabled: true
graph:
+1 -1
View File
@@ -158,7 +158,7 @@ spec:
command:
- /bin/sh
- -c
- 'TS=$(curl -sf -m 4 -X POST http://127.0.0.1:9650/v1/bc/C/rpc -H ''Content-Type: application/json'' -d ''{"jsonrpc":"2.0","id":1,"method":"eth_getBlockByNumber","params":["latest",false]}'' | sed -n ''s/.*"timestamp":"0x\([0-9a-f]*\)".*/\1/p''); [ -n "$TS" ] && [ $(( $(date +%s) - 0x$TS )) -le 300 ]'
- 'TS=$(curl -sf -m 4 -X POST http://127.0.0.1:9650/v1/chain/C/rpc -H ''Content-Type: application/json'' -d ''{"jsonrpc":"2.0","id":1,"method":"eth_getBlockByNumber","params":["latest",false]}'' | sed -n ''s/.*"timestamp":"0x\([0-9a-f]*\)".*/\1/p''); [ -n "$TS" ] && [ $(( $(date +%s) - 0x$TS )) -le 300 ]'
failureThreshold: 3
periodSeconds: 10
successThreshold: 1
+4 -4
View File
@@ -35,7 +35,7 @@ data:
NEXT_PUBLIC_NETWORK_CURRENCY_SYMBOL: "ZOO"
NEXT_PUBLIC_NETWORK_CURRENCY_DECIMALS: "18"
NEXT_PUBLIC_IS_TESTNET: "false"
NEXT_PUBLIC_NETWORK_RPC_URL: "https://api.lux.network/mainnet/v1/bc/2Y625Kvdd4wZ5LKx9kLSf1jGALyARmXVN1YsTb4F3Hzv4bPDbp/rpc"
NEXT_PUBLIC_NETWORK_RPC_URL: "https://api.lux.network/mainnet/v1/chain/2Y625Kvdd4wZ5LKx9kLSf1jGALyARmXVN1YsTb4F3Hzv4bPDbp/rpc"
NEXT_PUBLIC_NETWORK_VERIFICATION_TYPE: "mining"
# Theme
NEXT_PUBLIC_COLOR_THEME_DEFAULT: "dark"
@@ -84,7 +84,7 @@ data:
NEXT_PUBLIC_NETWORK_CURRENCY_SYMBOL: "AI"
NEXT_PUBLIC_NETWORK_CURRENCY_DECIMALS: "18"
NEXT_PUBLIC_IS_TESTNET: "false"
NEXT_PUBLIC_NETWORK_RPC_URL: "https://api.lux.network/mainnet/v1/bc/2GiQb73CeJESjc4omFv2YtQHZrRgJf25NXPzAr5J6UNHRcDV2F/rpc"
NEXT_PUBLIC_NETWORK_RPC_URL: "https://api.lux.network/mainnet/v1/chain/2GiQb73CeJESjc4omFv2YtQHZrRgJf25NXPzAr5J6UNHRcDV2F/rpc"
NEXT_PUBLIC_NETWORK_VERIFICATION_TYPE: "mining"
# Theme
NEXT_PUBLIC_COLOR_THEME_DEFAULT: "dark"
@@ -133,7 +133,7 @@ data:
NEXT_PUBLIC_NETWORK_CURRENCY_SYMBOL: "SPC"
NEXT_PUBLIC_NETWORK_CURRENCY_DECIMALS: "18"
NEXT_PUBLIC_IS_TESTNET: "false"
NEXT_PUBLIC_NETWORK_RPC_URL: "https://api.lux.network/mainnet/v1/bc/rtjwvtE1tEvrokmpeYdTq7b2zqZgmybKwR5MLjKMGAR1W78dQ/rpc"
NEXT_PUBLIC_NETWORK_RPC_URL: "https://api.lux.network/mainnet/v1/chain/rtjwvtE1tEvrokmpeYdTq7b2zqZgmybKwR5MLjKMGAR1W78dQ/rpc"
NEXT_PUBLIC_NETWORK_VERIFICATION_TYPE: "mining"
# Theme
NEXT_PUBLIC_COLOR_THEME_DEFAULT: "dark"
@@ -182,7 +182,7 @@ data:
NEXT_PUBLIC_NETWORK_CURRENCY_SYMBOL: "PARS"
NEXT_PUBLIC_NETWORK_CURRENCY_DECIMALS: "18"
NEXT_PUBLIC_IS_TESTNET: "false"
NEXT_PUBLIC_NETWORK_RPC_URL: "https://api.lux.network/mainnet/v1/bc/2pUskxqaL5Bpx7uRUGG1fDjPckjxQ4UKX4sLKeaS1NdSVBJd3F/rpc"
NEXT_PUBLIC_NETWORK_RPC_URL: "https://api.lux.network/mainnet/v1/chain/2pUskxqaL5Bpx7uRUGG1fDjPckjxQ4UKX4sLKeaS1NdSVBJd3F/rpc"
NEXT_PUBLIC_NETWORK_VERIFICATION_TYPE: "mining"
# Theme
NEXT_PUBLIC_COLOR_THEME_DEFAULT: "dark"
+3 -3
View File
@@ -80,7 +80,7 @@ data:
NEXT_PUBLIC_NETWORK_CURRENCY_SYMBOL: "LUX"
NEXT_PUBLIC_NETWORK_CURRENCY_DECIMALS: "18"
NEXT_PUBLIC_IS_TESTNET: "false"
NEXT_PUBLIC_NETWORK_RPC_URL: "https://api.lux.network/v1/bc/C/rpc"
NEXT_PUBLIC_NETWORK_RPC_URL: "https://api.lux.network/v1/chain/c"
NEXT_PUBLIC_NETWORK_VERIFICATION_TYPE: "mining"
# Theme
NEXT_PUBLIC_COLOR_THEME_DEFAULT: "dark"
@@ -125,7 +125,7 @@ data:
NEXT_PUBLIC_NETWORK_CURRENCY_SYMBOL: "LUX"
NEXT_PUBLIC_NETWORK_CURRENCY_DECIMALS: "18"
NEXT_PUBLIC_IS_TESTNET: "true"
NEXT_PUBLIC_NETWORK_RPC_URL: "https://api.testnet.lux.network/v1/bc/C/rpc"
NEXT_PUBLIC_NETWORK_RPC_URL: "https://api.testnet.lux.network/v1/chain/C/rpc"
NEXT_PUBLIC_NETWORK_VERIFICATION_TYPE: "mining"
# Theme
NEXT_PUBLIC_COLOR_THEME_DEFAULT: "dark"
@@ -170,7 +170,7 @@ data:
NEXT_PUBLIC_NETWORK_CURRENCY_SYMBOL: "LUX"
NEXT_PUBLIC_NETWORK_CURRENCY_DECIMALS: "18"
NEXT_PUBLIC_IS_TESTNET: "true"
NEXT_PUBLIC_NETWORK_RPC_URL: "https://api.devnet.lux.network/v1/bc/C/rpc"
NEXT_PUBLIC_NETWORK_RPC_URL: "https://api.devnet.lux.network/v1/chain/C/rpc"
NEXT_PUBLIC_NETWORK_VERIFICATION_TYPE: "mining"
# Theme
NEXT_PUBLIC_COLOR_THEME_DEFAULT: "dark"
+7 -7
View File
@@ -22,7 +22,7 @@ data:
name: Lux C-Chain (Devnet)
chain_id: 96367
type: evm
rpc: http://luxd-0.luxd-headless.lux-devnet.svc:9650/v1/bc/C/rpc
rpc: http://luxd-0.luxd-headless.lux-devnet.svc:9650/v1/chain/C/rpc
coin: LUX
enabled: true
default: true
@@ -30,40 +30,40 @@ data:
name: Zoo (Devnet)
chain_id: 200202
type: evm
rpc: http://luxd-0.luxd-headless.lux-devnet.svc:9650/v1/bc/Zoo/rpc
rpc: http://luxd-0.luxd-headless.lux-devnet.svc:9650/v1/chain/Zoo/rpc
coin: ZOO
enabled: true
- slug: hanzo
name: Hanzo AI (Devnet)
chain_id: 36964
type: evm
rpc: http://luxd-0.luxd-headless.lux-devnet.svc:9650/v1/bc/Hanzo/rpc
rpc: http://luxd-0.luxd-headless.lux-devnet.svc:9650/v1/chain/Hanzo/rpc
coin: AI
enabled: true
- slug: spc
name: SPC (Devnet)
chain_id: 36912
type: evm
rpc: http://luxd-0.luxd-headless.lux-devnet.svc:9650/v1/bc/SPC/rpc
rpc: http://luxd-0.luxd-headless.lux-devnet.svc:9650/v1/chain/SPC/rpc
coin: SPC
enabled: true
- slug: pars
name: Pars (Devnet)
chain_id: 494951
type: evm
rpc: http://luxd-0.luxd-headless.lux-devnet.svc:9650/v1/bc/Pars/rpc
rpc: http://luxd-0.luxd-headless.lux-devnet.svc:9650/v1/chain/Pars/rpc
coin: PARS
enabled: true
- slug: xchain
name: X-Chain (Devnet)
type: dag
rpc: http://luxd-0.luxd-headless.lux-devnet.svc:9650/v1/bc/X
rpc: http://luxd-0.luxd-headless.lux-devnet.svc:9650/v1/chain/X
coin: LUX
enabled: true
- slug: pchain
name: P-Chain (Devnet)
type: linear
rpc: http://luxd-0.luxd-headless.lux-devnet.svc:9650/v1/bc/P
rpc: http://luxd-0.luxd-headless.lux-devnet.svc:9650/v1/chain/P
coin: LUX
enabled: true
---
+7 -7
View File
@@ -25,7 +25,7 @@ data:
name: Lux C-Chain
chain_id: 96369
type: evm
rpc: http://luxd-0.luxd-headless.lux-mainnet.svc:9630/v1/bc/C/rpc
rpc: http://luxd-0.luxd-headless.lux-mainnet.svc:9630/v1/chain/C/rpc
coin: LUX
enabled: true
default: true
@@ -33,40 +33,40 @@ data:
name: Zoo
chain_id: 200200
type: evm
rpc: http://luxd-0.luxd-headless.lux-mainnet.svc:9630/v1/bc/Zoo/rpc
rpc: http://luxd-0.luxd-headless.lux-mainnet.svc:9630/v1/chain/Zoo/rpc
coin: ZOO
enabled: true
- slug: hanzo
name: Hanzo AI
chain_id: 36963
type: evm
rpc: http://luxd-0.luxd-headless.lux-mainnet.svc:9630/v1/bc/Hanzo/rpc
rpc: http://luxd-0.luxd-headless.lux-mainnet.svc:9630/v1/chain/Hanzo/rpc
coin: AI
enabled: true
- slug: spc
name: SPC
chain_id: 36911
type: evm
rpc: http://luxd-0.luxd-headless.lux-mainnet.svc:9630/v1/bc/SPC/rpc
rpc: http://luxd-0.luxd-headless.lux-mainnet.svc:9630/v1/chain/SPC/rpc
coin: SPC
enabled: true
- slug: pars
name: Pars
chain_id: 494949
type: evm
rpc: http://luxd-0.luxd-headless.lux-mainnet.svc:9630/v1/bc/Pars/rpc
rpc: http://luxd-0.luxd-headless.lux-mainnet.svc:9630/v1/chain/Pars/rpc
coin: PARS
enabled: true
- slug: xchain
name: X-Chain
type: dag
rpc: http://luxd-0.luxd-headless.lux-mainnet.svc:9630/v1/bc/X
rpc: http://luxd-0.luxd-headless.lux-mainnet.svc:9630/v1/chain/X
coin: LUX
enabled: true
- slug: pchain
name: P-Chain
type: linear
rpc: http://luxd-0.luxd-headless.lux-mainnet.svc:9630/v1/bc/P
rpc: http://luxd-0.luxd-headless.lux-mainnet.svc:9630/v1/chain/P
coin: LUX
enabled: true
---
+3 -3
View File
@@ -81,11 +81,11 @@ spec:
- name: ETHEREUM_JSONRPC_VARIANT
value: geth
- name: ETHEREUM_JSONRPC_HTTP_URL
value: "http://luxd-1.luxd-headless.lux-mainnet.svc.cluster.local:9630/v1/bc/C/rpc"
value: "http://luxd-1.luxd-headless.lux-mainnet.svc.cluster.local:9630/v1/chain/C/rpc"
- name: ETHEREUM_JSONRPC_TRACE_URL
value: "http://luxd-1.luxd-headless.lux-mainnet.svc.cluster.local:9630/v1/bc/C/rpc"
value: "http://luxd-1.luxd-headless.lux-mainnet.svc.cluster.local:9630/v1/chain/C/rpc"
- name: ETHEREUM_JSONRPC_WS_URL
value: "ws://luxd-1.luxd-headless.lux-mainnet.svc.cluster.local:9630/v1/bc/C/ws"
value: "ws://luxd-1.luxd-headless.lux-mainnet.svc.cluster.local:9630/v1/chain/C/ws"
# Chain identity
- name: CHAIN_ID
value: "96369"
+7 -7
View File
@@ -22,7 +22,7 @@ data:
name: Lux C-Chain (Testnet)
chain_id: 96368
type: evm
rpc: http://luxd-0.luxd-headless.lux-testnet.svc:9640/v1/bc/C/rpc
rpc: http://luxd-0.luxd-headless.lux-testnet.svc:9640/v1/chain/C/rpc
coin: LUX
enabled: true
default: true
@@ -30,40 +30,40 @@ data:
name: Zoo (Testnet)
chain_id: 200201
type: evm
rpc: http://luxd-0.luxd-headless.lux-testnet.svc:9640/v1/bc/Zoo/rpc
rpc: http://luxd-0.luxd-headless.lux-testnet.svc:9640/v1/chain/Zoo/rpc
coin: ZOO
enabled: true
- slug: hanzo
name: Hanzo AI (Testnet)
chain_id: 36962
type: evm
rpc: http://luxd-0.luxd-headless.lux-testnet.svc:9640/v1/bc/Hanzo/rpc
rpc: http://luxd-0.luxd-headless.lux-testnet.svc:9640/v1/chain/Hanzo/rpc
coin: AI
enabled: true
- slug: spc
name: SPC (Testnet)
chain_id: 36910
type: evm
rpc: http://luxd-0.luxd-headless.lux-testnet.svc:9640/v1/bc/SPC/rpc
rpc: http://luxd-0.luxd-headless.lux-testnet.svc:9640/v1/chain/SPC/rpc
coin: SPC
enabled: true
- slug: pars
name: Pars (Testnet)
chain_id: 494950
type: evm
rpc: http://luxd-0.luxd-headless.lux-testnet.svc:9640/v1/bc/Pars/rpc
rpc: http://luxd-0.luxd-headless.lux-testnet.svc:9640/v1/chain/Pars/rpc
coin: PARS
enabled: true
- slug: xchain
name: X-Chain (Testnet)
type: dag
rpc: http://luxd-0.luxd-headless.lux-testnet.svc:9640/v1/bc/X
rpc: http://luxd-0.luxd-headless.lux-testnet.svc:9640/v1/chain/X
coin: LUX
enabled: true
- slug: pchain
name: P-Chain (Testnet)
type: linear
rpc: http://luxd-0.luxd-headless.lux-testnet.svc:9640/v1/bc/P
rpc: http://luxd-0.luxd-headless.lux-testnet.svc:9640/v1/chain/P
coin: LUX
enabled: true
---
+1 -1
View File
@@ -18,7 +18,7 @@ data:
NODE_ENV: "production"
NEXT_TELEMETRY_DISABLED: "1"
NETWORK: "testnet"
RPC_URL: "https://api.lux.network/testnet/v1/bc/C/rpc"
RPC_URL: "https://api.lux.network/testnet/v1/chain/C/rpc"
CHAIN_ID: "96368"
---
apiVersion: apps/v1
+13 -13
View File
@@ -152,7 +152,7 @@ spec:
imagePullPolicy: Always
args:
- "-chain=cchain"
- "-rpc=http://luxd-headless.lux-mainnet.svc.cluster.local:9630/v1/bc/C/rpc"
- "-rpc=http://luxd-headless.lux-mainnet.svc.cluster.local:9630/v1/chain/C/rpc"
- "-port=4000"
- "-poll=15s"
env:
@@ -222,7 +222,7 @@ spec:
imagePullPolicy: Always
args:
- "-chain=pchain"
- "-rpc=http://luxd-headless.lux-mainnet.svc.cluster.local:9630/v1/bc/P"
- "-rpc=http://luxd-headless.lux-mainnet.svc.cluster.local:9630/v1/chain/P"
- "-port=4100"
- "-poll=30s"
env:
@@ -288,7 +288,7 @@ spec:
imagePullPolicy: Always
args:
- "-chain=xchain"
- "-rpc=http://luxd-headless.lux-mainnet.svc.cluster.local:9630/v1/bc/X"
- "-rpc=http://luxd-headless.lux-mainnet.svc.cluster.local:9630/v1/chain/X"
- "-port=4200"
- "-poll=30s"
env:
@@ -354,7 +354,7 @@ spec:
imagePullPolicy: Always
args:
- "-chain=achain"
- "-rpc=http://luxd-headless.lux-mainnet.svc.cluster.local:9630/v1/bc/A"
- "-rpc=http://luxd-headless.lux-mainnet.svc.cluster.local:9630/v1/chain/A"
- "-port=4500"
- "-poll=30s"
env:
@@ -420,7 +420,7 @@ spec:
imagePullPolicy: Always
args:
- "-chain=bchain"
- "-rpc=http://luxd-headless.lux-mainnet.svc.cluster.local:9630/v1/bc/B"
- "-rpc=http://luxd-headless.lux-mainnet.svc.cluster.local:9630/v1/chain/B"
- "-port=4600"
- "-poll=30s"
env:
@@ -486,7 +486,7 @@ spec:
imagePullPolicy: Always
args:
- "-chain=tchain"
- "-rpc=http://luxd-headless.lux-mainnet.svc.cluster.local:9630/v1/bc/T"
- "-rpc=http://luxd-headless.lux-mainnet.svc.cluster.local:9630/v1/chain/T"
- "-port=4700"
- "-poll=30s"
env:
@@ -552,7 +552,7 @@ spec:
imagePullPolicy: Always
args:
- "-chain=qchain"
- "-rpc=http://luxd-headless.lux-mainnet.svc.cluster.local:9630/v1/bc/Q"
- "-rpc=http://luxd-headless.lux-mainnet.svc.cluster.local:9630/v1/chain/Q"
- "-port=4300"
- "-poll=30s"
env:
@@ -618,7 +618,7 @@ spec:
imagePullPolicy: Always
args:
- "-chain=zchain"
- "-rpc=http://luxd-headless.lux-mainnet.svc.cluster.local:9630/v1/bc/Z"
- "-rpc=http://luxd-headless.lux-mainnet.svc.cluster.local:9630/v1/chain/Z"
- "-port=4400"
- "-poll=30s"
env:
@@ -684,7 +684,7 @@ spec:
imagePullPolicy: Always
args:
- "-chain=kchain"
- "-rpc=http://luxd-headless.lux-mainnet.svc.cluster.local:9630/v1/bc/K"
- "-rpc=http://luxd-headless.lux-mainnet.svc.cluster.local:9630/v1/chain/K"
- "-port=4900"
- "-poll=30s"
env:
@@ -750,7 +750,7 @@ spec:
imagePullPolicy: Always
args:
- "-chain=cchain"
- "-rpc=http://luxd-headless.lux-mainnet.svc.cluster.local:9630/v1/bc/2Y625Kvdd4wZ5LKx9kLSf1jGALyARmXVN1YsTb4F3Hzv4bPDbp/rpc"
- "-rpc=http://luxd-headless.lux-mainnet.svc.cluster.local:9630/v1/chain/2Y625Kvdd4wZ5LKx9kLSf1jGALyARmXVN1YsTb4F3Hzv4bPDbp/rpc"
- "-port=4000"
- "-poll=15s"
env:
@@ -820,7 +820,7 @@ spec:
imagePullPolicy: Always
args:
- "-chain=cchain"
- "-rpc=http://luxd-headless.lux-mainnet.svc.cluster.local:9630/v1/bc/2GiQb73CeJESjc4omFv2YtQHZrRgJf25NXPzAr5J6UNHRcDV2F/rpc"
- "-rpc=http://luxd-headless.lux-mainnet.svc.cluster.local:9630/v1/chain/2GiQb73CeJESjc4omFv2YtQHZrRgJf25NXPzAr5J6UNHRcDV2F/rpc"
- "-port=4000"
- "-poll=15s"
env:
@@ -890,7 +890,7 @@ spec:
imagePullPolicy: Always
args:
- "-chain=cchain"
- "-rpc=http://luxd-headless.lux-mainnet.svc.cluster.local:9630/v1/bc/rtjwvtE1tEvrokmpeYdTq7b2zqZgmybKwR5MLjKMGAR1W78dQ/rpc"
- "-rpc=http://luxd-headless.lux-mainnet.svc.cluster.local:9630/v1/chain/rtjwvtE1tEvrokmpeYdTq7b2zqZgmybKwR5MLjKMGAR1W78dQ/rpc"
- "-port=4000"
- "-poll=15s"
env:
@@ -960,7 +960,7 @@ spec:
imagePullPolicy: Always
args:
- "-chain=cchain"
- "-rpc=http://luxd-headless.lux-mainnet.svc.cluster.local:9630/v1/bc/2pUskxqaL5Bpx7uRUGG1fDjPckjxQ4UKX4sLKeaS1NdSVBJd3F/rpc"
- "-rpc=http://luxd-headless.lux-mainnet.svc.cluster.local:9630/v1/chain/2pUskxqaL5Bpx7uRUGG1fDjPckjxQ4UKX4sLKeaS1NdSVBJd3F/rpc"
- "-port=4000"
- "-poll=15s"
env:
+1 -1
View File
@@ -43,7 +43,7 @@ spec:
- "--poll=15s"
env:
- name: RPC_ENDPOINT
value: "http://luxd-headless.lux-devnet.svc.cluster.local:9650/v1/bc/C/rpc"
value: "http://luxd-headless.lux-devnet.svc.cluster.local:9650/v1/chain/C/rpc"
# SECURITY: Database credentials must come from KMS-backed Secret,
# not hardcoded in manifests. Using secretKeyRef for now; create
# the Secret via: kubectl create secret generic indexer-secrets-devnet \
+1 -1
View File
@@ -43,7 +43,7 @@ spec:
- "--poll=15s"
env:
- name: RPC_ENDPOINT
value: "http://luxd-headless.lux-mainnet.svc.cluster.local:9630/v1/bc/C/rpc"
value: "http://luxd-headless.lux-mainnet.svc.cluster.local:9630/v1/chain/C/rpc"
- name: DATABASE_URL
value: "postgresql://explorer:[email protected]:5432/indexer?sslmode=disable"
- name: HTTP_PORT
+1 -1
View File
@@ -43,7 +43,7 @@ spec:
- "--poll=15s"
env:
- name: RPC_ENDPOINT
value: "http://luxd-headless.lux-testnet.svc.cluster.local:9640/v1/bc/C/rpc"
value: "http://luxd-headless.lux-testnet.svc.cluster.local:9640/v1/chain/C/rpc"
# SECURITY: Database credentials must come from KMS-backed Secret,
# not hardcoded in manifests. Using secretKeyRef for now; create
# the Secret via: kubectl create secret generic indexer-secrets-testnet \
+110 -110
View File
@@ -68,12 +68,12 @@ data:
},
"endpoints": [
{
"endpoint": "/v1/bc/C/rpc",
"endpoint": "/v1/chain/C/rpc",
"method": "POST",
"output_encoding": "no-op",
"backend": [
{
"url_pattern": "/v1/bc/C/rpc",
"url_pattern": "/v1/chain/C/rpc",
"host": [
"http://luxd-headless.lux-mainnet.svc.cluster.local:9630"
@@ -107,11 +107,11 @@ data:
}
},
{
"endpoint": "/v1/bc/C/ws",
"endpoint": "/v1/chain/C/ws",
"output_encoding": "no-op",
"backend": [
{
"url_pattern": "/v1/bc/C/ws",
"url_pattern": "/v1/chain/C/ws",
"host": [
"http://luxd-headless.lux-mainnet.svc.cluster.local:9630"
@@ -145,12 +145,12 @@ data:
}
},
{
"endpoint": "/v1/bc/P",
"endpoint": "/v1/chain/P",
"method": "POST",
"output_encoding": "no-op",
"backend": [
{
"url_pattern": "/v1/bc/P",
"url_pattern": "/v1/chain/P",
"host": [
"http://luxd-headless.lux-mainnet.svc.cluster.local:9630"
@@ -184,12 +184,12 @@ data:
}
},
{
"endpoint": "/v1/bc/X",
"endpoint": "/v1/chain/X",
"method": "POST",
"output_encoding": "no-op",
"backend": [
{
"url_pattern": "/v1/bc/X",
"url_pattern": "/v1/chain/X",
"host": [
"http://luxd-headless.lux-mainnet.svc.cluster.local:9630"
@@ -223,12 +223,12 @@ data:
}
},
{
"endpoint": "/v1/bc/exchange",
"endpoint": "/v1/chain/exchange",
"method": "POST",
"output_encoding": "no-op",
"backend": [
{
"url_pattern": "/v1/bc/X",
"url_pattern": "/v1/chain/X",
"host": [
"http://luxd-headless.lux-mainnet.svc.cluster.local:9630"
@@ -262,12 +262,12 @@ data:
}
},
{
"endpoint": "/v1/bc/D/rpc",
"endpoint": "/v1/chain/D/rpc",
"method": "POST",
"output_encoding": "no-op",
"backend": [
{
"url_pattern": "/v1/bc/D/rpc",
"url_pattern": "/v1/chain/D/rpc",
"host": [
"http://luxd-headless.lux-mainnet.svc.cluster.local:9630"
@@ -301,11 +301,11 @@ data:
}
},
{
"endpoint": "/v1/bc/D/ws",
"endpoint": "/v1/chain/D/ws",
"output_encoding": "no-op",
"backend": [
{
"url_pattern": "/v1/bc/D/ws",
"url_pattern": "/v1/chain/D/ws",
"host": [
"http://luxd-headless.lux-mainnet.svc.cluster.local:9630"
@@ -420,12 +420,12 @@ data:
}
},
{
"endpoint": "/mainnet/v1/bc/C/rpc",
"endpoint": "/mainnet/v1/chain/C/rpc",
"method": "POST",
"output_encoding": "no-op",
"backend": [
{
"url_pattern": "/v1/bc/C/rpc",
"url_pattern": "/v1/chain/C/rpc",
"host": [
"http://luxd-headless.lux-mainnet.svc.cluster.local:9630"
@@ -459,11 +459,11 @@ data:
}
},
{
"endpoint": "/mainnet/v1/bc/C/ws",
"endpoint": "/mainnet/v1/chain/C/ws",
"output_encoding": "no-op",
"backend": [
{
"url_pattern": "/v1/bc/C/ws",
"url_pattern": "/v1/chain/C/ws",
"host": [
"http://luxd-headless.lux-mainnet.svc.cluster.local:9630"
@@ -497,12 +497,12 @@ data:
}
},
{
"endpoint": "/mainnet/v1/bc/P",
"endpoint": "/mainnet/v1/chain/P",
"method": "POST",
"output_encoding": "no-op",
"backend": [
{
"url_pattern": "/v1/bc/P",
"url_pattern": "/v1/chain/P",
"host": [
"http://luxd-headless.lux-mainnet.svc.cluster.local:9630"
@@ -536,12 +536,12 @@ data:
}
},
{
"endpoint": "/mainnet/v1/bc/X",
"endpoint": "/mainnet/v1/chain/X",
"method": "POST",
"output_encoding": "no-op",
"backend": [
{
"url_pattern": "/v1/bc/X",
"url_pattern": "/v1/chain/X",
"host": [
"http://luxd-headless.lux-mainnet.svc.cluster.local:9630"
@@ -575,12 +575,12 @@ data:
}
},
{
"endpoint": "/mainnet/v1/bc/exchange",
"endpoint": "/mainnet/v1/chain/exchange",
"method": "POST",
"output_encoding": "no-op",
"backend": [
{
"url_pattern": "/v1/bc/X",
"url_pattern": "/v1/chain/X",
"host": [
"http://luxd-headless.lux-mainnet.svc.cluster.local:9630"
@@ -614,12 +614,12 @@ data:
}
},
{
"endpoint": "/mainnet/v1/bc/D/rpc",
"endpoint": "/mainnet/v1/chain/D/rpc",
"method": "POST",
"output_encoding": "no-op",
"backend": [
{
"url_pattern": "/v1/bc/D/rpc",
"url_pattern": "/v1/chain/D/rpc",
"host": [
"http://luxd-headless.lux-mainnet.svc.cluster.local:9630"
@@ -653,11 +653,11 @@ data:
}
},
{
"endpoint": "/mainnet/v1/bc/D/ws",
"endpoint": "/mainnet/v1/chain/D/ws",
"output_encoding": "no-op",
"backend": [
{
"url_pattern": "/v1/bc/D/ws",
"url_pattern": "/v1/chain/D/ws",
"host": [
"http://luxd-headless.lux-mainnet.svc.cluster.local:9630"
@@ -691,12 +691,12 @@ data:
}
},
{
"endpoint": "/mainnet/v1/bc/dex/rpc",
"endpoint": "/mainnet/v1/chain/dex/rpc",
"method": "POST",
"output_encoding": "no-op",
"backend": [
{
"url_pattern": "/v1/bc/D/rpc",
"url_pattern": "/v1/chain/D/rpc",
"host": [
"http://luxd-headless.lux-mainnet.svc.cluster.local:9630"
@@ -811,12 +811,12 @@ data:
}
},
{
"endpoint": "/testnet/v1/bc/C/rpc",
"endpoint": "/testnet/v1/chain/C/rpc",
"method": "POST",
"output_encoding": "no-op",
"backend": [
{
"url_pattern": "/v1/bc/C/rpc",
"url_pattern": "/v1/chain/C/rpc",
"host": [
"http://luxd-0.luxd-headless.lux-testnet.svc.cluster.local:9640",
"http://luxd-1.luxd-headless.lux-testnet.svc.cluster.local:9640",
@@ -853,11 +853,11 @@ data:
}
},
{
"endpoint": "/testnet/v1/bc/C/ws",
"endpoint": "/testnet/v1/chain/C/ws",
"output_encoding": "no-op",
"backend": [
{
"url_pattern": "/v1/bc/C/ws",
"url_pattern": "/v1/chain/C/ws",
"host": [
"http://luxd-0.luxd-headless.lux-testnet.svc.cluster.local:9640",
"http://luxd-1.luxd-headless.lux-testnet.svc.cluster.local:9640",
@@ -894,12 +894,12 @@ data:
}
},
{
"endpoint": "/testnet/v1/bc/P",
"endpoint": "/testnet/v1/chain/P",
"method": "POST",
"output_encoding": "no-op",
"backend": [
{
"url_pattern": "/v1/bc/P",
"url_pattern": "/v1/chain/P",
"host": [
"http://luxd-0.luxd-headless.lux-testnet.svc.cluster.local:9640",
"http://luxd-1.luxd-headless.lux-testnet.svc.cluster.local:9640",
@@ -936,12 +936,12 @@ data:
}
},
{
"endpoint": "/testnet/v1/bc/X",
"endpoint": "/testnet/v1/chain/X",
"method": "POST",
"output_encoding": "no-op",
"backend": [
{
"url_pattern": "/v1/bc/X",
"url_pattern": "/v1/chain/X",
"host": [
"http://luxd-0.luxd-headless.lux-testnet.svc.cluster.local:9640",
"http://luxd-1.luxd-headless.lux-testnet.svc.cluster.local:9640",
@@ -978,12 +978,12 @@ data:
}
},
{
"endpoint": "/testnet/v1/bc/exchange",
"endpoint": "/testnet/v1/chain/exchange",
"method": "POST",
"output_encoding": "no-op",
"backend": [
{
"url_pattern": "/v1/bc/X",
"url_pattern": "/v1/chain/X",
"host": [
"http://luxd-0.luxd-headless.lux-testnet.svc.cluster.local:9640",
"http://luxd-1.luxd-headless.lux-testnet.svc.cluster.local:9640",
@@ -1020,12 +1020,12 @@ data:
}
},
{
"endpoint": "/testnet/v1/bc/D/rpc",
"endpoint": "/testnet/v1/chain/D/rpc",
"method": "POST",
"output_encoding": "no-op",
"backend": [
{
"url_pattern": "/v1/bc/D/rpc",
"url_pattern": "/v1/chain/D/rpc",
"host": [
"http://luxd-0.luxd-headless.lux-testnet.svc.cluster.local:9640",
"http://luxd-1.luxd-headless.lux-testnet.svc.cluster.local:9640",
@@ -1062,11 +1062,11 @@ data:
}
},
{
"endpoint": "/testnet/v1/bc/D/ws",
"endpoint": "/testnet/v1/chain/D/ws",
"output_encoding": "no-op",
"backend": [
{
"url_pattern": "/v1/bc/D/ws",
"url_pattern": "/v1/chain/D/ws",
"host": [
"http://luxd-0.luxd-headless.lux-testnet.svc.cluster.local:9640",
"http://luxd-1.luxd-headless.lux-testnet.svc.cluster.local:9640",
@@ -1103,12 +1103,12 @@ data:
}
},
{
"endpoint": "/testnet/v1/bc/dex/rpc",
"endpoint": "/testnet/v1/chain/dex/rpc",
"method": "POST",
"output_encoding": "no-op",
"backend": [
{
"url_pattern": "/v1/bc/D/rpc",
"url_pattern": "/v1/chain/D/rpc",
"host": [
"http://luxd-0.luxd-headless.lux-testnet.svc.cluster.local:9640",
"http://luxd-1.luxd-headless.lux-testnet.svc.cluster.local:9640",
@@ -1186,12 +1186,12 @@ data:
}
},
{
"endpoint": "/devnet/v1/bc/C/rpc",
"endpoint": "/devnet/v1/chain/C/rpc",
"method": "POST",
"output_encoding": "no-op",
"backend": [
{
"url_pattern": "/v1/bc/C/rpc",
"url_pattern": "/v1/chain/C/rpc",
"host": [
"http://luxd-0.luxd-headless.lux-devnet.svc.cluster.local:9650",
"http://luxd-1.luxd-headless.lux-devnet.svc.cluster.local:9650",
@@ -1228,11 +1228,11 @@ data:
}
},
{
"endpoint": "/devnet/v1/bc/C/ws",
"endpoint": "/devnet/v1/chain/C/ws",
"output_encoding": "no-op",
"backend": [
{
"url_pattern": "/v1/bc/C/ws",
"url_pattern": "/v1/chain/C/ws",
"host": [
"http://luxd-0.luxd-headless.lux-devnet.svc.cluster.local:9650",
"http://luxd-1.luxd-headless.lux-devnet.svc.cluster.local:9650",
@@ -1269,12 +1269,12 @@ data:
}
},
{
"endpoint": "/devnet/v1/bc/P",
"endpoint": "/devnet/v1/chain/P",
"method": "POST",
"output_encoding": "no-op",
"backend": [
{
"url_pattern": "/v1/bc/P",
"url_pattern": "/v1/chain/P",
"host": [
"http://luxd-0.luxd-headless.lux-devnet.svc.cluster.local:9650",
"http://luxd-1.luxd-headless.lux-devnet.svc.cluster.local:9650",
@@ -1311,12 +1311,12 @@ data:
}
},
{
"endpoint": "/devnet/v1/bc/X",
"endpoint": "/devnet/v1/chain/X",
"method": "POST",
"output_encoding": "no-op",
"backend": [
{
"url_pattern": "/v1/bc/X",
"url_pattern": "/v1/chain/X",
"host": [
"http://luxd-0.luxd-headless.lux-devnet.svc.cluster.local:9650",
"http://luxd-1.luxd-headless.lux-devnet.svc.cluster.local:9650",
@@ -1353,12 +1353,12 @@ data:
}
},
{
"endpoint": "/devnet/v1/bc/exchange",
"endpoint": "/devnet/v1/chain/exchange",
"method": "POST",
"output_encoding": "no-op",
"backend": [
{
"url_pattern": "/v1/bc/X",
"url_pattern": "/v1/chain/X",
"host": [
"http://luxd-0.luxd-headless.lux-devnet.svc.cluster.local:9650",
"http://luxd-1.luxd-headless.lux-devnet.svc.cluster.local:9650",
@@ -1395,12 +1395,12 @@ data:
}
},
{
"endpoint": "/devnet/v1/bc/D/rpc",
"endpoint": "/devnet/v1/chain/D/rpc",
"method": "POST",
"output_encoding": "no-op",
"backend": [
{
"url_pattern": "/v1/bc/D/rpc",
"url_pattern": "/v1/chain/D/rpc",
"host": [
"http://luxd-0.luxd-headless.lux-devnet.svc.cluster.local:9650",
"http://luxd-1.luxd-headless.lux-devnet.svc.cluster.local:9650",
@@ -1437,11 +1437,11 @@ data:
}
},
{
"endpoint": "/devnet/v1/bc/D/ws",
"endpoint": "/devnet/v1/chain/D/ws",
"output_encoding": "no-op",
"backend": [
{
"url_pattern": "/v1/bc/D/ws",
"url_pattern": "/v1/chain/D/ws",
"host": [
"http://luxd-0.luxd-headless.lux-devnet.svc.cluster.local:9650",
"http://luxd-1.luxd-headless.lux-devnet.svc.cluster.local:9650",
@@ -1478,12 +1478,12 @@ data:
}
},
{
"endpoint": "/devnet/v1/bc/dex/rpc",
"endpoint": "/devnet/v1/chain/dex/rpc",
"method": "POST",
"output_encoding": "no-op",
"backend": [
{
"url_pattern": "/v1/bc/D/rpc",
"url_pattern": "/v1/chain/D/rpc",
"host": [
"http://luxd-0.luxd-headless.lux-devnet.svc.cluster.local:9650",
"http://luxd-1.luxd-headless.lux-devnet.svc.cluster.local:9650",
@@ -1655,12 +1655,12 @@ data:
}
},
{
"endpoint": "/mainnet/v1/bc/2Y625Kvdd4wZ5LKx9kLSf1jGALyARmXVN1YsTb4F3Hzv4bPDbp/rpc",
"endpoint": "/mainnet/v1/chain/2Y625Kvdd4wZ5LKx9kLSf1jGALyARmXVN1YsTb4F3Hzv4bPDbp/rpc",
"method": "POST",
"output_encoding": "no-op",
"backend": [
{
"url_pattern": "/v1/bc/2Y625Kvdd4wZ5LKx9kLSf1jGALyARmXVN1YsTb4F3Hzv4bPDbp/rpc",
"url_pattern": "/v1/chain/2Y625Kvdd4wZ5LKx9kLSf1jGALyARmXVN1YsTb4F3Hzv4bPDbp/rpc",
"host": [
"http://luxd-headless.lux-mainnet.svc.cluster.local:9630"
@@ -1694,12 +1694,12 @@ data:
}
},
{
"endpoint": "/mainnet/v1/bc/zoo/rpc",
"endpoint": "/mainnet/v1/chain/zoo/rpc",
"method": "POST",
"output_encoding": "no-op",
"backend": [
{
"url_pattern": "/v1/bc/2Y625Kvdd4wZ5LKx9kLSf1jGALyARmXVN1YsTb4F3Hzv4bPDbp/rpc",
"url_pattern": "/v1/chain/2Y625Kvdd4wZ5LKx9kLSf1jGALyARmXVN1YsTb4F3Hzv4bPDbp/rpc",
"host": [
"http://luxd-headless.lux-mainnet.svc.cluster.local:9630"
@@ -1733,12 +1733,12 @@ data:
}
},
{
"endpoint": "/mainnet/v1/bc/2GiQb73CeJESjc4omFv2YtQHZrRgJf25NXPzAr5J6UNHRcDV2F/rpc",
"endpoint": "/mainnet/v1/chain/2GiQb73CeJESjc4omFv2YtQHZrRgJf25NXPzAr5J6UNHRcDV2F/rpc",
"method": "POST",
"output_encoding": "no-op",
"backend": [
{
"url_pattern": "/v1/bc/2GiQb73CeJESjc4omFv2YtQHZrRgJf25NXPzAr5J6UNHRcDV2F/rpc",
"url_pattern": "/v1/chain/2GiQb73CeJESjc4omFv2YtQHZrRgJf25NXPzAr5J6UNHRcDV2F/rpc",
"host": [
"http://luxd-headless.lux-mainnet.svc.cluster.local:9630"
@@ -1772,12 +1772,12 @@ data:
}
},
{
"endpoint": "/mainnet/v1/bc/hanzo/rpc",
"endpoint": "/mainnet/v1/chain/hanzo/rpc",
"method": "POST",
"output_encoding": "no-op",
"backend": [
{
"url_pattern": "/v1/bc/2GiQb73CeJESjc4omFv2YtQHZrRgJf25NXPzAr5J6UNHRcDV2F/rpc",
"url_pattern": "/v1/chain/2GiQb73CeJESjc4omFv2YtQHZrRgJf25NXPzAr5J6UNHRcDV2F/rpc",
"host": [
"http://luxd-headless.lux-mainnet.svc.cluster.local:9630"
@@ -1811,12 +1811,12 @@ data:
}
},
{
"endpoint": "/mainnet/v1/bc/rtjwvtE1tEvrokmpeYdTq7b2zqZgmybKwR5MLjKMGAR1W78dQ/rpc",
"endpoint": "/mainnet/v1/chain/rtjwvtE1tEvrokmpeYdTq7b2zqZgmybKwR5MLjKMGAR1W78dQ/rpc",
"method": "POST",
"output_encoding": "no-op",
"backend": [
{
"url_pattern": "/v1/bc/rtjwvtE1tEvrokmpeYdTq7b2zqZgmybKwR5MLjKMGAR1W78dQ/rpc",
"url_pattern": "/v1/chain/rtjwvtE1tEvrokmpeYdTq7b2zqZgmybKwR5MLjKMGAR1W78dQ/rpc",
"host": [
"http://luxd-headless.lux-mainnet.svc.cluster.local:9630"
@@ -1850,12 +1850,12 @@ data:
}
},
{
"endpoint": "/mainnet/v1/bc/spc/rpc",
"endpoint": "/mainnet/v1/chain/spc/rpc",
"method": "POST",
"output_encoding": "no-op",
"backend": [
{
"url_pattern": "/v1/bc/rtjwvtE1tEvrokmpeYdTq7b2zqZgmybKwR5MLjKMGAR1W78dQ/rpc",
"url_pattern": "/v1/chain/rtjwvtE1tEvrokmpeYdTq7b2zqZgmybKwR5MLjKMGAR1W78dQ/rpc",
"host": [
"http://luxd-headless.lux-mainnet.svc.cluster.local:9630"
@@ -1889,12 +1889,12 @@ data:
}
},
{
"endpoint": "/mainnet/v1/bc/2pUskxqaL5Bpx7uRUGG1fDjPckjxQ4UKX4sLKeaS1NdSVBJd3F/rpc",
"endpoint": "/mainnet/v1/chain/2pUskxqaL5Bpx7uRUGG1fDjPckjxQ4UKX4sLKeaS1NdSVBJd3F/rpc",
"method": "POST",
"output_encoding": "no-op",
"backend": [
{
"url_pattern": "/v1/bc/2pUskxqaL5Bpx7uRUGG1fDjPckjxQ4UKX4sLKeaS1NdSVBJd3F/rpc",
"url_pattern": "/v1/chain/2pUskxqaL5Bpx7uRUGG1fDjPckjxQ4UKX4sLKeaS1NdSVBJd3F/rpc",
"host": [
"http://luxd-headless.lux-mainnet.svc.cluster.local:9630"
@@ -1928,12 +1928,12 @@ data:
}
},
{
"endpoint": "/mainnet/v1/bc/pars/rpc",
"endpoint": "/mainnet/v1/chain/pars/rpc",
"method": "POST",
"output_encoding": "no-op",
"backend": [
{
"url_pattern": "/v1/bc/2pUskxqaL5Bpx7uRUGG1fDjPckjxQ4UKX4sLKeaS1NdSVBJd3F/rpc",
"url_pattern": "/v1/chain/2pUskxqaL5Bpx7uRUGG1fDjPckjxQ4UKX4sLKeaS1NdSVBJd3F/rpc",
"host": [
"http://luxd-headless.lux-mainnet.svc.cluster.local:9630"
@@ -1967,12 +1967,12 @@ data:
}
},
{
"endpoint": "/testnet/v1/bc/2BSjBuuRHUMGdhw9HzcmiRMtWEBsVcS98tjeF3x5F99T1BfbQo/rpc",
"endpoint": "/testnet/v1/chain/2BSjBuuRHUMGdhw9HzcmiRMtWEBsVcS98tjeF3x5F99T1BfbQo/rpc",
"method": "POST",
"output_encoding": "no-op",
"backend": [
{
"url_pattern": "/v1/bc/2BSjBuuRHUMGdhw9HzcmiRMtWEBsVcS98tjeF3x5F99T1BfbQo/rpc",
"url_pattern": "/v1/chain/2BSjBuuRHUMGdhw9HzcmiRMtWEBsVcS98tjeF3x5F99T1BfbQo/rpc",
"host": [
"http://luxd-0.luxd-headless.lux-testnet.svc.cluster.local:9640",
"http://luxd-1.luxd-headless.lux-testnet.svc.cluster.local:9640",
@@ -2009,12 +2009,12 @@ data:
}
},
{
"endpoint": "/testnet/v1/bc/zoo/rpc",
"endpoint": "/testnet/v1/chain/zoo/rpc",
"method": "POST",
"output_encoding": "no-op",
"backend": [
{
"url_pattern": "/v1/bc/2BSjBuuRHUMGdhw9HzcmiRMtWEBsVcS98tjeF3x5F99T1BfbQo/rpc",
"url_pattern": "/v1/chain/2BSjBuuRHUMGdhw9HzcmiRMtWEBsVcS98tjeF3x5F99T1BfbQo/rpc",
"host": [
"http://luxd-0.luxd-headless.lux-testnet.svc.cluster.local:9640",
"http://luxd-1.luxd-headless.lux-testnet.svc.cluster.local:9640",
@@ -2051,12 +2051,12 @@ data:
}
},
{
"endpoint": "/testnet/v1/bc/2ZUpGYPyaDsmuwnMUrhkcP3C24RYHvGWTZZYPaNr4oPPdUmnh3/rpc",
"endpoint": "/testnet/v1/chain/2ZUpGYPyaDsmuwnMUrhkcP3C24RYHvGWTZZYPaNr4oPPdUmnh3/rpc",
"method": "POST",
"output_encoding": "no-op",
"backend": [
{
"url_pattern": "/v1/bc/2ZUpGYPyaDsmuwnMUrhkcP3C24RYHvGWTZZYPaNr4oPPdUmnh3/rpc",
"url_pattern": "/v1/chain/2ZUpGYPyaDsmuwnMUrhkcP3C24RYHvGWTZZYPaNr4oPPdUmnh3/rpc",
"host": [
"http://luxd-0.luxd-headless.lux-testnet.svc.cluster.local:9640",
"http://luxd-1.luxd-headless.lux-testnet.svc.cluster.local:9640",
@@ -2093,12 +2093,12 @@ data:
}
},
{
"endpoint": "/testnet/v1/bc/hanzo/rpc",
"endpoint": "/testnet/v1/chain/hanzo/rpc",
"method": "POST",
"output_encoding": "no-op",
"backend": [
{
"url_pattern": "/v1/bc/2ZUpGYPyaDsmuwnMUrhkcP3C24RYHvGWTZZYPaNr4oPPdUmnh3/rpc",
"url_pattern": "/v1/chain/2ZUpGYPyaDsmuwnMUrhkcP3C24RYHvGWTZZYPaNr4oPPdUmnh3/rpc",
"host": [
"http://luxd-0.luxd-headless.lux-testnet.svc.cluster.local:9640",
"http://luxd-1.luxd-headless.lux-testnet.svc.cluster.local:9640",
@@ -2135,12 +2135,12 @@ data:
}
},
{
"endpoint": "/testnet/v1/bc/Sd9bKzGu5Mzh6nafNecxicWJLdDmc9DB2aQPN6EUb1KfknReh/rpc",
"endpoint": "/testnet/v1/chain/Sd9bKzGu5Mzh6nafNecxicWJLdDmc9DB2aQPN6EUb1KfknReh/rpc",
"method": "POST",
"output_encoding": "no-op",
"backend": [
{
"url_pattern": "/v1/bc/Sd9bKzGu5Mzh6nafNecxicWJLdDmc9DB2aQPN6EUb1KfknReh/rpc",
"url_pattern": "/v1/chain/Sd9bKzGu5Mzh6nafNecxicWJLdDmc9DB2aQPN6EUb1KfknReh/rpc",
"host": [
"http://luxd-0.luxd-headless.lux-testnet.svc.cluster.local:9640",
"http://luxd-1.luxd-headless.lux-testnet.svc.cluster.local:9640",
@@ -2177,12 +2177,12 @@ data:
}
},
{
"endpoint": "/testnet/v1/bc/spc/rpc",
"endpoint": "/testnet/v1/chain/spc/rpc",
"method": "POST",
"output_encoding": "no-op",
"backend": [
{
"url_pattern": "/v1/bc/Sd9bKzGu5Mzh6nafNecxicWJLdDmc9DB2aQPN6EUb1KfknReh/rpc",
"url_pattern": "/v1/chain/Sd9bKzGu5Mzh6nafNecxicWJLdDmc9DB2aQPN6EUb1KfknReh/rpc",
"host": [
"http://luxd-0.luxd-headless.lux-testnet.svc.cluster.local:9640",
"http://luxd-1.luxd-headless.lux-testnet.svc.cluster.local:9640",
@@ -2219,12 +2219,12 @@ data:
}
},
{
"endpoint": "/testnet/v1/bc/26a3qkQ5VzTwFDBerz2a9kte8GPqS1wJpguc9x4BHz26YXrtL9/rpc",
"endpoint": "/testnet/v1/chain/26a3qkQ5VzTwFDBerz2a9kte8GPqS1wJpguc9x4BHz26YXrtL9/rpc",
"method": "POST",
"output_encoding": "no-op",
"backend": [
{
"url_pattern": "/v1/bc/26a3qkQ5VzTwFDBerz2a9kte8GPqS1wJpguc9x4BHz26YXrtL9/rpc",
"url_pattern": "/v1/chain/26a3qkQ5VzTwFDBerz2a9kte8GPqS1wJpguc9x4BHz26YXrtL9/rpc",
"host": [
"http://luxd-0.luxd-headless.lux-testnet.svc.cluster.local:9640",
"http://luxd-1.luxd-headless.lux-testnet.svc.cluster.local:9640",
@@ -2261,12 +2261,12 @@ data:
}
},
{
"endpoint": "/testnet/v1/bc/pars/rpc",
"endpoint": "/testnet/v1/chain/pars/rpc",
"method": "POST",
"output_encoding": "no-op",
"backend": [
{
"url_pattern": "/v1/bc/26a3qkQ5VzTwFDBerz2a9kte8GPqS1wJpguc9x4BHz26YXrtL9/rpc",
"url_pattern": "/v1/chain/26a3qkQ5VzTwFDBerz2a9kte8GPqS1wJpguc9x4BHz26YXrtL9/rpc",
"host": [
"http://luxd-0.luxd-headless.lux-testnet.svc.cluster.local:9640",
"http://luxd-1.luxd-headless.lux-testnet.svc.cluster.local:9640",
@@ -2303,12 +2303,12 @@ data:
}
},
{
"endpoint": "/devnet/v1/bc/2caKCdNop9C4oAPR1kYihN53HeSRDXD3JyMKS7ntfcpQYucmii/rpc",
"endpoint": "/devnet/v1/chain/2caKCdNop9C4oAPR1kYihN53HeSRDXD3JyMKS7ntfcpQYucmii/rpc",
"method": "POST",
"output_encoding": "no-op",
"backend": [
{
"url_pattern": "/v1/bc/2caKCdNop9C4oAPR1kYihN53HeSRDXD3JyMKS7ntfcpQYucmii/rpc",
"url_pattern": "/v1/chain/2caKCdNop9C4oAPR1kYihN53HeSRDXD3JyMKS7ntfcpQYucmii/rpc",
"host": [
"http://luxd-0.luxd-headless.lux-devnet.svc.cluster.local:9650",
"http://luxd-1.luxd-headless.lux-devnet.svc.cluster.local:9650",
@@ -2345,12 +2345,12 @@ data:
}
},
{
"endpoint": "/devnet/v1/bc/zoo/rpc",
"endpoint": "/devnet/v1/chain/zoo/rpc",
"method": "POST",
"output_encoding": "no-op",
"backend": [
{
"url_pattern": "/v1/bc/2caKCdNop9C4oAPR1kYihN53HeSRDXD3JyMKS7ntfcpQYucmii/rpc",
"url_pattern": "/v1/chain/2caKCdNop9C4oAPR1kYihN53HeSRDXD3JyMKS7ntfcpQYucmii/rpc",
"host": [
"http://luxd-0.luxd-headless.lux-devnet.svc.cluster.local:9650",
"http://luxd-1.luxd-headless.lux-devnet.svc.cluster.local:9650",
@@ -2387,12 +2387,12 @@ data:
}
},
{
"endpoint": "/devnet/v1/bc/tecXMucYDxwN65mebPE6cvQ9GynG6Y5WEvwGFsY3xVDWHxiqT/rpc",
"endpoint": "/devnet/v1/chain/tecXMucYDxwN65mebPE6cvQ9GynG6Y5WEvwGFsY3xVDWHxiqT/rpc",
"method": "POST",
"output_encoding": "no-op",
"backend": [
{
"url_pattern": "/v1/bc/tecXMucYDxwN65mebPE6cvQ9GynG6Y5WEvwGFsY3xVDWHxiqT/rpc",
"url_pattern": "/v1/chain/tecXMucYDxwN65mebPE6cvQ9GynG6Y5WEvwGFsY3xVDWHxiqT/rpc",
"host": [
"http://luxd-0.luxd-headless.lux-devnet.svc.cluster.local:9650",
"http://luxd-1.luxd-headless.lux-devnet.svc.cluster.local:9650",
@@ -2429,12 +2429,12 @@ data:
}
},
{
"endpoint": "/devnet/v1/bc/hanzo/rpc",
"endpoint": "/devnet/v1/chain/hanzo/rpc",
"method": "POST",
"output_encoding": "no-op",
"backend": [
{
"url_pattern": "/v1/bc/tecXMucYDxwN65mebPE6cvQ9GynG6Y5WEvwGFsY3xVDWHxiqT/rpc",
"url_pattern": "/v1/chain/tecXMucYDxwN65mebPE6cvQ9GynG6Y5WEvwGFsY3xVDWHxiqT/rpc",
"host": [
"http://luxd-0.luxd-headless.lux-devnet.svc.cluster.local:9650",
"http://luxd-1.luxd-headless.lux-devnet.svc.cluster.local:9650",
@@ -2471,12 +2471,12 @@ data:
}
},
{
"endpoint": "/devnet/v1/bc/213ZsFLRCBSmrii4huQqa6S3SxYPP8ec6dPEn6ad4CtLk3RdXp/rpc",
"endpoint": "/devnet/v1/chain/213ZsFLRCBSmrii4huQqa6S3SxYPP8ec6dPEn6ad4CtLk3RdXp/rpc",
"method": "POST",
"output_encoding": "no-op",
"backend": [
{
"url_pattern": "/v1/bc/213ZsFLRCBSmrii4huQqa6S3SxYPP8ec6dPEn6ad4CtLk3RdXp/rpc",
"url_pattern": "/v1/chain/213ZsFLRCBSmrii4huQqa6S3SxYPP8ec6dPEn6ad4CtLk3RdXp/rpc",
"host": [
"http://luxd-0.luxd-headless.lux-devnet.svc.cluster.local:9650",
"http://luxd-1.luxd-headless.lux-devnet.svc.cluster.local:9650",
@@ -2513,12 +2513,12 @@ data:
}
},
{
"endpoint": "/devnet/v1/bc/spc/rpc",
"endpoint": "/devnet/v1/chain/spc/rpc",
"method": "POST",
"output_encoding": "no-op",
"backend": [
{
"url_pattern": "/v1/bc/213ZsFLRCBSmrii4huQqa6S3SxYPP8ec6dPEn6ad4CtLk3RdXp/rpc",
"url_pattern": "/v1/chain/213ZsFLRCBSmrii4huQqa6S3SxYPP8ec6dPEn6ad4CtLk3RdXp/rpc",
"host": [
"http://luxd-0.luxd-headless.lux-devnet.svc.cluster.local:9650",
"http://luxd-1.luxd-headless.lux-devnet.svc.cluster.local:9650",
@@ -2555,12 +2555,12 @@ data:
}
},
{
"endpoint": "/devnet/v1/bc/MEGAgimfcodi7QaqCruFpTkNM6fqu7ZduLmWJJjGQwUg8uDPJ/rpc",
"endpoint": "/devnet/v1/chain/MEGAgimfcodi7QaqCruFpTkNM6fqu7ZduLmWJJjGQwUg8uDPJ/rpc",
"method": "POST",
"output_encoding": "no-op",
"backend": [
{
"url_pattern": "/v1/bc/MEGAgimfcodi7QaqCruFpTkNM6fqu7ZduLmWJJjGQwUg8uDPJ/rpc",
"url_pattern": "/v1/chain/MEGAgimfcodi7QaqCruFpTkNM6fqu7ZduLmWJJjGQwUg8uDPJ/rpc",
"host": [
"http://luxd-0.luxd-headless.lux-devnet.svc.cluster.local:9650",
"http://luxd-1.luxd-headless.lux-devnet.svc.cluster.local:9650",
@@ -2597,12 +2597,12 @@ data:
}
},
{
"endpoint": "/devnet/v1/bc/pars/rpc",
"endpoint": "/devnet/v1/chain/pars/rpc",
"method": "POST",
"output_encoding": "no-op",
"backend": [
{
"url_pattern": "/v1/bc/MEGAgimfcodi7QaqCruFpTkNM6fqu7ZduLmWJJjGQwUg8uDPJ/rpc",
"url_pattern": "/v1/chain/MEGAgimfcodi7QaqCruFpTkNM6fqu7ZduLmWJJjGQwUg8uDPJ/rpc",
"host": [
"http://luxd-0.luxd-headless.lux-devnet.svc.cluster.local:9650",
"http://luxd-1.luxd-headless.lux-devnet.svc.cluster.local:9650",
+6 -6
View File
@@ -11,13 +11,13 @@
# api.lux-dev.network → lux-devnet/api-gateway-gateway
#
# Endpoints exposed per network (no `/mainnet/...` prefix — host implies env):
# /v1/bc/C/rpc, /v1/bc/C/ws — primary-network EVM
# /v1/bc/P, /v1/bc/X — P-Chain, X-Chain
# /v1/chain/C/rpc, /v1/chain/C/ws — primary-network EVM
# /v1/chain/P, /v1/chain/X — P-Chain, X-Chain
# /v1/info, /v1/health — node info / liveness
# /v1/bc/hanzo/rpc — Hanzo app chain EVM (chainID 36963/36964)
# /v1/bc/zoo/rpc — Zoo app chain EVM
# /v1/bc/pars/rpc — Pars app chain EVM
# /v1/bc/spc/rpc — SPC app chain EVM
# /v1/chain/hanzo/rpc — Hanzo app chain EVM (chainID 36963/36964)
# /v1/chain/zoo/rpc — Zoo app chain EVM
# /v1/chain/pars/rpc — Pars app chain EVM
# /v1/chain/spc/rpc — SPC app chain EVM
# /api/indexer/indexer-<sub> — indexer REST per app chain EVM
#
# Notes:
+7 -7
View File
@@ -48,10 +48,10 @@ data:
# handed the svc.cluster.local name above and could resolve nothing.
# Verified public: eth_chainId -> 0x17871 (96369).
# SPC and Osage deliberately have no public_rpc — api.lux.network 404s on
# /v1/bc/{spc,osage}/rpc, so the binary emits "" for them rather than a
# /v1/chain/{spc,osage}/rpc, so the binary emits "" for them rather than a
# URL that always fails.
rpc: http://luxd-headless.lux-mainnet.svc.cluster.local:9630/v1/bc/C/rpc
public_rpc: https://api.lux.network/v1/bc/C/rpc
rpc: http://luxd-headless.lux-mainnet.svc.cluster.local:9630/v1/chain/C/rpc
public_rpc: https://api.lux.network/v1/chain/c
coin: LUX
enabled: true
default: true
@@ -66,7 +66,7 @@ data:
name: Zoo
chain_id: 200200
type: evm
rpc: http://luxd-headless.lux-mainnet.svc.cluster.local:9630/v1/bc/zoo/rpc
rpc: http://luxd-headless.lux-mainnet.svc.cluster.local:9630/v1/chain/zoo/rpc
coin: ZOO
enabled: true
indexer:
@@ -80,7 +80,7 @@ data:
name: Hanzo
chain_id: 36963
type: evm
rpc: http://luxd-headless.lux-mainnet.svc.cluster.local:9630/v1/bc/hanzo/rpc
rpc: http://luxd-headless.lux-mainnet.svc.cluster.local:9630/v1/chain/hanzo/rpc
coin: AI
enabled: true
indexer:
@@ -94,7 +94,7 @@ data:
name: Sparkle Pony Club
chain_id: 36911
type: evm
rpc: http://luxd-headless.lux-mainnet.svc.cluster.local:9630/v1/bc/spc/rpc
rpc: http://luxd-headless.lux-mainnet.svc.cluster.local:9630/v1/chain/spc/rpc
coin: SPC
enabled: true
indexer:
@@ -107,7 +107,7 @@ data:
name: Pars
chain_id: 494949
type: evm
rpc: http://luxd-headless.lux-mainnet.svc.cluster.local:9630/v1/bc/pars/rpc
rpc: http://luxd-headless.lux-mainnet.svc.cluster.local:9630/v1/chain/pars/rpc
coin: PARS
enabled: true
indexer:
+27 -27
View File
@@ -194,54 +194,54 @@ spec:
- indexer-pars
customRoutes:
# Zoo (EVM chain 200200, blockchain ID 2Y625Kvdd4wZ5LKx9kLSf1jGALyARmXVN1YsTb4F3Hzv4bPDbp)
- path: /v1/bc/2Y625Kvdd4wZ5LKx9kLSf1jGALyARmXVN1YsTb4F3Hzv4bPDbp/rpc
- path: /v1/chain/2Y625Kvdd4wZ5LKx9kLSf1jGALyARmXVN1YsTb4F3Hzv4bPDbp/rpc
backend: "http://luxd-headless.lux-mainnet.svc:9630"
methods: [GET, POST, OPTIONS]
timeout: 30
- path: /v1/bc/zoo/rpc
- path: /v1/chain/zoo/rpc
backend: "http://luxd-headless.lux-mainnet.svc:9630"
methods: [GET, POST, OPTIONS]
timeout: 30
- path: /v1/bc/2Y625Kvdd4wZ5LKx9kLSf1jGALyARmXVN1YsTb4F3Hzv4bPDbp/ws
- path: /v1/chain/2Y625Kvdd4wZ5LKx9kLSf1jGALyARmXVN1YsTb4F3Hzv4bPDbp/ws
backend: "http://luxd-headless.lux-mainnet.svc:9630"
methods: [GET, POST, OPTIONS]
timeout: 60
# Hanzo (EVM chain 36963, blockchain ID 2GiQb73CeJESjc4omFv2YtQHZrRgJf25NXPzAr5J6UNHRcDV2F)
- path: /v1/bc/2GiQb73CeJESjc4omFv2YtQHZrRgJf25NXPzAr5J6UNHRcDV2F/rpc
- path: /v1/chain/2GiQb73CeJESjc4omFv2YtQHZrRgJf25NXPzAr5J6UNHRcDV2F/rpc
backend: "http://luxd-headless.lux-mainnet.svc:9630"
methods: [GET, POST, OPTIONS]
timeout: 30
- path: /v1/bc/hanzo/rpc
- path: /v1/chain/hanzo/rpc
backend: "http://luxd-headless.lux-mainnet.svc:9630"
methods: [GET, POST, OPTIONS]
timeout: 30
- path: /v1/bc/2GiQb73CeJESjc4omFv2YtQHZrRgJf25NXPzAr5J6UNHRcDV2F/ws
- path: /v1/chain/2GiQb73CeJESjc4omFv2YtQHZrRgJf25NXPzAr5J6UNHRcDV2F/ws
backend: "http://luxd-headless.lux-mainnet.svc:9630"
methods: [GET, POST, OPTIONS]
timeout: 60
# SPC (EVM chain 36911, blockchain ID rtjwvtE1tEvrokmpeYdTq7b2zqZgmybKwR5MLjKMGAR1W78dQ)
- path: /v1/bc/rtjwvtE1tEvrokmpeYdTq7b2zqZgmybKwR5MLjKMGAR1W78dQ/rpc
- path: /v1/chain/rtjwvtE1tEvrokmpeYdTq7b2zqZgmybKwR5MLjKMGAR1W78dQ/rpc
backend: "http://luxd-headless.lux-mainnet.svc:9630"
methods: [GET, POST, OPTIONS]
timeout: 30
- path: /v1/bc/spc/rpc
- path: /v1/chain/spc/rpc
backend: "http://luxd-headless.lux-mainnet.svc:9630"
methods: [GET, POST, OPTIONS]
timeout: 30
- path: /v1/bc/rtjwvtE1tEvrokmpeYdTq7b2zqZgmybKwR5MLjKMGAR1W78dQ/ws
- path: /v1/chain/rtjwvtE1tEvrokmpeYdTq7b2zqZgmybKwR5MLjKMGAR1W78dQ/ws
backend: "http://luxd-headless.lux-mainnet.svc:9630"
methods: [GET, POST, OPTIONS]
timeout: 60
# Pars (EVM chain 494949, blockchain ID 2pUskxqaL5Bpx7uRUGG1fDjPckjxQ4UKX4sLKeaS1NdSVBJd3F)
- path: /v1/bc/2pUskxqaL5Bpx7uRUGG1fDjPckjxQ4UKX4sLKeaS1NdSVBJd3F/rpc
- path: /v1/chain/2pUskxqaL5Bpx7uRUGG1fDjPckjxQ4UKX4sLKeaS1NdSVBJd3F/rpc
backend: "http://luxd-headless.lux-mainnet.svc:9630"
methods: [GET, POST, OPTIONS]
timeout: 30
- path: /v1/bc/pars/rpc
- path: /v1/chain/pars/rpc
backend: "http://luxd-headless.lux-mainnet.svc:9630"
methods: [GET, POST, OPTIONS]
timeout: 30
- path: /v1/bc/2pUskxqaL5Bpx7uRUGG1fDjPckjxQ4UKX4sLKeaS1NdSVBJd3F/ws
- path: /v1/chain/2pUskxqaL5Bpx7uRUGG1fDjPckjxQ4UKX4sLKeaS1NdSVBJd3F/ws
backend: "http://luxd-headless.lux-mainnet.svc:9630"
methods: [GET, POST, OPTIONS]
timeout: 60
@@ -458,34 +458,34 @@ spec:
# LXuiihyiND2NyegTCZkZiraJs9jtngu6akaLyZMBYZ3MsLgWA.
# The legacy "zoo"-aliased testnet chain (2Uw1b5tf63vamHsWVeSW9uHcGBVbF5CYHS9JiLWttusY4Vvjsn)
# had malformed genesis; it is tombstoned via the dead-chains ConfigMap.
- path: /v1/bc/LXuiihyiND2NyegTCZkZiraJs9jtngu6akaLyZMBYZ3MsLgWA/rpc
- path: /v1/chain/LXuiihyiND2NyegTCZkZiraJs9jtngu6akaLyZMBYZ3MsLgWA/rpc
backend: "http://luxd-headless.lux-testnet.svc:9640"
methods: [GET, POST, OPTIONS]
timeout: 30
# Hanzo testnet (EVM chain 36962, blockchain ID 2ZUpGYPyaDsmuwnMUrhkcP3C24RYHvGWTZZYPaNr4oPPdUmnh3)
- path: /v1/bc/2ZUpGYPyaDsmuwnMUrhkcP3C24RYHvGWTZZYPaNr4oPPdUmnh3/rpc
- path: /v1/chain/2ZUpGYPyaDsmuwnMUrhkcP3C24RYHvGWTZZYPaNr4oPPdUmnh3/rpc
backend: "http://luxd-headless.lux-testnet.svc:9640"
methods: [GET, POST, OPTIONS]
timeout: 30
- path: /v1/bc/hanzo/rpc
- path: /v1/chain/hanzo/rpc
backend: "http://luxd-headless.lux-testnet.svc:9640"
methods: [GET, POST, OPTIONS]
timeout: 30
# SPC testnet (EVM chain 36910, blockchain ID Sd9bKzGu5Mzh6nafNecxicWJLdDmc9DB2aQPN6EUb1KfknReh)
- path: /v1/bc/Sd9bKzGu5Mzh6nafNecxicWJLdDmc9DB2aQPN6EUb1KfknReh/rpc
- path: /v1/chain/Sd9bKzGu5Mzh6nafNecxicWJLdDmc9DB2aQPN6EUb1KfknReh/rpc
backend: "http://luxd-headless.lux-testnet.svc:9640"
methods: [GET, POST, OPTIONS]
timeout: 30
- path: /v1/bc/spc/rpc
- path: /v1/chain/spc/rpc
backend: "http://luxd-headless.lux-testnet.svc:9640"
methods: [GET, POST, OPTIONS]
timeout: 30
# Pars testnet (EVM chain 494950, blockchain ID 26a3qkQ5VzTwFDBerz2a9kte8GPqS1wJpguc9x4BHz26YXrtL9)
- path: /v1/bc/26a3qkQ5VzTwFDBerz2a9kte8GPqS1wJpguc9x4BHz26YXrtL9/rpc
- path: /v1/chain/26a3qkQ5VzTwFDBerz2a9kte8GPqS1wJpguc9x4BHz26YXrtL9/rpc
backend: "http://luxd-headless.lux-testnet.svc:9640"
methods: [GET, POST, OPTIONS]
timeout: 30
- path: /v1/bc/pars/rpc
- path: /v1/chain/pars/rpc
backend: "http://luxd-headless.lux-testnet.svc:9640"
methods: [GET, POST, OPTIONS]
timeout: 30
@@ -691,38 +691,38 @@ spec:
- indexer-pars
customRoutes:
# Zoo devnet (EVM chain 200202, blockchain ID 2caKCdNop9C4oAPR1kYihN53HeSRDXD3JyMKS7ntfcpQYucmii)
- path: /v1/bc/2caKCdNop9C4oAPR1kYihN53HeSRDXD3JyMKS7ntfcpQYucmii/rpc
- path: /v1/chain/2caKCdNop9C4oAPR1kYihN53HeSRDXD3JyMKS7ntfcpQYucmii/rpc
backend: "http://luxd-headless.lux-devnet.svc:9650"
methods: [GET, POST, OPTIONS]
timeout: 30
- path: /v1/bc/zoo/rpc
- path: /v1/chain/zoo/rpc
backend: "http://luxd-headless.lux-devnet.svc:9650"
methods: [GET, POST, OPTIONS]
timeout: 30
# Hanzo devnet (EVM chain 36964, blockchain ID tecXMucYDxwN65mebPE6cvQ9GynG6Y5WEvwGFsY3xVDWHxiqT)
- path: /v1/bc/tecXMucYDxwN65mebPE6cvQ9GynG6Y5WEvwGFsY3xVDWHxiqT/rpc
- path: /v1/chain/tecXMucYDxwN65mebPE6cvQ9GynG6Y5WEvwGFsY3xVDWHxiqT/rpc
backend: "http://luxd-headless.lux-devnet.svc:9650"
methods: [GET, POST, OPTIONS]
timeout: 30
- path: /v1/bc/hanzo/rpc
- path: /v1/chain/hanzo/rpc
backend: "http://luxd-headless.lux-devnet.svc:9650"
methods: [GET, POST, OPTIONS]
timeout: 30
# SPC devnet (EVM chain 36912, blockchain ID 213ZsFLRCBSmrii4huQqa6S3SxYPP8ec6dPEn6ad4CtLk3RdXp)
- path: /v1/bc/213ZsFLRCBSmrii4huQqa6S3SxYPP8ec6dPEn6ad4CtLk3RdXp/rpc
- path: /v1/chain/213ZsFLRCBSmrii4huQqa6S3SxYPP8ec6dPEn6ad4CtLk3RdXp/rpc
backend: "http://luxd-headless.lux-devnet.svc:9650"
methods: [GET, POST, OPTIONS]
timeout: 30
- path: /v1/bc/spc/rpc
- path: /v1/chain/spc/rpc
backend: "http://luxd-headless.lux-devnet.svc:9650"
methods: [GET, POST, OPTIONS]
timeout: 30
# Pars devnet (EVM chain 494951, blockchain ID MEGAgimfcodi7QaqCruFpTkNM6fqu7ZduLmWJJjGQwUg8uDPJ)
- path: /v1/bc/MEGAgimfcodi7QaqCruFpTkNM6fqu7ZduLmWJJjGQwUg8uDPJ/rpc
- path: /v1/chain/MEGAgimfcodi7QaqCruFpTkNM6fqu7ZduLmWJJjGQwUg8uDPJ/rpc
backend: "http://luxd-headless.lux-devnet.svc:9650"
methods: [GET, POST, OPTIONS]
timeout: 30
- path: /v1/bc/pars/rpc
- path: /v1/chain/pars/rpc
backend: "http://luxd-headless.lux-devnet.svc:9650"
methods: [GET, POST, OPTIONS]
timeout: 30
+13 -13
View File
@@ -5,7 +5,7 @@ is a **shared multi-tenant backend**. Any white-label app — Zoo, Hanzo,
Pars, or third-party — points its `api.<their-domain>` at the
gateway and gets:
- All Lux-ecosystem chain RPCs (`/v1/bc/{C,X,P,zoo,hanzo,spc,pars,Q,Z,T,A,D}/rpc`)
- All Lux-ecosystem chain RPCs (`/v1/chain/{C,X,P,zoo,hanzo,spc,pars,Q,Z,T,A,D}/rpc`)
- Indexer endpoints (`/api/indexer/indexer-{c,zoo,hanzo,spc,pars}`)
- Health, info, and admin endpoints (`/v1/health`, `/v1/info`)
- DAG chain stats (`/api/v2/dag/{q,z,t,a}chain/{health,stats}`)
@@ -55,7 +55,7 @@ Zero per-tenant config needed in the gateway itself.
```bash
curl -X POST -H 'Content-Type: application/json' \
--data '{"jsonrpc":"2.0","method":"eth_chainId","params":[],"id":1}' \
https://api.<your-app>.<tld>/v1/bc/zoo/rpc
https://api.<your-app>.<tld>/v1/chain/zoo/rpc
# → {"jsonrpc":"2.0","id":1,"result":"0x30e08"}
```
@@ -63,7 +63,7 @@ Zero per-tenant config needed in the gateway itself.
set the env vars:
```yaml
- { name: SPA_RPC_HOST, value: https://api.<your-app>.<tld>/v1/bc/<chain>/rpc }
- { name: SPA_RPC_HOST, value: https://api.<your-app>.<tld>/v1/chain/<chain>/rpc }
- { name: SPA_API_HOST, value: https://api.<your-app>.<tld> }
- { name: SPA_GATEWAY_HOST, value: https://api.<your-app>.<tld> }
```
@@ -88,13 +88,13 @@ own TLS cert and DNS record.
```
# Chain RPCs (40+ endpoints across 12 chains × 3 envs each)
POST /v1/bc/C/rpc # Lux C-Chain (96369)
POST /v1/bc/zoo/rpc # Zoo (200200)
POST /v1/bc/hanzo/rpc # Hanzo (36963)
POST /v1/bc/pars/rpc # Pars (494949)
POST /v1/bc/spc/rpc # SPC (36911)
POST /v1/bc/{Q,Z,T,A,D}/rpc # primary network chains
POST /v1/bc/{X,P} # X-Chain, P-Chain
POST /v1/chain/C/rpc # Lux C-Chain (96369)
POST /v1/chain/zoo/rpc # Zoo (200200)
POST /v1/chain/hanzo/rpc # Hanzo (36963)
POST /v1/chain/pars/rpc # Pars (494949)
POST /v1/chain/spc/rpc # SPC (36911)
POST /v1/chain/{Q,Z,T,A,D}/rpc # primary network chains
POST /v1/chain/{X,P} # X-Chain, P-Chain
GET /v1/info
GET /v1/health{,/liveness}
@@ -131,7 +131,7 @@ origin list and roll `api-gateway-gateway` deployment in `lux-mainnet`.
```
Browser (zoo.exchange / hanzo.exchange / pars.market / ...)
│
│ https://api.<app>.<tld>/v1/bc/zoo/rpc
│ https://api.<app>.<tld>/v1/chain/zoo/rpc
▼
Cloudflare (TLS termination + caching)
│
@@ -140,7 +140,7 @@ hanzo-ingress LB (lux-system, 134.199.138.27)
│ routes by Host header → matching K8s Ingress
▼
api-gateway-gateway (lux-mainnet, Gateway :80)
│ matches /v1/bc/<alias>/rpc → looks up backend host
│ matches /v1/chain/<alias>/rpc → looks up backend host
▼
luxd-headless.lux-mainnet.svc.cluster.local:9630
│ StatefulSet: 5 luxd validators on Lux Mainnet
@@ -149,4 +149,4 @@ EVM plugin (per chain) → on-disk badgerdb state
```
The SPA never needs to know any of this — it just calls
`https://api.<their-domain>/v1/bc/<chain>/rpc` and Gateway does the rest.
`https://api.<their-domain>/v1/chain/<chain>/rpc` and Gateway does the rest.
+16 -16
View File
@@ -8,7 +8,7 @@
# /ext/ IS GONE. Not deprecated, not redirected — removed.
#
# luxd already serves /v1/ only. Measured against the mainnet pod:
# POST luxd-1:9630/v1/bc/C/rpc -> 200 /v1/bc/C/rpc -> 404
# POST luxd-1:9630/v1/chain/C/rpc -> 200 /v1/chain/C/rpc -> 404
# POST luxd-1:9630/v1/info -> 200 /v1/info -> 404
# GET luxd-1:9630/v1/health -> 200 /v1/health -> 404
#
@@ -18,7 +18,7 @@
# that tag is stale metadata. Read the pod image, not the CR. Devnet runs
# v1.36.25 and behaves identically. The node dropped /ext/ some releases ago;
# the only thing still resurrecting it was this gateway, which accepted
# /v1/bc/C/rpc externally and rewrote it to /v1/bc/C/rpc on the way to the
# /v1/chain/C/rpc externally and rewrote it to /v1/chain/C/rpc on the way to the
# node. That rewrite is what made mainnet look like it still spoke /ext/.
#
# Two changes, both forward-only:
@@ -336,7 +336,7 @@ data:
"host": [
"http://luxd-rpc.lux-mainnet.svc:9630"
],
"url_pattern": "/v1/bc/P"
"url_pattern": "/v1/chain/P"
}
]
},
@@ -350,7 +350,7 @@ data:
"host": [
"http://luxd-rpc.lux-mainnet.svc:9630"
],
"url_pattern": "/v1/bc/X"
"url_pattern": "/v1/chain/X"
}
]
},
@@ -950,7 +950,7 @@ data:
]
},
{
"endpoint": "/v1/bc/{chain}",
"endpoint": "/v1/chain/{chain}",
"method": "POST",
"output_encoding": "no-op",
"backend": [
@@ -959,7 +959,7 @@ data:
"host": [
"http://luxd-rpc.lux-mainnet.svc:9630"
],
"url_pattern": "/v1/bc/{chain}",
"url_pattern": "/v1/chain/{chain}",
"timeout": "60s"
}
],
@@ -973,7 +973,7 @@ data:
}
},
{
"endpoint": "/v1/bc/{chain}",
"endpoint": "/v1/chain/{chain}",
"method": "GET",
"output_encoding": "no-op",
"backend": [
@@ -982,7 +982,7 @@ data:
"host": [
"http://luxd-rpc.lux-mainnet.svc:9630"
],
"url_pattern": "/v1/bc/{chain}",
"url_pattern": "/v1/chain/{chain}",
"timeout": "60s"
}
],
@@ -996,7 +996,7 @@ data:
}
},
{
"endpoint": "/v1/bc/{chain}/{p1}",
"endpoint": "/v1/chain/{chain}/{p1}",
"method": "POST",
"output_encoding": "no-op",
"backend": [
@@ -1005,7 +1005,7 @@ data:
"host": [
"http://luxd-rpc.lux-mainnet.svc:9630"
],
"url_pattern": "/v1/bc/{chain}/{p1}",
"url_pattern": "/v1/chain/{chain}/{p1}",
"timeout": "60s"
}
],
@@ -1019,7 +1019,7 @@ data:
}
},
{
"endpoint": "/v1/bc/{chain}/{p1}",
"endpoint": "/v1/chain/{chain}/{p1}",
"method": "GET",
"output_encoding": "no-op",
"backend": [
@@ -1028,7 +1028,7 @@ data:
"host": [
"http://luxd-rpc.lux-mainnet.svc:9630"
],
"url_pattern": "/v1/bc/{chain}/{p1}",
"url_pattern": "/v1/chain/{chain}/{p1}",
"timeout": "60s"
}
],
@@ -1042,7 +1042,7 @@ data:
}
},
{
"endpoint": "/v1/bc/{chain}/{p1}/{p2}",
"endpoint": "/v1/chain/{chain}/{p1}/{p2}",
"method": "POST",
"output_encoding": "no-op",
"backend": [
@@ -1051,7 +1051,7 @@ data:
"host": [
"http://luxd-rpc.lux-mainnet.svc:9630"
],
"url_pattern": "/v1/bc/{chain}/{p1}/{p2}",
"url_pattern": "/v1/chain/{chain}/{p1}/{p2}",
"timeout": "60s"
}
],
@@ -1065,7 +1065,7 @@ data:
}
},
{
"endpoint": "/v1/bc/{chain}/{p1}/{p2}",
"endpoint": "/v1/chain/{chain}/{p1}/{p2}",
"method": "GET",
"output_encoding": "no-op",
"backend": [
@@ -1074,7 +1074,7 @@ data:
"host": [
"http://luxd-rpc.lux-mainnet.svc:9630"
],
"url_pattern": "/v1/bc/{chain}/{p1}/{p2}",
"url_pattern": "/v1/chain/{chain}/{p1}/{p2}",
"timeout": "60s"
}
],
@@ -1,7 +1,7 @@
---
# api.zoo.exchange — white-label of api.lux.network. Same Lux Gateway
# gateway (lux-mainnet/api-gateway-gateway:8080) backs both. SPA hits
# api.zoo.exchange for /v1/bc/zoo/rpc, /api/indexer/indexer-zoo, etc.
# api.zoo.exchange for /v1/chain/zoo/rpc, /api/indexer/indexer-zoo, etc.
# Zero third-party traffic visible to user.
#
# Rate limit matches the upstream Lux apex (50 rps sustained, 100 burst,
+1 -1
View File
@@ -11,7 +11,7 @@
# - platform.getBlockchains on luxd-0:9630 returns ONLY the 10 lux-native
# chains (P/X/C/A/B/D/G/K/Q/T/Z) — none of these 5 brand IDs.
# - /data/chainData/network-1 holds ONLY those 10 + P — ZERO brand block data.
# So they generate isBootstrapped=false (dangling) and /v1/bc/{brand}/rpc 404.
# So they generate isBootstrapped=false (dangling) and /v1/chain/{brand}/rpc 404.
# Dropping them removes the dead advertising and the gateway-404 confusion.
#
# ZOO IS KEPT (do NOT blanket-drop): mainnet zoo (chainId 200200) is a REAL
+1 -1
View File
@@ -4,7 +4,7 @@
# RHuUsLWW5u6rmMSNKxgkWzXjDxx7fThi8Emw42HpMJTrVZNKd), created via
# CreateChainTx and validated by the existing luxd validator fleet
# (no separate validator set). EVM chainId 36963 (0x9063). Uses the
# shared Lux EVM VM (same vmID as C-Chain), alias "hanzo" → /v1/bc/hanzo/rpc.
# shared Lux EVM VM (same vmID as C-Chain), alias "hanzo" → /v1/chain/hanzo/rpc.
#
# This Chain CR is a tracking/registration record so the bootnode /
# lux.cloud fleet dashboard lists Hanzo alongside the primary-network
+1 -1
View File
@@ -4,7 +4,7 @@
# 4HBM17czc7zFQMPrd9CVZ6YbABm1jecf99iwvFw8Gbo6gFaU3), created via
# CreateChainTx and validated by the existing luxd validator fleet
# (no separate validator set). EVM chainId 200200 (0x30e08). Uses the
# shared Lux EVM VM (same vmID as C-Chain), alias "zoo" → /v1/bc/zoo/rpc.
# shared Lux EVM VM (same vmID as C-Chain), alias "zoo" → /v1/chain/zoo/rpc.
#
# This Chain CR is a tracking/registration record so the bootnode /
# lux.cloud fleet dashboard lists Zoo alongside the primary-network
+1 -1
View File
@@ -22,7 +22,7 @@ data:
NEXT_PUBLIC_IS_ACCOUNT_SUPPORTED: "false"
NEXT_PUBLIC_IS_TESTNET: "false"
NEXT_PUBLIC_NETWORK_ID: "36911"
NEXT_PUBLIC_NETWORK_RPC_URL: "https://api.lux.network/mainnet/v1/bc/rtjwvtE1tEvrokmpeYdTq7b2zqZgmybKwR5MLjKMGAR1W78dQ/rpc"
NEXT_PUBLIC_NETWORK_RPC_URL: "https://api.lux.network/mainnet/v1/chain/rtjwvtE1tEvrokmpeYdTq7b2zqZgmybKwR5MLjKMGAR1W78dQ/rpc"
NEXT_PUBLIC_STATS_API_HOST: "https://api-explore-spc.lux.network"
NEXT_PUBLIC_VISUALIZE_API_HOST: "https://api-explore-spc.lux.network"
SKIP_ENVS_VALIDATION: "true"
+5 -5
View File
@@ -53,7 +53,7 @@ data:
NEXT_PUBLIC_NETWORK_CURRENCY_SYMBOL: "LUX"
NEXT_PUBLIC_NETWORK_ID: "96369"
NEXT_PUBLIC_NETWORK_NAME: "Lux"
NEXT_PUBLIC_NETWORK_RPC_URL: "https://api.lux.network/v1/bc/C/rpc"
NEXT_PUBLIC_NETWORK_RPC_URL: "https://api.lux.network/v1/chain/c"
NEXT_PUBLIC_NETWORK_SHORT_NAME: "Lux"
NEXT_PUBLIC_VISUALIZE_API_HOST: "https://api-explore.lux.network"
---
@@ -77,7 +77,7 @@ data:
NEXT_PUBLIC_NETWORK_CURRENCY_SYMBOL: "ZOO"
NEXT_PUBLIC_NETWORK_ID: "200200"
NEXT_PUBLIC_NETWORK_NAME: "Zoo"
NEXT_PUBLIC_NETWORK_RPC_URL: "https://api.zoo.network/v1/bc/C/rpc"
NEXT_PUBLIC_NETWORK_RPC_URL: "https://api.zoo.network/v1/chain/zoo"
NEXT_PUBLIC_NETWORK_SHORT_NAME: "Zoo"
NEXT_PUBLIC_VISUALIZE_API_HOST: "https://api-explore.zoo.network"
---
@@ -100,10 +100,10 @@ data:
NEXT_PUBLIC_NETWORK_CURRENCY_SYMBOL: "AI"
NEXT_PUBLIC_NETWORK_ID: "36963"
NEXT_PUBLIC_NETWORK_NAME: "Hanzo"
# NOTE: live data backend issue — explorer appends /v1/bc/C/rpc to this
# NOTE: live data backend issue — explorer appends /v1/chain/C/rpc to this
# base, yielding a doubled path. Fix the indexer/API + this RPC base in a
# separate data-layer task; it does not affect branding/chrome.
NEXT_PUBLIC_NETWORK_RPC_URL: "https://api.lux.network/v1/bc/hanzo/rpc"
NEXT_PUBLIC_NETWORK_RPC_URL: "https://api.lux.network/v1/chain/hanzo/rpc"
NEXT_PUBLIC_NETWORK_SHORT_NAME: "Hanzo"
NEXT_PUBLIC_VISUALIZE_API_HOST: "https://api-explore.hanzo.network"
---
@@ -125,7 +125,7 @@ data:
NEXT_PUBLIC_NETWORK_CURRENCY_SYMBOL: "PARS"
NEXT_PUBLIC_NETWORK_ID: "494949"
NEXT_PUBLIC_NETWORK_NAME: "Pars"
NEXT_PUBLIC_NETWORK_RPC_URL: "https://api.pars.network/v1/bc/pars/rpc"
NEXT_PUBLIC_NETWORK_RPC_URL: "https://api.pars.network/v1/chain/pars/rpc"
NEXT_PUBLIC_NETWORK_SHORT_NAME: "Pars"
NEXT_PUBLIC_STATS_API_HOST: "https://api-explore.pars.network"
NEXT_PUBLIC_VISUALIZE_API_HOST: "https://api-explore.pars.network"
+3 -3
View File
@@ -75,11 +75,11 @@ spec:
- name: ETHEREUM_JSONRPC_VARIANT
value: geth
- name: ETHEREUM_JSONRPC_HTTP_URL
value: "http://luxd-1.luxd-headless.lux-mainnet.svc.cluster.local:9630/v1/bc/C/rpc"
value: "http://luxd-1.luxd-headless.lux-mainnet.svc.cluster.local:9630/v1/chain/C/rpc"
- name: ETHEREUM_JSONRPC_TRACE_URL
value: "http://luxd-1.luxd-headless.lux-mainnet.svc.cluster.local:9630/v1/bc/C/rpc"
value: "http://luxd-1.luxd-headless.lux-mainnet.svc.cluster.local:9630/v1/chain/C/rpc"
- name: ETHEREUM_JSONRPC_WS_URL
value: "ws://luxd-1.luxd-headless.lux-mainnet.svc.cluster.local:9630/v1/bc/C/ws"
value: "ws://luxd-1.luxd-headless.lux-mainnet.svc.cluster.local:9630/v1/chain/C/ws"
# Chain identity
- name: CHAIN_ID
value: "96369"
+2 -2
View File
@@ -1,8 +1,8 @@
---
# LuxGateway — public RPC entrypoint for Lux mainnet.
# Routes:
# api.lux.network/v1/bc/{P,X,C}/... → luxd primary network RPC
# api.lux.network/v1/bc/{a,b,d,g,i,k,m,o,q,r,z}/rpc → plugin chain RPC
# api.lux.network/v1/chain/{P,X,C}/... → luxd primary network RPC
# api.lux.network/v1/chain/{a,b,d,g,i,k,m,o,q,r,z}/rpc → plugin chain RPC
# Auto-discovers chains tracked by the LuxNetwork CR (autoRoutes: true).
# NEVER use nginx or caddy — hanzoai/ingress is the only canonical ingress.
apiVersion: lux.network/v1alpha1
+13 -13
View File
@@ -24,7 +24,7 @@ data:
name: 'Lux C-Chain'
type: evm
chain_id: 96369
rpc: http://luxd-headless.lux-mainnet.svc.cluster.local:9630/v1/bc/C/rpc
rpc: http://luxd-headless.lux-mainnet.svc.cluster.local:9630/v1/chain/C/rpc
coin: LUX
enabled: true
default: true
@@ -35,56 +35,56 @@ data:
- slug: pchain
name: 'P-Chain'
type: linear
rpc: http://luxd-headless.lux-mainnet.svc.cluster.local:9630/v1/bc/P
rpc: http://luxd-headless.lux-mainnet.svc.cluster.local:9630/v1/chain/P
coin: LUX
enabled: true
- slug: xchain
name: 'X-Chain'
type: dag
rpc: http://luxd-headless.lux-mainnet.svc.cluster.local:9630/v1/bc/X
rpc: http://luxd-headless.lux-mainnet.svc.cluster.local:9630/v1/chain/X
coin: LUX
enabled: true
- slug: achain
name: 'A-Chain'
type: dag
rpc: http://luxd-headless.lux-mainnet.svc.cluster.local:9630/v1/bc/A
rpc: http://luxd-headless.lux-mainnet.svc.cluster.local:9630/v1/chain/A
coin: LUX
enabled: true
- slug: bchain
name: 'B-Chain'
type: dag
rpc: http://luxd-headless.lux-mainnet.svc.cluster.local:9630/v1/bc/B
rpc: http://luxd-headless.lux-mainnet.svc.cluster.local:9630/v1/chain/B
coin: LUX
enabled: true
- slug: qchain
name: 'Q-Chain'
type: dag
rpc: http://luxd-headless.lux-mainnet.svc.cluster.local:9630/v1/bc/Q
rpc: http://luxd-headless.lux-mainnet.svc.cluster.local:9630/v1/chain/Q
coin: LUX
enabled: true
- slug: tchain
name: 'T-Chain'
type: dag
rpc: http://luxd-headless.lux-mainnet.svc.cluster.local:9630/v1/bc/T
rpc: http://luxd-headless.lux-mainnet.svc.cluster.local:9630/v1/chain/T
coin: LUX
enabled: true
- slug: zchain
name: 'Z-Chain'
type: dag
rpc: http://luxd-headless.lux-mainnet.svc.cluster.local:9630/v1/bc/Z
rpc: http://luxd-headless.lux-mainnet.svc.cluster.local:9630/v1/chain/Z
coin: LUX
enabled: true
- slug: kchain
name: 'K-Chain'
type: dag
rpc: http://luxd-headless.lux-mainnet.svc.cluster.local:9630/v1/bc/K
rpc: http://luxd-headless.lux-mainnet.svc.cluster.local:9630/v1/chain/K
coin: LUX
enabled: true
@@ -95,7 +95,7 @@ data:
name: 'Zoo'
type: evm
chain_id: 200200
rpc: http://luxd-headless.lux-mainnet.svc.cluster.local:9630/v1/bc/2wbPWcyuNUimWW7YMq3gymTTpHjP9Lsm7GpmcyWimEs9kyTAAH/rpc
rpc: http://luxd-headless.lux-mainnet.svc.cluster.local:9630/v1/chain/2wbPWcyuNUimWW7YMq3gymTTpHjP9Lsm7GpmcyWimEs9kyTAAH/rpc
coin: ZOO
enabled: true
graph:
@@ -108,7 +108,7 @@ data:
name: 'Hanzo'
type: evm
chain_id: 36963
rpc: http://luxd-headless.lux-mainnet.svc.cluster.local:9630/v1/bc/y5HBrn6EWRMysSmH4nHA2sgpwgcjChJjQ7upSjWSwsrPeg4Cc/rpc
rpc: http://luxd-headless.lux-mainnet.svc.cluster.local:9630/v1/chain/y5HBrn6EWRMysSmH4nHA2sgpwgcjChJjQ7upSjWSwsrPeg4Cc/rpc
coin: AI
enabled: true
graph:
@@ -122,7 +122,7 @@ data:
name: 'SPC'
type: evm
chain_id: 36911
rpc: http://luxd-headless.lux-mainnet.svc.cluster.local:9630/v1/bc/2YTuJW9b1k7gDGgqZC58Wj6cT1qTzobx6SV8hiN22zT1L5qfHF/rpc
rpc: http://luxd-headless.lux-mainnet.svc.cluster.local:9630/v1/chain/2YTuJW9b1k7gDGgqZC58Wj6cT1qTzobx6SV8hiN22zT1L5qfHF/rpc
coin: SPC
enabled: true
graph:
@@ -136,7 +136,7 @@ data:
name: 'Pars'
type: evm
chain_id: 494949
rpc: http://luxd-headless.lux-mainnet.svc.cluster.local:9630/v1/bc/2wYWjBHziTjfMJmUPZwsDdWhm96cWHo4vov1HPBmCYLXdbAZfM/rpc
rpc: http://luxd-headless.lux-mainnet.svc.cluster.local:9630/v1/chain/2wYWjBHziTjfMJmUPZwsDdWhm96cWHo4vov1HPBmCYLXdbAZfM/rpc
coin: PARS
enabled: true
graph:
File diff suppressed because one or more lines are too long
+1 -1
View File
@@ -148,7 +148,7 @@ spec:
dnsPolicy: ClusterFirst
initContainers:
- args:
- "set -eu\n# \u2500\u2500 Lux MAINNET C-Chain RLP recovery init \u2500\u2500\n# NO CHAIN ID IS NAMED HERE. The previous version hardcoded\n# CBID=<a now-dead chain ID> and ran `rm -rf /data/chainData/$NET/$CBID`. That ID\n# stopped existing at the re-genesis (the live C-Chain is\n# 2T11SNJM9KYqSenoPb5yv6qahmj8HLefCjxt4gTD2iQWTHwdRu), so the wipe was a SILENT\n# NO-OP \u2014 the same drift that made `.wipe-cchain` useless and forced the\n# snapshot-clones that corrupted luxd-0 and luxd-2.\n#\n# There is now ONE wipe implementation, in the startup script, keyed off\n# `.wipe-state`. This container no longer wipes anything itself: it verifies the\n# artifact and drops the markers. An RLP import replays from genesis and rebuilds\n# every index, so discarding ALL chain state is both correct and simpler than\n# targeting one directory \u2014 and it cannot drift.\n#\n# Order: [arm-gate] -> [sentinel-skip] -> [SHA-verify] -> [markers].\n# SHA-verify MUST precede the wipe request; a mismatch aborts before anything\n# destructive is scheduled.\nDB=/data/db\nRLP=/data/lux-mainnet-96369.rlp\nEXPECTED_SHA=dd6b71f510fca48080c383bf44fccbfda4849e2cde06710ffe4a24fa1d9bec79\nH=dd6b71f510fc\nARM=\"$DB/.rlp-import-arm\"\nSENTINEL=\"$DB/.tenant-import-c-chain-$H\"\nMARKER=\"$DB/.tenant-import-request-c-chain-$H.json\"\nif [ ! -f \"$ARM\" ]; then\n echo \"[rlp-import-init] node NOT armed (no $ARM); skipping\"\n exit 0\nfi\nif [ -f \"$SENTINEL\" ]; then\n echo \"[rlp-import-init] sentinel present; already imported; clearing arm\"\n rm -f \"$ARM\"\n exit 0\nfi\nif [ ! -f \"$RLP\" ]; then\n echo \"[rlp-import-init] ERROR: RLP not found at $RLP\" >&2\n exit 1\nfi\nGOT=$(sha256sum \"$RLP\" | awk '{print $1}')\nif [ \"$GOT\" != \"$EXPECTED_SHA\" ]; then\n echo \"[rlp-import-init] SHA MISMATCH want=$EXPECTED_SHA got=$GOT -- ABORT, nothing wiped\" >&2\n exit 1\nfi\necho \"[rlp-import-init] SHA OK ($GOT)\"\n# Request the canonical full-state wipe. The startup script consumes .wipe-state\n# and clears /data/chainData + every /data/db DATABASE, while preserving\n# /data/staking (identity) and every FILE at /data/db root (this RLP included).\ntouch \"$DB/.wipe-state\"\necho \"[rlp-import-init] requested canonical wipe via .wipe-state (no chain ID named)\"\nprintf '{\"tenant\":\"c-chain\",\"chainAlias\":\"C\",\"contentHash\":\"%s\",\"rlpPath\":\"%s\",\"sentinelPath\":\"%s\"}' \"$H\" \"$RLP\" \"$SENTINEL\" > \"$MARKER.tmp\"\nmv \"$MARKER.tmp\" \"$MARKER\"\nrm -f \"$ARM\"\necho \"[rlp-import-init] marker=$MARKER; import driven on /v1/bc/C/rpc\"\n"
- "set -eu\n# \u2500\u2500 Lux MAINNET C-Chain RLP recovery init \u2500\u2500\n# NO CHAIN ID IS NAMED HERE. The previous version hardcoded\n# CBID=<a now-dead chain ID> and ran `rm -rf /data/chainData/$NET/$CBID`. That ID\n# stopped existing at the re-genesis (the live C-Chain is\n# 2T11SNJM9KYqSenoPb5yv6qahmj8HLefCjxt4gTD2iQWTHwdRu), so the wipe was a SILENT\n# NO-OP \u2014 the same drift that made `.wipe-cchain` useless and forced the\n# snapshot-clones that corrupted luxd-0 and luxd-2.\n#\n# There is now ONE wipe implementation, in the startup script, keyed off\n# `.wipe-state`. This container no longer wipes anything itself: it verifies the\n# artifact and drops the markers. An RLP import replays from genesis and rebuilds\n# every index, so discarding ALL chain state is both correct and simpler than\n# targeting one directory \u2014 and it cannot drift.\n#\n# Order: [arm-gate] -> [sentinel-skip] -> [SHA-verify] -> [markers].\n# SHA-verify MUST precede the wipe request; a mismatch aborts before anything\n# destructive is scheduled.\nDB=/data/db\nRLP=/data/lux-mainnet-96369.rlp\nEXPECTED_SHA=dd6b71f510fca48080c383bf44fccbfda4849e2cde06710ffe4a24fa1d9bec79\nH=dd6b71f510fc\nARM=\"$DB/.rlp-import-arm\"\nSENTINEL=\"$DB/.tenant-import-c-chain-$H\"\nMARKER=\"$DB/.tenant-import-request-c-chain-$H.json\"\nif [ ! -f \"$ARM\" ]; then\n echo \"[rlp-import-init] node NOT armed (no $ARM); skipping\"\n exit 0\nfi\nif [ -f \"$SENTINEL\" ]; then\n echo \"[rlp-import-init] sentinel present; already imported; clearing arm\"\n rm -f \"$ARM\"\n exit 0\nfi\nif [ ! -f \"$RLP\" ]; then\n echo \"[rlp-import-init] ERROR: RLP not found at $RLP\" >&2\n exit 1\nfi\nGOT=$(sha256sum \"$RLP\" | awk '{print $1}')\nif [ \"$GOT\" != \"$EXPECTED_SHA\" ]; then\n echo \"[rlp-import-init] SHA MISMATCH want=$EXPECTED_SHA got=$GOT -- ABORT, nothing wiped\" >&2\n exit 1\nfi\necho \"[rlp-import-init] SHA OK ($GOT)\"\n# Request the canonical full-state wipe. The startup script consumes .wipe-state\n# and clears /data/chainData + every /data/db DATABASE, while preserving\n# /data/staking (identity) and every FILE at /data/db root (this RLP included).\ntouch \"$DB/.wipe-state\"\necho \"[rlp-import-init] requested canonical wipe via .wipe-state (no chain ID named)\"\nprintf '{\"tenant\":\"c-chain\",\"chainAlias\":\"C\",\"contentHash\":\"%s\",\"rlpPath\":\"%s\",\"sentinelPath\":\"%s\"}' \"$H\" \"$RLP\" \"$SENTINEL\" > \"$MARKER.tmp\"\nmv \"$MARKER.tmp\" \"$MARKER\"\nrm -f \"$ARM\"\necho \"[rlp-import-init] marker=$MARKER; import driven on /v1/chain/C/rpc\"\n"
command:
- /bin/sh
- -c
+1 -1
View File
@@ -252,7 +252,7 @@ spec:
# JSON request marker at
# /data/db/.tenant-import-request-<tenant>-<sha12>.json. The main
# container's generic loop reads each marker, calls admin_importChain on
# /v1/bc/<chainAlias>/rpc, and writes the operator-named sentinel.
# /v1/chain/<chainAlias>/rpc, and writes the operator-named sentinel.
# Re-firing is automatic on any spec change — no version-string bumping.
# See luxfi/operator v0.6.3+/v0.7.x manifests/luxnetwork_plugin.go.
tenantImports:
+2 -2
View File
@@ -9,7 +9,7 @@
# hanzo blockchainID RHuUsLWW5u6rmMSNKxgkWzXjDxx7fThi8Emw42HpMJTrVZNKd
# zoo blockchainID 4HBM17czc7zFQMPrd9CVZ6YbABm1jecf99iwvFw8Gbo6gFaU3
# luxd registers chain aliases (see chain-aliases.yaml) so the EVM RPC is
# reachable at /v1/bc/{hanzo,zoo}/rpc on the shared Gateway
# reachable at /v1/chain/{hanzo,zoo}/rpc on the shared Gateway
# (api-gateway-gateway:80 -> luxd-headless:9630).
#
# CANONICAL PATTERN (mirrors api-brand-root-mainnet): the shared
@@ -18,7 +18,7 @@
# For wallets/SDKs that POST to the bare https://rpc.<brand>.network root
# (path "/"), this higher-priority (10000) IngressRoute matches Path(`/`)
# and applies the lux-system rpc-rewrite-<brand> middleware (replacePath ->
# /v1/bc/<brand>/rpc). Full /v1/* paths do NOT match Path(`/`) and fall
# /v1/chain/<brand>/rpc). Full /v1/* paths do NOT match Path(`/`) and fall
# through to api-mainnet untouched.
#
# TLS: certResolver letsencrypt (DNS-01 via Cloudflare) issues the per-host
+1 -1
View File
@@ -49,7 +49,7 @@ def load_gate():
NAMESPACE="lux-mainnet",
POD_SELECTOR="app.kubernetes.io/name=luxd",
RPC_PORT="9630",
RPC_PATH="/v1/bc/C/rpc",
RPC_PATH="/v1/chain/C/rpc",
LABEL_KEY="lux.network/rpc",
LABEL_VALUE="fresh",
MAX_LAG_BLOCKS="1",
+1 -1
View File
@@ -194,7 +194,7 @@ spec:
# /v1/, not /ext/. luxd 404s the legacy prefix -- see
# ca234b4 "remove /ext/ from the public API surface".
- name: RPC_PATH
value: /v1/bc/C/rpc
value: /v1/chain/C/rpc
- name: LABEL_KEY
value: lux.network/rpc
- name: LABEL_VALUE
+2 -2
View File
@@ -26,8 +26,8 @@ spec:
command: ["./gateway"]
args:
- "-addr=:8080"
- "-lux-rpc=http://luxd-headless.lux-mainnet.svc:9630/v1/bc/C/rpc"
- "-zoo-rpc=http://luxd-headless.lux-mainnet.svc:9630/v1/bc/2Y625Kvdd4wZ5LKx9kLSf1jGALyARmXVN1YsTb4F3Hzv4bPDbp/rpc"
- "-lux-rpc=http://luxd-headless.lux-mainnet.svc:9630/v1/chain/C/rpc"
- "-zoo-rpc=http://luxd-headless.lux-mainnet.svc:9630/v1/chain/2Y625Kvdd4wZ5LKx9kLSf1jGALyARmXVN1YsTb4F3Hzv4bPDbp/rpc"
ports:
- containerPort: 8080
resources:
+14 -14
View File
@@ -475,7 +475,7 @@ data:
"host": [
"http://luxd.lux-testnet.svc:9640"
],
"url_pattern": "/v1/bc/P"
"url_pattern": "/v1/chain/P"
}
]
},
@@ -489,7 +489,7 @@ data:
"host": [
"http://luxd.lux-testnet.svc:9640"
],
"url_pattern": "/v1/bc/X"
"url_pattern": "/v1/chain/X"
}
]
},
@@ -959,7 +959,7 @@ data:
]
},
{
"endpoint": "/v1/bc/{chain}",
"endpoint": "/v1/chain/{chain}",
"method": "POST",
"output_encoding": "no-op",
"backend": [
@@ -968,7 +968,7 @@ data:
"host": [
"http://luxd.lux-testnet.svc:9640"
],
"url_pattern": "/v1/bc/{chain}",
"url_pattern": "/v1/chain/{chain}",
"timeout": "60s"
}
],
@@ -980,7 +980,7 @@ data:
}
},
{
"endpoint": "/v1/bc/{chain}",
"endpoint": "/v1/chain/{chain}",
"method": "GET",
"output_encoding": "no-op",
"backend": [
@@ -989,7 +989,7 @@ data:
"host": [
"http://luxd.lux-testnet.svc:9640"
],
"url_pattern": "/v1/bc/{chain}",
"url_pattern": "/v1/chain/{chain}",
"timeout": "60s"
}
],
@@ -1001,7 +1001,7 @@ data:
}
},
{
"endpoint": "/v1/bc/{chain}/{p1}",
"endpoint": "/v1/chain/{chain}/{p1}",
"method": "POST",
"output_encoding": "no-op",
"backend": [
@@ -1010,7 +1010,7 @@ data:
"host": [
"http://luxd.lux-testnet.svc:9640"
],
"url_pattern": "/v1/bc/{chain}/{p1}",
"url_pattern": "/v1/chain/{chain}/{p1}",
"timeout": "60s"
}
],
@@ -1022,7 +1022,7 @@ data:
}
},
{
"endpoint": "/v1/bc/{chain}/{p1}",
"endpoint": "/v1/chain/{chain}/{p1}",
"method": "GET",
"output_encoding": "no-op",
"backend": [
@@ -1031,7 +1031,7 @@ data:
"host": [
"http://luxd.lux-testnet.svc:9640"
],
"url_pattern": "/v1/bc/{chain}/{p1}",
"url_pattern": "/v1/chain/{chain}/{p1}",
"timeout": "60s"
}
],
@@ -1043,7 +1043,7 @@ data:
}
},
{
"endpoint": "/v1/bc/{chain}/{p1}/{p2}",
"endpoint": "/v1/chain/{chain}/{p1}/{p2}",
"method": "POST",
"output_encoding": "no-op",
"backend": [
@@ -1052,7 +1052,7 @@ data:
"host": [
"http://luxd.lux-testnet.svc:9640"
],
"url_pattern": "/v1/bc/{chain}/{p1}/{p2}",
"url_pattern": "/v1/chain/{chain}/{p1}/{p2}",
"timeout": "60s"
}
],
@@ -1064,7 +1064,7 @@ data:
}
},
{
"endpoint": "/v1/bc/{chain}/{p1}/{p2}",
"endpoint": "/v1/chain/{chain}/{p1}/{p2}",
"method": "GET",
"output_encoding": "no-op",
"backend": [
@@ -1073,7 +1073,7 @@ data:
"host": [
"http://luxd.lux-testnet.svc:9640"
],
"url_pattern": "/v1/bc/{chain}/{p1}/{p2}",
"url_pattern": "/v1/chain/{chain}/{p1}/{p2}",
"timeout": "60s"
}
],
+2 -2
View File
@@ -54,7 +54,7 @@
#
# KILL SWITCH: kubectl -n <ns> scale deploy/chain-traffic --replicas=0
#
# testnet 96368: luxd-1 and luxd-4 answer 404 on /v1/bc/C/rpc; 0, 2 and 3 serve.
# testnet 96368: luxd-1 and luxd-4 answer 404 on /v1/chain/C/rpc; 0, 2 and 3 serve.
# Testnet gets re-genesis'd periodically, which is exactly why SEED_IDX is set —
# a wiped chain leaves the sender at zero balance and the generator would
# otherwise come back mute.
@@ -309,7 +309,7 @@ spec:
command: ["/bin/sh", "/app/chain-traffic.sh"]
env:
- name: RPC_URLS
value: "http://luxd-0.luxd-headless.lux-testnet:9640/v1/bc/C/rpc,http://luxd-1.luxd-headless.lux-testnet:9640/v1/bc/C/rpc,http://luxd-2.luxd-headless.lux-testnet:9640/v1/bc/C/rpc,http://luxd-3.luxd-headless.lux-testnet:9640/v1/bc/C/rpc,http://luxd-4.luxd-headless.lux-testnet:9640/v1/bc/C/rpc"
value: "http://luxd-0.luxd-headless.lux-testnet:9640/v1/chain/C/rpc,http://luxd-1.luxd-headless.lux-testnet:9640/v1/chain/C/rpc,http://luxd-2.luxd-headless.lux-testnet:9640/v1/chain/C/rpc,http://luxd-3.luxd-headless.lux-testnet:9640/v1/chain/C/rpc,http://luxd-4.luxd-headless.lux-testnet:9640/v1/chain/C/rpc"
- name: TX_PER_BURST
value: "2"
- name: BURST_SECS
+1 -1
View File
@@ -42,7 +42,7 @@ data:
NEXT_PUBLIC_NETWORK_CURRENCY_SYMBOL: "LUX"
NEXT_PUBLIC_NETWORK_CURRENCY_DECIMALS: "18"
NEXT_PUBLIC_IS_TESTNET: "true"
NEXT_PUBLIC_NETWORK_RPC_URL: "https://api.testnet.lux.network/v1/bc/C/rpc"
NEXT_PUBLIC_NETWORK_RPC_URL: "https://api.testnet.lux.network/v1/chain/C/rpc"
NEXT_PUBLIC_NETWORK_VERIFICATION_TYPE: "mining"
# Theme
NEXT_PUBLIC_COLOR_THEME_DEFAULT: "dark"
+2 -2
View File
@@ -8,7 +8,7 @@
# noticed. Same shape as lux-devnet/exchange-api.yaml, testnet-scoped.
#
# KNOWN GAP (do not "fix" by guessing): LUX_RPC_URL 404s today —
# luxd-headless:9640 serves neither /v1/bc/C/rpc nor /v1/bc/C/rpc on testnet,
# luxd-headless:9640 serves neither /v1/chain/C/rpc nor /v1/chain/C/rpc on testnet,
# so the CLOB real-asset gate (dexMarkets.ts) cannot verify token code/decimals
# and the markets surface stays empty. The API itself is healthy (/health 200).
# Recorded as-running; resolving the testnet C-Chain route is separate work.
@@ -50,7 +50,7 @@ spec:
# on THIS network's C-Chain, so the markets surface can only show
# real accepted state. See KNOWN GAP above.
- name: LUX_RPC_URL
value: "http://luxd-headless.lux-testnet.svc.cluster.local:9640/v1/bc/C/rpc"
value: "http://luxd-headless.lux-testnet.svc.cluster.local:9640/v1/chain/C/rpc"
# AMM (uniswap-v2/v3-shaped) — testnet explorer amm subgraph.
- name: SUBGRAPH_URL
value: "http://explorer.lux-testnet.svc.cluster.local:8090/v1/graph/cchain/amm/graphql"
+1 -1
View File
@@ -24,7 +24,7 @@ data:
NEXT_PUBLIC_NETWORK_CURRENCY_SYMBOL: LUX
NEXT_PUBLIC_NETWORK_ID: '96368'
NEXT_PUBLIC_NETWORK_NAME: Lux Testnet
NEXT_PUBLIC_NETWORK_RPC_URL: https://api.lux-test.network/v1/bc/C/rpc
NEXT_PUBLIC_NETWORK_RPC_URL: https://api.lux-test.network/v1/chain/c
NEXT_PUBLIC_NETWORK_SHORT_NAME: Lux
NEXT_PUBLIC_STATS_API_HOST: https://api-explorer.lux-test.network
NEXT_PUBLIC_VISUALIZE_API_HOST: https://api-explorer.lux-test.network

Some files were not shown because too many files have changed in this diff Show More