Wisp Relayer node that:
- Handles Light Client Optimistic/Finality updates, requests ZKPs from a Wisp-Prover API and updates the on-chain LightClient contract
- Watches
Outboxcontracts for Cross-Rollup Messages and relays them toInboxcontracts once Light Client state is updated
$ npm installPrerequisite
Copy and example yaml and populate the ENV variables:
cp ./config/example.yaml ./config/config.yamlExecute the following script
bash ./start.shScripts
# development
$ npm run start
# watch mode
$ npm run start:devNote
In order for the relayer to receive light client finality updates, LimeChain's forked lodestar must be started:
- Get the current
checkpointRootby executing:curl https://lodestar-goerli.chainsafe.io/eth/v1/beacon/states/finalized/finality_checkpoints | jq ".data.finalized.root" | tr -d '"'
- Start the
lodestar-wisp1:0image, populating the returned `checkpointRoot:docker run limechain/lodestar-wisp:1.0 lightclient --network goerli --beaconApiUrl=https://lodestar-goerli.chainsafe.io --checkpointRoot=${CHECKPOINT_ROOT} --crcApiUrl=http://relayer:8080
The code in this project is free software under the MIT License.