Genesis Download 
This section explains the methods available for downloading or specifying the genesis file when deploying a node or initializing a network using Cosmopilot. The genesis file defines the blockchain's initial state and parameters, making it a critical component for connecting to the correct network.
Download from a URL 
You can specify a URL to fetch the genesis file directly. This is the simplest and most common method for established networks.
Example Configuration 
genesis:
  url: https://raw.githubusercontent.com/NibiruChain/Networks/main/Mainnet/cataclysm-1/genesis.jsonNotes
- The 
URLmust point to a publicly accessible genesis file. - Ensure the 
URLis updated to match the desired network or version. 
Fetch from an RPC Endpoint 
Its also possible to configure your ChainNode or ChainNodeSet to fetch the genesis directly from another node’s RPC endpoint.
Example Configuration 
genesis:
  fromNodeRPC:
    hostname: rpc.nibiru.fi
    port: 443 # Optional. Defaults to 26657
    secure: true # Optional. Defaults to falseNotes
- Ensure the 
RPCendpoint is accessible from the cluster. - This method is useful for networks that regularly update their genesis file or for quickly bootstrapping nodes in test environments.
 
Load from a ConfigMap 
For private networks or custom configurations, you can use a Kubernetes ConfigMap to provide the genesis file. This is useful for managing genesis files directly within your cluster.
Steps 
- Create a 
ConfigMapwith the genesis file: 
$ kubectl create configmap custom-genesis --from-file=genesis.jsonMake sure the ConfigMap is created in the same namespace as your ChainNode or ChainNodeSet.
- Reference the 
ConfigMapin your ChainNode or ChainNodeSet manifest: 
genesis:
  configMap: custom-genesisIMPORTANT
Cosmopilot expects the genesis file name to be genesis.json.
Large Genesis 
For genesis files larger than the 1MiB limit of Kubernetes ConfigMaps, Cosmopilot provides the useDataVolume option. This allows the genesis file to be stored directly in the same volume as the node’s data.
Example Configuration 
genesis:
  url: https://raw.githubusercontent.com/NibiruChain/Networks/main/Mainnet/cataclysm-1/genesis.json
  useDataVolume: trueDownside When using useDataVolume, Cosmopilot will download the genesis file once for each node. This may lead to redundant downloads in scenarios with multiple nodes.
