wormhole/DEVELOP.md

1.5 KiB

Developing the bridge

Local Devnet

The following dependencies are required for local development:

  • Go >= 1.15.3

  • Docker / moby-engine >= 19.03

  • Tilt >= 0.17.2

  • Any of the local Kubernetes clusters supported by Tilt (we recommend minikube in the default config).

See the Tilt docs docs on how to set up your local cluster - it won't take more than a few minutes to set up!

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):

tilt up --update-mode=exec -- --num=10

Watch pod status in your cluster:

kubectl get pod -A -w

Get logs for single guardian node:

kubectl logs guardian-0

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

Adjust number of nodes in running cluster:

tilt args -- --num=2

(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.