Files
hips/HIPs/hip-0414-network-crd.md
zeekayandHanzo Dev 7a9dcac628 What each runtime implements of the Hanzo corpus
An audit read the code and found the proposal that specifies it. Go reaches
all 122 capability proposals and 64 of the 121 other Standards Track ones;
Rust has 35, mostly the operator and the CLI; C++ has three, because the
complete original C++ in the estate is a ZAP handler, a bot nothing specifies,
and authored kernels inside forked CUDA and Metal crates.

    | | shipped | partial | none | not assessed |
    | Go   | 146 | 33 | 1 |  80 |
    | C++  |   1 |  2 | 0 | 257 |
    | Rust |  10 | 25 | 1 | 224 |

The large "not assessed" columns are the point rather than a gap. The model and
training specs are Python, the frontend and design-system proposals are
TypeScript, and recording `none` against those would read as a search that
came up empty when the honest statement is that the runtime was never the
question. Governance, Meta and Process are not graded at all.

Six proposals are Final with nothing found in Go and are left unwritten rather
than demoted: 0065, 0089, 0098, 0103, 0521 and 0902. HIP-0521 answers itself,
its own section reading "Not yet implemented". Three of the others name a
canonical Go file in consensus/protocol/auth that nobody wrote, in a package
where the four neighbouring proposals' files all exist with tests beside them.

Co-authored-by: Hanzo Dev <[email protected]>
2026-09-05 19:18:13 -07:00

2.4 KiB

hip, title, author, type, category, status, implementation-rust, implementation-go, created
hip title author type category status implementation-rust implementation-go created
0414 Network CRD Hanzo Platform Team Standards Track Operator Final partial partial 2026-05-19

HIP-0414: Network CRD

Abstract

The Network CRD describes a complete blockchain network: validators, chains, optional indexer, explorer, bridge, and bootnode services. It is the top-level Kind that wraps luxfi/node operation. The reconciler emits a StatefulSet for validators plus optional sub-services. Sibling Kinds (Chain, Validator, Subnet) are no-op stubs that exist only for kubectl ergonomics — the Network reconciler owns materialization.

Specification

Group + version

hanzo.ai/v1, plural network, shortname hnet.

Spec fields

Field Type Description
networkID string "1" (mainnet), "2" (testnet), "3" (local), "1337" (dev)
validator ValidatorSpec image, replicas, resources, storage, bootstrapNodes, ports
chains []ChainSpec name, vmID, genesis, optional subnetID
indexer SubServiceSpec optional luxfi/indexer
explorer ExplorerSpec optional luxfi/explorer
bridge SubServiceSpec optional bridge
bootnode SubServiceSpec optional bootnode

Example CR

apiVersion: hanzo.ai/v1
kind: Network
metadata:
  name: lux-mainnet
  namespace: hanzo
spec:
  networkID: "1"
  validators:
    image:
      repository: ghcr.io/luxfi/node
      tag: v1.23.6
    replicas: 5
    bootstrapNodes:
      - localhost:9651
    httpPort: 9650
    stakingPort: 9651
    storage:
      storageClassName: do-block-storage
      size: 100Gi
  chains:
    - name: c-chain
      vmID: jvYyfQTxGMJLuGWa55kdP2p2zSUYsQ5Raupu4TW34ZAUBAbtq
      genesis: "..."
  explorer:
    enabled: true
    backendImage: ghcr.io/luxfi/explorer:1.2.2
    frontendImage: ghcr.io/luxfi/explorer:1.2.2

Generated K8s resources

  • StatefulSet for validators
  • Headless + ClusterIP Services
  • PVCs per validator
  • Sub-Deployments for indexer/explorer/bridge/bootnode

Operator reconciler

~/work/hanzo/operator/src/controllers/network.rs.

  • HIP-0020 (Blockchain node standard)
  • HIP-0024 (Hanzo sovereign L1 chain architecture)
  • No Network CR currently runs in do-sfo3-hanzo-k8s — primary deployments are on lux-k8s.

Status

Implemented in hanzoai/operator v0.3.0+. Used primarily on lux-k8s cluster for the Lux network.