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 encodedTMCreateClientPayloadand if it is valid new light client is created and initialized. -
updateClient(payload: Vec<u8>): Updates existing light client. The payload is json encodedTMUpdateClientPayloadand 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 encodedTMClientInfostructure.