-
Notifications
You must be signed in to change notification settings - Fork 7
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
docs: port instructions from multichain-testing/README.md
- Loading branch information
1 parent
029bb89
commit 9951131
Showing
1 changed file
with
119 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,119 @@ | ||
# Starship | ||
|
||
End-to-end testing environment for fully simulated chains, powered by [Starship](https://docs.cosmology.zone/starship). | ||
|
||
## Configuration | ||
|
||
The current commands will read from [`config.yaml`](./config.yaml) to build a multi-chain testing environment. Currently, the image includes `agoric`, `osmosis`, and `cosmoshub` chains and a hermes relayer between each. | ||
|
||
The `agoric` software revision includes the vats necessary for building and testing orchestration applications: | ||
- vat-network | ||
- vat-ibc | ||
- vat-localchain | ||
- vat-transfer | ||
- vat-orchestration | ||
|
||
## Initial Setup | ||
|
||
Install the relevant dependencies: | ||
|
||
```sh | ||
yarn install | ||
``` | ||
|
||
Ensure you have Kubernetes available. See https://docs.cosmology.zone/starship/get-started/step-2. | ||
|
||
The following will install `kubectl`, `kind`, `helm`, and `yq` as needed: | ||
|
||
```sh | ||
make clean setup | ||
``` | ||
|
||
## Getting Started | ||
|
||
You can start everything with a single command: | ||
|
||
```sh | ||
make start | ||
``` | ||
|
||
This command will: | ||
1. Install the Helm chart and start the Starship service | ||
2. Wait for all pods to be ready | ||
3. Set up port forwarding | ||
4. Fund the provision pool | ||
5. Override the chain registry | ||
|
||
The process may take 7-12 minutes to complete. You'll see status updates as the pods come online. | ||
|
||
Alternatively, you can run the steps individually: | ||
|
||
```sh | ||
# install helm chart and start starship service | ||
make install | ||
|
||
# wait for all pods to spin up | ||
make wait-for-pods | ||
|
||
# expose ports on your local machine (useful for testing dapps) | ||
make port-forward | ||
|
||
# set up Agoric testing environment | ||
make fund-provision-pool override-chain-registry register-bank-assets | ||
``` | ||
|
||
If you get an error like "connection refused", you need to wait longer, until all the pods are Running. | ||
|
||
## Cleanup | ||
|
||
```sh | ||
# stop the containers and port-forwarding | ||
make stop | ||
|
||
# delete the clusters | ||
make clean | ||
``` | ||
|
||
## Logs | ||
|
||
You can use the following commands to view logs: | ||
|
||
```sh | ||
# agoric slogfile | ||
make tail-slog | ||
|
||
# agoric validator logs | ||
kubectl logs agoriclocal-genesis-0 --container=validator --follow | ||
|
||
# relayer logs | ||
kubectl logs hermes-agoric-gaia-0 --container=relayer --follow | ||
kubectl logs hermes-osmosis-gaia-0 --container=relayer --follow | ||
``` | ||
|
||
## Agoric Smart Wallet | ||
|
||
For the steps below, you must import a key to `agd` or create a new one. | ||
|
||
```bash | ||
# create a `user1` key from a random seed | ||
kubectl exec -i agoriclocal-genesis-0 -c validator -- agd keys add user1 | ||
|
||
# get the newly created address | ||
ADDR=$(kubectl exec -i agoriclocal-genesis-0 -c validator -- agd keys show user1 -a) | ||
|
||
# fund the wallet with some tokens | ||
make fund-wallet COIN=20000000ubld ADDR=$ADDR | ||
|
||
# provision the smart wallet | ||
make provision-smart-wallet ADDR=$ADDR | ||
``` | ||
|
||
## Chain Registry | ||
|
||
These only work if you've done `make port-forward`. | ||
|
||
- http://localhost:8081/chains/agoriclocal | ||
- http://localhost:8081/chains/osmosislocal | ||
- http://localhost:8081/chains/gaialocal | ||
- http://localhost:8081/chains/agoriclocal/keys | ||
- http://localhost:8081/ibc |