Step 3: Spin up Starship
In this step, we will spin up couple of cosmos chains and relayers between them.
By the end of this tutorial you should be able to have osmosis and gaia chain running on your machine.
3.1) Define the desired infrastructure
We will now define the infrastructure for our starship, specify the chains and relayers run between them.
We will run:
- Osmosis chain (single validator)
- Cosmos hub chain (single validator)
- Hermes relayer between osmosis and cosmos chain
- Opens transfer channel between osmosis and cosmos chain
- Ping Pub explorer for the chains (experimental feature)
Create a directory to play around in
mkdir getting-started
cd getting-started
touch config.yaml
Add following content to config.yaml
with the following content
name: starship-getting-started
chains:
- id: osmosis-1
name: osmosis
numValidators: 1
ports:
rest: 1313
rpc: 26653
- id: gaia-1
name: cosmoshub
numValidators: 1
ports:
rest: 1317
rpc: 26657
relayers:
- name: osmos-gaia
type: hermes
replicas: 1
chains:
- osmosis-1
- gaia-1
registry:
enabled: true
ports:
rest: 8081
Above configuration would use around 4 CPUs and 4GB of RAM.
If you are constrained on resources, checkout the next step for tiny-starship.yaml
(opens in a new tab)
Documentation has more details on the configuration options and how to reduce the resource usage. For the tutorial we will keep it simple.
3.3) Spin up the infrastructure
Spin up the infrastructure with
starship start --config config.yaml
This command will:
- Create the necessary kubernetes resources
- Deploy the chains and relayers and registry
- Wait for pods to be in
Running
state - Runs port forwarding for the chains and registry to local ports
This will take some time to spin up the infrastructure, you can check the status in another terminal with
kubectl get pods
# OR, to watch the pods
watch kubectl get pods
3.4) Check the status of the infrastructure
starship get-pods
Check chain registry status
curl http://localhost:8081/chains | jq