mirror of
https://github.com/hanzoai/bootnode.git
synced 2026-10-25 02:31:30 +00:00
185 lines
5.0 KiB
YAML
185 lines
5.0 KiB
YAML
# Hanzo sovereign-L1 node Helm chart values
|
|
# Base config (used as defaults, override per network with values-{network}.yaml)
|
|
#
|
|
# SOVEREIGN-L1 MODEL: Hanzo's primary networkID EQUALS its EVM chainID (one ID per
|
|
# env), unlike Lux (networkID 1/2/3, chainID 96369/68/70). Hanzo does NOT run on the
|
|
# Lux C-Chain (96369) — that is Lux-network only.
|
|
|
|
network: devnet
|
|
|
|
# Network-specific settings
|
|
# networkID MUST match genesis.json networkID (node validates at startup)
|
|
# Hanzo: networkID == chainID (mainnet 36963 / testnet 36962 / devnet 36964)
|
|
# Because these are CUSTOM network IDs (not the well-known 1/2/3), upgradeConfig
|
|
# below MUST be enabled — the node has no built-in upgrade schedule for them.
|
|
networks:
|
|
mainnet:
|
|
networkID: 36963
|
|
chainID: 36963
|
|
# cChainID is DERIVED at network creation (blake-hash of the C-Chain genesis +
|
|
# createChainTx) — populated by the operator at provisioning (see PROVISIONING.md).
|
|
cChainID: ""
|
|
httpPort: 9630
|
|
stakingPort: 9631
|
|
namespace: hanzo-mainnet
|
|
testnet:
|
|
networkID: 36962
|
|
chainID: 36962
|
|
cChainID: ""
|
|
httpPort: 9640
|
|
stakingPort: 9641
|
|
namespace: hanzo-testnet
|
|
devnet:
|
|
networkID: 36964
|
|
chainID: 36964
|
|
cChainID: ""
|
|
httpPort: 9650
|
|
stakingPort: 9651
|
|
namespace: hanzo-devnet
|
|
|
|
# 5 replicas for production consensus
|
|
replicas: 5
|
|
|
|
image:
|
|
# luxd node image (Hanzo runs the same binary; the network is defined by genesis).
|
|
# Upstream OSS node is acceptable here per the registry rules.
|
|
repository: registry.digitalocean.com/hanzo/bootnode
|
|
tag: luxd-v1.23.14
|
|
pullPolicy: Always
|
|
|
|
imagePullSecrets:
|
|
- name: registry-hanzo
|
|
|
|
# Bootstrap configuration
|
|
# nodeIDs are DERIVED from Hanzo's validator staking keys (KMS) at provisioning —
|
|
# they are NOT committed here. The operator populates them from the hanzo-staking
|
|
# secret it generates (see PROVISIONING.md). Empty = first-genesis bring-up.
|
|
bootstrap:
|
|
nodeIDs: []
|
|
useHostnames: true
|
|
externalIPs: []
|
|
rlpImport:
|
|
enabled: false
|
|
baseUrl: ""
|
|
rlpFilename: ""
|
|
multiPart: false
|
|
parts: []
|
|
minHeight: 1
|
|
timeout: 7200
|
|
|
|
# Consensus settings (5-node network)
|
|
consensus:
|
|
sampleSize: 5
|
|
quorumSize: 4
|
|
sybilProtectionEnabled: false
|
|
requireValidatorToConnect: false
|
|
allowPrivateIPs: true
|
|
|
|
# Chain tracking — Hanzo's own sovereign network
|
|
chainTracking:
|
|
trackAllChains: true
|
|
trackedChains: []
|
|
aliases:
|
|
- hanzo
|
|
|
|
# Deployed chain configs (blockchain IDs for EVM chain config directories)
|
|
chainConfigs:
|
|
enabled: false
|
|
blockchainIDs: []
|
|
evmConfig: '{"admin-api-enabled":true,"eth-apis":["eth","eth-filter","net","web3","internal-eth","internal-blockchain","internal-transaction","internal-tx-pool","internal-account","internal-personal","debug","internal-debug","admin"],"rpc-gas-cap":50000000,"rpc-tx-fee-cap":100,"pruning-enabled":false,"allow-unfinalized-queries":true,"allow-unprotected-txs":true,"log-level":"info","state-sync-enabled":false,"allow-missing-tries":true}'
|
|
|
|
# Init container mode
|
|
initMode:
|
|
clearData: false
|
|
|
|
# Startup gating: wait for peers before starting the node
|
|
startupGate:
|
|
enabled: true
|
|
minPeers: 2
|
|
timeoutSeconds: 300
|
|
checkIntervalSeconds: 5
|
|
|
|
# Seed/snapshot restore configuration
|
|
seedRestore:
|
|
enabled: false
|
|
sourceType: None
|
|
objectStoreUrl: ""
|
|
markerPath: "/data/.seeded"
|
|
|
|
# Upgrade strategy
|
|
upgradeStrategy:
|
|
type: OnDelete
|
|
maxUnavailable: 1
|
|
|
|
# Health policy
|
|
healthPolicy:
|
|
requireInboundValidators: false
|
|
minInbound: 1
|
|
gracePeriodSeconds: 300
|
|
maxHeightSkew: 10
|
|
|
|
# Staking keys — generated by the operator from KMS (NEVER committed).
|
|
staking:
|
|
secretName: hanzo-staking
|
|
|
|
# Resources
|
|
resources:
|
|
requests:
|
|
memory: "1Gi"
|
|
cpu: "500m"
|
|
limits:
|
|
memory: "4Gi"
|
|
cpu: "2"
|
|
|
|
# Storage (DOKS hanzo-k8s)
|
|
storage:
|
|
size: 100Gi
|
|
storageClass: do-block-storage
|
|
|
|
# Node exposure
|
|
nodeServices:
|
|
enabled: true
|
|
type: LoadBalancer
|
|
annotations: {}
|
|
|
|
# Logging
|
|
logLevel: info
|
|
|
|
# Database
|
|
dbType: badgerdb
|
|
|
|
# API settings
|
|
api:
|
|
adminEnabled: true
|
|
metricsEnabled: true
|
|
indexEnabled: true
|
|
httpAllowedHosts: "*"
|
|
|
|
# Upgrade config override — REQUIRED for Hanzo (custom network IDs 36963/62/64 have
|
|
# no built-in upgrade schedule). All phases activated at genesis (past timestamps).
|
|
upgradeConfig:
|
|
enabled: true
|
|
content: |
|
|
{
|
|
"apricotPhase1Time": "2020-12-05T05:00:00Z",
|
|
"apricotPhase2Time": "2020-12-05T05:00:00Z",
|
|
"apricotPhase3Time": "2020-12-05T05:00:00Z",
|
|
"apricotPhase4Time": "2020-12-05T05:00:00Z",
|
|
"apricotPhase4MinPChainHeight": 0,
|
|
"apricotPhase5Time": "2020-12-05T05:00:00Z",
|
|
"apricotPhasePre6Time": "2020-12-05T05:00:00Z",
|
|
"apricotPhase6Time": "2020-12-05T05:00:00Z",
|
|
"apricotPhasePost6Time": "2020-12-05T05:00:00Z",
|
|
"banffTime": "2020-12-05T05:00:00Z",
|
|
"cortinaTime": "2020-12-05T05:00:00Z",
|
|
"cortinaXChainStopVertexID": "11111111111111111111111111111111LpoYY",
|
|
"durangoTime": "2020-12-05T05:00:00Z",
|
|
"etnaTime": "2020-12-05T05:00:00Z",
|
|
"fortunaTime": "2020-12-05T05:00:00Z",
|
|
"graniteTime": "9999-12-01T00:00:00Z"
|
|
}
|
|
|
|
# Genesis
|
|
genesis:
|
|
configMapName: hanzo-genesis
|