wormhole/DEVELOP.md

52 lines
1.6 KiB
Markdown
Raw Normal View History

# Developing the bridge
## Local Devnet
The following dependencies are required for local development:
2020-10-20 07:40:52 -07:00
- [Go](https://golang.org/dl/) >= 1.15.3
- [Docker](https://docs.docker.com/engine/install/) / moby-engine >= 19.03
- [Tilt](http://tilt.dev/) >= 0.17.2
- Any of the local Kubernetes clusters supported by Tilt
2020-09-24 16:33:29 -07:00
(we recommend [minikube](https://kubernetes.io/docs/setup/learning-environment/minikube/) in the default config).
See the [Tilt docs](https://docs.tilt.dev/install.html) docs on how to set up your local cluster -
2020-11-10 07:31:05 -08:00
it won't take more than a few minutes to set up! Example minikube invocation, adjust limits as needed:
minikube start --cpus=8 --memory=8G --disk-size=50G --driver=kvm2
This should work on Linux, MacOS and possibly even Windows.
After installing all dependencies, just run `tilt up --update-mode=exec`.
Whenever you modify a file, the devnet is automatically rebuilt and a rolling update is done.
Specify number of guardians nodes to run (default is five):
2020-11-10 07:31:05 -08:00
tilt up --update-mode=exec -- --num=1
Watch pod status in your cluster:
kubectl get pod -A -w
Get logs for single guardian node:
kubectl logs guardian-0
2020-08-19 09:01:21 -07:00
Restart a specific pod:
kubectl delete pod guardian-0
Generate test ETH lockups once the cluster is up:
kubectl exec -it -c tests eth-devnet-0 -- npx truffle exec src/send-lockups.js
2020-08-15 14:56:33 -07:00
Adjust number of nodes in running cluster:
tilt args -- --num=2
2020-08-19 09:01:21 -07:00
(this is only useful if you want to test scenarios where the number
of nodes diverges from the guardian set - otherwise, `tilt down` and restart the cluster)
Once you're done, press Ctrl-C. Run `tilt down` to tear down the devnet.