Skip to content

feat(network): add hl-node network + eRPC HyperEVM alias#666

Open
bussyjd wants to merge 3 commits into
mainfrom
feat/hl-node-network
Open

feat(network): add hl-node network + eRPC HyperEVM alias#666
bussyjd wants to merge 3 commits into
mainfrom
feat/hl-node-network

Conversation

@bussyjd

@bussyjd bussyjd commented Jun 24, 2026

Copy link
Copy Markdown
Contributor

What

Adds hl-node (Hyperliquid non-validating node) as a first-class obol-stack network and wires its HyperEVM JSON-RPC into eRPC.

  • internal/embed/networks/hl-node/ — network templates (Chart/values/helmfile via bedag/raw): a node StatefulSet (hostNetwork, nodeSelector to a chosen host), a Service exposing the HyperEVM JSON-RPC on :3001/evm, and a metadata ConfigMap. Flags: --chain, --flags, --root-ip, --host, --image, --storage-size.
  • internal/network/erpc.goresolveLocalERPCRegistration registers the local node's HyperEVM RPC (chain 999) as an eRPC upstream alias hyperevm (+ hyperevm-testnet), so in-cluster consumers reach HyperCore at http://erpc.erpc.svc.cluster.local/rpc/hyperevm instead of a hardcoded public-RPC basket.

Why

This is the obol-stack-native path for running a Hyperliquid node and exposing its HyperEVM read surface (mark/oracle/OI precompiles) through the existing eRPC gateway — the same way local Ethereum nodes are auto-registered as eRPC upstreams. It lets downstream services (e.g. a Hyperliquid trading-intelligence API) consume HyperCore on-chain reads via eRPC rather than reinventing an RPC basket.

Test plan

  • go build ./... — green.
  • go test ./internal/network/ -run ERPC — green (TestResolveLocalERPCRegistration, TestResolveLocalERPCRegistrationRejectsUnknownHLNetwork).
  • obol network install hl-node --help lists the derived flags.
  • Service name/port (hl-node:3001/evm) matches the eRPC alias endpoint and the metadata ConfigMap.

https://claude.ai/code/session_01YUTW7NfxjUoVtyKgR6nPQC

bussyjd and others added 3 commits June 24, 2026 15:06
Add hl-node as an obol-stack network (Chart/values/helmfile via bedag/raw):
a Hyperliquid non-validating node StatefulSet (hostNetwork, nodeSelector),
Service exposing the HyperEVM JSON-RPC on :3001/evm, and a metadata ConfigMap.

Register the local node's HyperEVM RPC (chain 999) as an eRPC upstream alias
`hyperevm` (+ `hyperevm-testnet`) via resolveLocalERPCRegistration, so
in-cluster consumers reach HyperCore at
http://erpc.erpc.svc.cluster.local/rpc/hyperevm instead of a hardcoded basket.

Claude-Session: https://claude.ai/code/session_01YUTW7NfxjUoVtyKgR6nPQC
0.1.x brings the unified selection-policy engine, in-house failsafe with
per-attempt observability, and dRPC REST-based network discovery. The legacy
`selectionPolicy.evalFunction` blocks remain valid via the 0.1.x compat shim
(synthesized to `selectionPolicy.eval`, emits a deprecation warning) — a
follow-up can migrate them to the new `selectionPolicy.eval` form.

Claude-Session: https://claude.ai/code/session_01YUTW7NfxjUoVtyKgR6nPQC
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant