Wormhole is a substrate node containing tendermint-client pallet, which contains tendermint_light_client. Since this repository builds upon original node-template repository, you can read documentation on how to run the node here.
tendermint-client pallet exposes following extrinsics to create a tendermint light client, and update the light client with new tendermint header and authority sets.
-
initClient(payload: Vec<u8>)
: Creates and initializes new tendermint light client. The payload is json encodedTMCreateClientPayload
and if it is valid new light client is created and initialized. -
updateClient(payload: Vec<u8>)
: Updates existing light client. The payload is json encodedTMUpdateClientPayload
and if it is valid, client is updated with new height and new validator set.
tendermint-client pallet exposes following storage apis to get the list of created clients and their status.
-
availableClients() -> Vec<Bytes>
: Returns list of clients created till now. -
clientInfoMap(Bytes) -> TMClientInfo
: Returns information about particular client. Information is encodedTMClientInfo
structure.