Rust implementation of IBC modules and relayer
THIS PROJECT IS UNDER HEAVY DEVELOPMENT AND IS NOT IN A WORKING STAGE NOW, USE AT YOUR OWN RISK.
- Rust 1.42+ (might work on earlier versions but this has not been tested yet)
Provided that one has a Tendermint node running on port 26657, one can configure and spawn two light clients for this chain with the following commands:
- Fetch a trusted header from the chain:
$ curl -s http://localhost:26657/status | jq '.result.sync_info|.latest_block_hash,.latest_block_height'
- Initialize a light client for chain A with the trusted height and hash fetched in step 1:
ibc-rs > cargo run --bin relayer -- -c ./relayer/relay/tests/config/fixtures/relayer_conf_example.toml light init -x HASH -h HEIGHT chain_A
Replace
HASH
andHEIGHT
with the appropriate values.
- Repeat step 1 and 2 above for
chain_B
.
For this, update the height and hash, and change the chain identifier in the command above from
chain_A
tochain_B
.
- Start the light clients and a dummy relayer thread:
ibc-rs > cargo run --bin relayer -- -c ./relayer/relay/tests/config/fixtures/relayer_conf_example.toml run
Copyright © 2020 Informal Systems
Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at
https://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.