lib/ibc.sh
What it does
Key generation
If no keystore exists, the script generates a new secp256k1 signing key and stores it atibc/local/.ibc-attestor/ibc-attestor-keystore. The Ethereum address can be retrieved at any time:
Config rendering
The script renders two config files from templates:ibc/attestor-config.toml.tmplintoibc/local/attestor-config.tomlfor the EVM watcheribc/attestor-cosmos-config.toml.tmplintoibc/local/attestor-cosmos-config.tomlfor the Cosmos watcher
ICS26_ROUTER_ADDR from the deploy step.
See below for the configuration reference for both the EVM and Cosmos attestors.
Starting the containers
ibc/local/.ibc-attestor/ and listen on port 9101 within the Docker network.
Configuration
EVM attestor
Below is an example of the EVM attestor config for this demo:adapter.finality_offset determines at which block height the attestor reads and signs chain state. If omitted, the attestor uses the chain’s native finalized block tag. If set to N, it attests latest - N. This value must match finality_offset in the relayer config. See Finality offset for more details.