Tesseract

Tesseract is a generalised multi-dimensionalchain relayer for the ISMP protocol. It can be used by application developers to handle relaying across instances of their dApps that live on different chains. The relayer currently supports all kinds of substrate based chains. But evm chain support is planned as well.

Usage

We currently maintain a docker image for the tesseract relayer, use it like so:
bash
docker run polytopelabs/tesseract:latest --config ./config.toml

Config Options

Here’s an example config file for parachains.
toml
[chain_a] # chain type type = "parachain" # hashing algorithm, options Blake2 | Keccak hashing = "Blake2" # relay chain ws url relay_chain = "ws://localhost:9944" # consensus client Id. "PARA" for parachains consensus_client = "PARA" # websocket url for the parachain ws_url = "ws://localhost:9988" # private key for the relayer account signer = "0xe5be9a5092b81bca64be81d212e7f2f9eba183bb7a90954f7b76361f6edb5c0a" # optional height to start relaying from. #latest_state_machine_height = None, [chain_a.state_machine] # state machine id for this chain Kusama = 2000 [chain_b] # chain type type = "parachain" # hashing algorithm, options Blake2 | Keccak hashing = "Blake2" # relay chain ws url relay_chain = "ws://localhost:9944" # consensus client Id. "PARA" for parachains consensus_client = "PARA" # websocket url for the parachain ws_url = "ws://localhost:9188" # private key for the relayer account signer = "0xe5be9a5092b81bca64be81d212e7f2f9eba183bb7a90954f7b76361f6edb5c0a" # optional height to start relaying from. #latest_state_machine_height = None, [chain_b.state_machine] # state machine id for this chain Kusama = 2001 [relayer] # Message types to relay, possible options Consensus | PostRequest | PostResponse | GetResponse messages = ["PostRequest", "PostResponse", "GetResponse"] # filter relay messages by origin module Ids module_filter = []