Step-by-Step Manual Deployment
Categories:
Overview
Manual deployment lets you deploy each Solo network component individually, giving you full control over configuration, sequencing, and troubleshooting. Use this approach when you need to customise specific steps, debug a component in isolation, or integrate Solo into a bespoke automation pipeline.
Prerequisites
Before proceeding, ensure you have completed the following:
- System Readiness — your local environment meets all hardware and software requirements (Docker, kind, kubectl, helm, Solo).
- Quickstart — you have a running Kind cluster.
- Set your environment variables if you have not already done so:
export SOLO_CLUSTER_NAME=solo
export SOLO_NAMESPACE=solo-deployment
export SOLO_CLUSTER_SETUP_NAMESPACE=solo-cluster
export SOLO_DEPLOYMENT=solo-deployment
$env:SOLO_CLUSTER_NAME = 'solo'
$env:SOLO_NAMESPACE = 'solo-deployment'
$env:SOLO_CLUSTER_SETUP_NAMESPACE = 'solo-cluster'
$env:SOLO_DEPLOYMENT = 'solo-deployment'
Deployment Steps
Note: The expected output blocks below are fetched from the latest published Solo release at build time and will always reflect the current version.
1. Connect Cluster and Create Deployment
Connect Solo to the Kind cluster and create a new deployment configuration:
# Connect to the Kind cluster solo cluster-ref config connect \ --cluster-ref kind-${SOLO_CLUSTER_NAME} \ --context kind-${SOLO_CLUSTER_NAME} # Create a new deployment solo deployment config create \ -n "${SOLO_NAMESPACE}" \ --deployment "${SOLO_DEPLOYMENT}"Expected Output:
******************************* Solo ********************************************* Version : 0.80.0 Kubernetes Context : kind-solo Kubernetes Cluster : kind-solo Current Command : cluster-ref config connect --cluster-ref kind-solo --context kind-solo ********************************************************************************** ❯ Initialize ✔ Initialize ❯ Validating cluster ref: ✔ Validating cluster ref: kind-solo ❯ Test connection to cluster: ✔ Test connection to cluster: kind-solo ❯ Associate a context with a cluster reference: ✔ Associate a context with a cluster reference: kind-solo******************************* Solo ********************************************* Version : 0.80.0 Kubernetes Context : kind-solo Kubernetes Cluster : kind-solo Current Command : deployment config create --namespace solo --deployment solo-deployment --realm 0 --shard 0 Kubernetes Namespace : solo ********************************************************************************** ❯ Initialize ✔ Initialize ❯ Add deployment to local config ✔ Adding deployment: solo-deployment with namespace: solo to local config
2. Add Cluster to Deployment
Attach the cluster to your deployment and specify the number of consensus nodes:
1. Single node:
solo deployment cluster attach \ --deployment "${SOLO_DEPLOYMENT}" \ --cluster-ref kind-${SOLO_CLUSTER_NAME} \ --num-consensus-nodes 12. Multiple nodes (e.g., –num-consensus-nodes 3):
solo deployment cluster attach \ --deployment "${SOLO_DEPLOYMENT}" \ --cluster-ref kind-${SOLO_CLUSTER_NAME} \ --num-consensus-nodes 3Expected Output:
******************************* Solo ********************************************* Version : 0.80.0 Kubernetes Context : kind-solo Kubernetes Cluster : kind-solo Current Command : deployment cluster attach --deployment solo-deployment --cluster-ref kind-solo --num-consensus-nodes 1 ********************************************************************************** ❯ Pre-flight: check Docker Desktop containerd setting ✔ Pre-flight: check Docker Desktop containerd setting ❯ Check dependencies ❯ Check dependency: helm [OS: linux, Release: 6.8.0-117-generic, Arch: x64] ❯ Check dependency: kind [OS: linux, Release: 6.8.0-117-generic, Arch: x64] ❯ Check dependency: kubectl [OS: linux, Release: 6.8.0-117-generic, Arch: x64] ✔ Check dependency: kind [OS: linux, Release: 6.8.0-117-generic, Arch: x64] ✔ Check dependency: helm [OS: linux, Release: 6.8.0-117-generic, Arch: x64] ✔ Check dependency: kubectl [OS: linux, Release: 6.8.0-117-generic, Arch: x64] ✔ Check dependencies ❯ Setup chart manager ✔ Setup chart manager [0.7s] ❯ Initialize ✔ Initialize ❯ Verify args ✔ Verify args ❯ check ledger phase ✔ check ledger phase ❯ Test cluster reference connection ✔ Test cluster reference connection: kind-solo, context: kind-solo ❯ Verify prerequisites ✔ Verify prerequisites ❯ Check for other deployments ✔ Check for other deployments ❯ add cluster-ref in local config deployments Adding cluster-ref: kind-solo for deployment: solo-deployment in local config ✔ add cluster-ref: kind-solo for deployment: solo-deployment in local config ❯ create remote config for deployment ✔ create remote config for deployment: solo-deployment in cluster reference: kind-solo
3. Generate Keys
Generate the gossip and TLS keys for your consensus nodes:
solo keys consensus generate \ --gossip-keys \ --tls-keys \ --deployment "${SOLO_DEPLOYMENT}"PEM key files are written to
~/.solo/cache/keys/.Expected output:
******************************* Solo ********************************************* Version : 0.80.0 Kubernetes Context : kind-solo Kubernetes Cluster : kind-solo Current Command : keys consensus generate --gossip-keys --tls-keys --deployment solo-deployment ********************************************************************************** ❯ Initialize ✔ Initialize ❯ Generate gossip keys ❯ Backup old files ✔ Backup old files ❯ Gossip key for node: node1 ✔ Gossip key for node: node1 [0.2s] ✔ Generate gossip keys [0.2s] ❯ Generate gRPC TLS Keys ❯ Backup old files ❯ TLS key for node: node1 ✔ Backup old files ✔ TLS key for node: node1 [0.2s] ✔ Generate gRPC TLS Keys [0.2s] ❯ Finalize ✔ Finalize
4. Set Up Cluster with Shared Components
Install shared cluster-level components (MinIO Operator, Prometheus CRDs, etc.) into the cluster setup namespace:
solo cluster-ref config setup --cluster-setup-namespace "${SOLO_CLUSTER_SETUP_NAMESPACE}"Expected output:
******************************* Solo ********************************************* Version : 0.80.0 Kubernetes Context : kind-solo Kubernetes Cluster : kind-solo Current Command : cluster-ref config setup --cluster-setup-namespace solo-cluster ********************************************************************************** ❯ Pre-flight: check Docker Desktop containerd setting ✔ Pre-flight: check Docker Desktop containerd setting ❯ Check dependencies ❯ Check dependency: helm [OS: linux, Release: 6.8.0-117-generic, Arch: x64] ❯ Check dependency: kind [OS: linux, Release: 6.8.0-117-generic, Arch: x64] ❯ Check dependency: kubectl [OS: linux, Release: 6.8.0-117-generic, Arch: x64] ✔ Check dependency: kind [OS: linux, Release: 6.8.0-117-generic, Arch: x64] ✔ Check dependency: helm [OS: linux, Release: 6.8.0-117-generic, Arch: x64] ✔ Check dependency: kubectl [OS: linux, Release: 6.8.0-117-generic, Arch: x64] [0.1s] ✔ Check dependencies [0.1s] ❯ Setup chart manager ✔ Setup chart manager [0.7s] ❯ Initialize ✔ Initialize ❯ Install cluster charts ❯ Install pod-monitor-role ClusterRole ✅ ClusterRole pod-monitor-role installed successfully in context kind-solo ✔ Install pod-monitor-role ClusterRole ❯ Install MinIO Operator chart ✅ MinIO Operator chart installed successfully on context kind-solo ✔ Install MinIO Operator chart [0.7s] ✔ Install cluster charts [0.7s]
5. Deploy the Network
Deploy the Solo network Helm chart, which provisions the consensus node pods, HAProxy, Envoy, and MinIO:
solo consensus network deploy --deployment "${SOLO_DEPLOYMENT}"To provide a custom consensus node
application.propertiesfile, pass--application-properties <path>. Solo merges custom files with its generated defaults unless the file includes the overwrite marker. See Custom Application Properties for merge and overwrite examples.Expected output:
******************************* Solo ********************************************* Version : 0.80.0 Kubernetes Context : kind-solo Kubernetes Cluster : kind-solo Current Command : consensus network deploy --deployment solo-deployment --consensus-node-version v0.74.0 ********************************************************************************** ❯ Pre-flight: check Docker Desktop containerd setting ✔ Pre-flight: check Docker Desktop containerd setting ❯ Check dependencies ❯ Check dependency: helm [OS: linux, Release: 6.8.0-117-generic, Arch: x64] ❯ Check dependency: kind [OS: linux, Release: 6.8.0-117-generic, Arch: x64] ❯ Check dependency: kubectl [OS: linux, Release: 6.8.0-117-generic, Arch: x64] ✔ Check dependency: kind [OS: linux, Release: 6.8.0-117-generic, Arch: x64] ✔ Check dependency: helm [OS: linux, Release: 6.8.0-117-generic, Arch: x64] ✔ Check dependency: kubectl [OS: linux, Release: 6.8.0-117-generic, Arch: x64] [0.1s] ✔ Check dependencies [0.1s] ❯ Setup chart manager ✔ Setup chart manager [0.6s] ❯ Initialize ❯ Acquire lock ✔ Acquire lock - lock acquired successfully, attempt: 1/10 ✔ Initialize [0.2s] ❯ Copy gRPC TLS Certificates ↓ Copy gRPC TLS Certificates [SKIPPED: Copy gRPC TLS Certificates] ❯ Prepare staging directory ❯ Copy Gossip keys to staging ✔ Copy Gossip keys to staging ❯ Copy gRPC TLS keys to staging ✔ Copy gRPC TLS keys to staging ✔ Prepare staging directory ❯ Copy node keys to secrets ❯ Copy TLS keys ❯ Node: node1, cluster: kind-solo ❯ Copy Gossip keys ✔ Copy TLS keys ✔ Copy Gossip keys ✔ Node: node1, cluster: kind-solo ✔ Copy node keys to secrets ❯ Install monitoring CRDs ❯ Pod Logs CRDs ❯ Prometheus Operator CRDs ✔ Pod Logs CRDs - Installed prometheus-operator-crds chart, version: 24.0.2 ✔ Prometheus Operator CRDs [4s] ✔ Install monitoring CRDs [4s] ❯ Install chart 'solo-deployment' - Installed solo-deployment chart, version: 0.64.0 ✔ Install chart 'solo-deployment' [2s] ❯ Patch ServiceMonitor for Prometheus discovery ✔ Patch ServiceMonitor for Prometheus discovery ❯ Check for load balancer ↓ Check for load balancer [SKIPPED: Check for load balancer] ❯ Redeploy chart with external IP address config ↓ Redeploy chart with external IP address config [SKIPPED: Redeploy chart with external IP address config] ❯ Check node pods are running ❯ Check Node: node1, Cluster: kind-solo ✔ Check Node: node1, Cluster: kind-solo [22s] ✔ Check node pods are running [22s] ❯ Check proxy pods are running ❯ Check HAProxy for: node1, cluster: kind-solo ❯ Check Envoy Proxy for: node1, cluster: kind-solo ✔ Check HAProxy for: node1, cluster: kind-solo ✔ Check Envoy Proxy for: node1, cluster: kind-solo ✔ Check proxy pods are running ❯ Check auxiliary pods are ready ❯ Check MinIO ↓ Check MinIO [SKIPPED: Check MinIO] ✔ Check auxiliary pods are ready ❯ Add node and proxies to remote config ✔ Add node and proxies to remote config ❯ Copy wraps lib into consensus node ↓ Copy wraps lib into consensus node [SKIPPED: Copy wraps lib into consensus node] ❯ Copy block-nodes.json ✔ Copy block-nodes.json [0.7s] ❯ Copy JFR config file to nodes ↓ Copy JFR config file to nodes [SKIPPED: Copy JFR config file to nodes]
6. Set Up Consensus Nodes
Download the consensus node platform software and configure each node:
export CONSENSUS_NODE_VERSION=v0.66.0 solo consensus node setup \ --deployment "${SOLO_DEPLOYMENT}" \ --release-tag "${CONSENSUS_NODE_VERSION}"On native Windows (PowerShell), set the version with
$env:CONSENSUS_NODE_VERSION = 'v0.66.0'and reference variables as$env:SOLO_DEPLOYMENT/$env:CONSENSUS_NODE_VERSION.Example output:
******************************* Solo ********************************************* Version : 0.80.0 Kubernetes Context : kind-solo Kubernetes Cluster : kind-solo Current Command : consensus node setup --deployment solo-deployment --consensus-node-version v0.74.0 ********************************************************************************** ❯ Load configuration ✔ Load configuration [0.2s] ❯ Initialize ✔ Initialize [0.2s] ❯ Validate nodes states ❯ Validating state for node node1 ✔ Validating state for node node1 - valid state: requested ✔ Validate nodes states ❯ Identify network pods ❯ Check network pod: node1 ✔ Check network pod: node1 ✔ Identify network pods ❯ Fetch platform software into network nodes ❯ Update node: node1 [ platformVersion = v0.74.0, context = kind-solo ] ✔ Update node: node1 [ platformVersion = v0.74.0, context = kind-solo ] [2s] ✔ Fetch platform software into network nodes [4s] ❯ Setup network nodes ❯ Node: node1 ❯ Copy configuration files ✔ Copy configuration files [0.5s] ❯ Set file permissions ✔ Set file permissions [0.4s] ✔ Node: node1 [1s] ✔ Setup network nodes [1s] ❯ Update block-nodes.json ✔ Update block-nodes.json [0.7s] ❯ setup network node folders ✔ setup network node folders [0.1s] ❯ Change node state to configured in remote config ✔ Change node state to configured in remote config
7. Start Consensus Nodes
Start all configured nodes and wait for them to reach ACTIVE status:
solo consensus node start --deployment "${SOLO_DEPLOYMENT}"Expected output:
******************************* Solo ********************************************* Version : 0.80.0 Kubernetes Context : kind-solo Kubernetes Cluster : kind-solo Current Command : consensus node start --deployment solo-deployment ********************************************************************************** ❯ Pre-flight: check Docker Desktop containerd setting ✔ Pre-flight: check Docker Desktop containerd setting ❯ Check dependencies ❯ Check dependency: helm [OS: linux, Release: 6.8.0-117-generic, Arch: x64] ❯ Check dependency: kind [OS: linux, Release: 6.8.0-117-generic, Arch: x64] ❯ Check dependency: kubectl [OS: linux, Release: 6.8.0-117-generic, Arch: x64] ✔ Check dependency: kind [OS: linux, Release: 6.8.0-117-generic, Arch: x64] ✔ Check dependency: helm [OS: linux, Release: 6.8.0-117-generic, Arch: x64] ✔ Check dependency: kubectl [OS: linux, Release: 6.8.0-117-generic, Arch: x64] ✔ Check dependencies ❯ Setup chart manager ✔ Setup chart manager [0.7s] ❯ Load configuration ✔ Load configuration [0.3s] ❯ Initialize ✔ Initialize ❯ Validate nodes states ❯ Validating state for node node1 ✔ Validating state for node node1 - valid state: configured ✔ Validate nodes states ❯ Identify existing network nodes ❯ Check network pod: node1 ✔ Check network pod: node1 ✔ Identify existing network nodes ❯ Upload state files network nodes ↓ Upload state files network nodes [SKIPPED: Upload state files network nodes] ❯ Starting nodes ❯ Start node: node1 ✔ Start node: node1 [1s] ✔ Starting nodes [1s] ❯ Enable port forwarding for debug port and/or GRPC port Using requested port 35211 ✔ Enable port forwarding for debug port and/or GRPC port ❯ Check nodes are ACTIVE and proxies are ready ❯ Check all nodes are ACTIVE ❯ Check node proxies are ACTIVE ❯ Check proxy for node: node1 ❯ Check network pod: node1 ✔ Check proxy for node: node1 ✔ Check node proxies are ACTIVE Using requested port 30212 Stopping port-forward for port [30212] Using requested port 30212 Stopping port-forward for port [30212] Using requested port 30212 ✔ Check network pod: node1 - gRPC readiness 3/3, attempt: 2/20 [40s] ✔ Check all nodes are ACTIVE [40s] ✔ Check nodes are ACTIVE and proxies are ready [40s] ❯ Wait for TSS ❯ Waiting for node: node1 ✔ Waiting for node: node1, attempt 1/60 [10s] ✔ Wait for TSS [10s] ❯ set gRPC Web endpoint Stopping port-forward for port [30212] Using requested port 30212 ✔ set gRPC Web endpoint [4s] ❯ Change node state to started in remote config ✔ Change node state to started in remote config ❯ Add node stakes ❯ Adding stake for node: node1 ✔ Adding stake for node: node1 [2s] ✔ Add node stakes [2s] ❯ Emit node started event ✔ Emit node started event Stopping port-forward for port [30212]
8. Deploy Mirror Node
Deploy the Hedera Mirror Node, which indexes all transaction data and exposes a REST API and gRPC endpoint:
solo mirror node add \ --deployment "${SOLO_DEPLOYMENT}" \ --cluster-ref kind-${SOLO_CLUSTER_NAME} \ --enable-ingress \ --pingerThe
--pingerflag keeps the mirror node’s importer active by regularly submitting record files. The--enable-ingressflag installs the HAProxy ingress controller for the mirror node REST API.Expected output:
******************************* Solo ********************************************* Version : 0.80.0 Kubernetes Context : kind-solo Kubernetes Cluster : kind-solo Current Command : mirror node add --deployment solo-deployment --cluster-ref kind-solo --enable-ingress --quiet-mode ********************************************************************************** ❯ Pre-flight: check Docker Desktop containerd setting ✔ Pre-flight: check Docker Desktop containerd setting ❯ Check dependencies ❯ Check dependency: helm [OS: linux, Release: 6.8.0-117-generic, Arch: x64] ❯ Check dependency: kind [OS: linux, Release: 6.8.0-117-generic, Arch: x64] ❯ Check dependency: kubectl [OS: linux, Release: 6.8.0-117-generic, Arch: x64] ✔ Check dependency: kind [OS: linux, Release: 6.8.0-117-generic, Arch: x64] ✔ Check dependency: helm [OS: linux, Release: 6.8.0-117-generic, Arch: x64] ✔ Check dependency: kubectl [OS: linux, Release: 6.8.0-117-generic, Arch: x64] ✔ Check dependencies ❯ Setup chart manager ✔ Setup chart manager [0.7s] ❯ Initialize ❯ Acquire lock ✔ Acquire lock - lock acquired successfully, attempt: 1/10 ✔ Initialize [0.4s] ❯ Add mirror node to remote config ✔ Add mirror node to remote config ❯ load node client Using requested port 30212 ✔ load node client [1s] ❯ Deploy charts ❯ Enable shared resources ❯ Install Shared Resources chart ✔ Install Shared Resources chart [3s] ❯ Load redis credentials ✔ Load redis credentials ❯ Initialize Postgres pod ❯ Wait for Postgres pod to be ready ✔ Wait for Postgres pod to be ready [11s] ✔ Initialize Postgres pod [11s] ❯ Add shared resource components to remote config ✔ Add shared resource components to remote config ✔ Enable shared resources [14s] ❯ Prime mirror-node postgres secret ✔ Prime mirror-node postgres secret [0.7s] ❯ Delete stale mirror redis secret ✔ Delete stale mirror redis secret ❯ Run database initialization script ✔ Run database initialization script [1s] ❯ Enable mirror-node ❯ Prepare address book ✔ Prepare address book ❯ Install mirror ingress controller - Installed haproxy-ingress-1 chart, version: 0.14.5 ✔ Install mirror ingress controller [0.7s] ❯ Deploy mirror-node - Installed mirror chart, version: v0.157.0 ✔ Deploy mirror-node [2s] ✔ Enable mirror-node [3s] ✔ Deploy charts [20s] ❯ Check pods are ready ❯ Check Grpc ❯ Check Importer ❯ Check Rest ❯ Check Rest Java ❯ Check Web3 ✔ Check Rest Java [10s] ✔ Check Web3 [14s] ✔ Check Grpc [18s] ✔ Check Importer [18s] ✔ Check Rest [20s] ✔ Check pods are ready [20s] ❯ Enable port forwarding for mirror ingress controller Using requested port 38081 ✔ Enable port forwarding for mirror ingress controller ❯ Show user messages *** Port forwarding enabled: *** ------------------------------------------------------------------------------- - Mirror ingress controller port forward enabled on 127.0.0.1:38081 ------------------------------------------------------------------------------- ✔ Show user messages Stopping port-forward for port [30212]
9. Deploy Explorer
Deploy the Hiero Explorer, a web UI for browsing transactions and accounts:
solo explorer node add \ --deployment "${SOLO_DEPLOYMENT}" \ --cluster-ref kind-${SOLO_CLUSTER_NAME}Expected output:
******************************* Solo ********************************************* Version : 0.80.0 Kubernetes Context : kind-solo Kubernetes Cluster : kind-solo Current Command : explorer node add --deployment solo-deployment --cluster-ref kind-solo --quiet-mode ********************************************************************************** ❯ Pre-flight: check Docker Desktop containerd setting ✔ Pre-flight: check Docker Desktop containerd setting ❯ Check dependencies ❯ Check dependency: helm [OS: linux, Release: 6.8.0-117-generic, Arch: x64] ❯ Check dependency: kind [OS: linux, Release: 6.8.0-117-generic, Arch: x64] ❯ Check dependency: kubectl [OS: linux, Release: 6.8.0-117-generic, Arch: x64] ✔ Check dependency: kind [OS: linux, Release: 6.8.0-117-generic, Arch: x64] ✔ Check dependency: helm [OS: linux, Release: 6.8.0-117-generic, Arch: x64] ✔ Check dependency: kubectl [OS: linux, Release: 6.8.0-117-generic, Arch: x64] ✔ Check dependencies ❯ Setup chart manager ✔ Setup chart manager [0.7s] ❯ Initialize ❯ Acquire lock ✔ Acquire lock - lock acquired successfully, attempt: 1/10 ✔ Initialize [0.4s] ❯ Load remote config ✔ Load remote config [0.1s] ❯ Add explorer to remote config ✔ Add explorer to remote config ❯ Install cert manager ↓ Install cert manager [SKIPPED: Install cert manager] ❯ Install explorer - Installed hiero-explorer-1 chart, version: 26.1.0 ✔ Install explorer [0.7s] ❯ Install explorer ingress controller ↓ Install explorer ingress controller [SKIPPED: Install explorer ingress controller] ❯ Check explorer pod is ready ✔ Check explorer pod is ready [4s] ❯ Check haproxy ingress controller pod is ready ↓ Check haproxy ingress controller pod is ready [SKIPPED: Check haproxy ingress controller pod is ready] ❯ Enable port forwarding for explorer No port forward config found for Explorer Using requested port 38080 ✔ Enable port forwarding for explorer ❯ Show user messages *** Port forwarding enabled: *** ------------------------------------------------------------------------------- - Explorer port forward enabled on 127.0.0.1:38080 ------------------------------------------------------------------------------- ✔ Show user messages
10. Deploy JSON-RPC Relay
Deploy the Hiero JSON-RPC Relay to expose an Ethereum-compatible JSON-RPC endpoint for EVM tooling (MetaMask, Hardhat, Foundry, etc.):
solo relay node add \ -i node1 \ --deployment "${SOLO_DEPLOYMENT}"
TODO: double check these, and update in solo repo if needed to match, also double check the exported variables match
Expected output:
******************************* Solo ********************************************* Version : 0.80.0 Kubernetes Context : kind-solo Kubernetes Cluster : kind-solo Current Command : relay node add --node-aliases node1 --deployment solo-deployment --cluster-ref kind-solo --relay-version 0.77.0 ********************************************************************************** ❯ Pre-flight: check Docker Desktop containerd setting ✔ Pre-flight: check Docker Desktop containerd setting ❯ Check dependencies ❯ Check dependency: helm [OS: linux, Release: 6.8.0-117-generic, Arch: x64] ❯ Check dependency: kind [OS: linux, Release: 6.8.0-117-generic, Arch: x64] ❯ Check dependency: kubectl [OS: linux, Release: 6.8.0-117-generic, Arch: x64] ✔ Check dependency: kind [OS: linux, Release: 6.8.0-117-generic, Arch: x64] ✔ Check dependency: helm [OS: linux, Release: 6.8.0-117-generic, Arch: x64] ✔ Check dependency: kubectl [OS: linux, Release: 6.8.0-117-generic, Arch: x64] ✔ Check dependencies ❯ Setup chart manager ✔ Setup chart manager [0.8s] ❯ Initialize ❯ Acquire lock ✔ Acquire lock - lock acquired successfully, attempt: 1/10 ✔ Initialize [0.4s] ❯ Add relay component in remote config ✔ Add relay component in remote config ❯ Check chart is installed ✔ Check chart is installed [0.1s] ❯ Prepare chart values ✔ Prepare chart values ❯ Deploy JSON RPC Relay - Installed relay-1 chart, version: 0.77.0 ✔ Deploy JSON RPC Relay [0.6s] ❯ Check relay is running ✔ Check relay is running [4s] ❯ Check relay is ready ✔ Check relay is ready [3s] ❯ Enable port forwarding for relay node No port forward config found for JSON RPC Relay Using requested port 37546 ✔ Enable port forwarding for relay node ❯ Show user messages *** Port forwarding enabled: *** ------------------------------------------------------------------------------- - JSON RPC Relay port forward enabled on 127.0.0.1:37546 ------------------------------------------------------------------------------- ✔ Show user messages
Cleanup
When you are done, destroy components in the reverse order of deployment.
Important: Always destroy components before destroying the network. Skipping this order can leave orphaned Helm releases and PVCs in your cluster.
1. Destroy JSON-RPC Relay
solo relay node destroy \
-i node1 \
--deployment "${SOLO_DEPLOYMENT}" \
--cluster-ref kind-${SOLO_CLUSTER_NAME}
2. Destroy Explorer
solo explorer node destroy \
--deployment "${SOLO_DEPLOYMENT}" \
--force
3. Destroy Mirror Node
solo mirror node destroy \
--deployment "${SOLO_DEPLOYMENT}" \
--force
4. Destroy the Network
solo consensus network destroy \
--deployment "${SOLO_DEPLOYMENT}" \
--force