Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/damiannolan/simd-scripts

Boilerplate scripts for bootstrapping simd nodes and relayer
https://github.com/damiannolan/simd-scripts

Last synced: 2 days ago
JSON representation

Boilerplate scripts for bootstrapping simd nodes and relayer

Awesome Lists containing this project

README

        

# simd scripts

Boilerplate scripts for boostrapping simd nodes and relayer

### Installing simd

Install the `simd` binary from the [`ibc-go`](https://github.com/cosmos/ibc-go) repository.

```bash
git clone [email protected]:cosmos/ibc-go.git && cd ibc-go

make install
```

### Installing Hermes

```bash
cargo install ibc-relayer-cli --bin hermes --locked

hermes version
```

### Setup chains

Bootsrap two `simd` chains. The following will clear any existing chain state under `./data` and create a new environment.
It bootstraps two single validator nodes for different `simd` chains `test-1` and `test-2`.

The scripts create a couple of accounts, both for relayers and demo accounts.

```bash
make init
```

### Restore keys using Hermes

Restore keys for relayer wallets `rly-1` and `rly-2`.

```bash
make hermes-restore-keys
```

### Setting up IBC transport and relaying.

Create a connection from `test-1` to `test-2`. Note, this also creates ibc clients out of the box.

```bash
make hermes-setup-connection
```

Create an incentivized transfer channel.

```bash
make hermes-setup-channel
```

Start relaying.

```bash
make hermes-start
```

---

### Ledger signing

1. Setup your ledger using LedgerLive and download the cosmos app.
2. Create a new cosmos account address. Note that ibc simapp uses the `cosmos` bech32 prefix.
3. Your device is now ready for testing using ibc simapp.

Where `cosmos1kzjk9frgfgpguvdazesgpllwsggk8472xryjvr` is your ledger account address.

Add your ledger key:

```bash
simd keys add ledgerKey --ledger --home ./data/test-1
```

Fund your ledger account from one of the demo accounts - `wallet1`:

```bash
simd tx bank send wallet1 cosmos1kzjk9frgfgpguvdazesgpllwsggk8472xryjvr 1000000stake --from wallet1 --chain-id test-1 --node tcp://localhost:16657 --home ./data/test-1 --keyring-backend test
```

Query balance of ledger account:

```bash
simd q bank balances cosmos1kzjk9frgfgpguvdazesgpllwsggk8472xryjvr --home ./data/test-1 --node tcp://localhost:16657
```

Regular bank send using ledger signing:

```bash
simd tx bank send cosmos1kzjk9frgfgpguvdazesgpllwsggk8472xryjvr cosmos17dtl0mjt3t77kpuhg2edqzjpszulwhgzuj9ljs 10stake --from ledgerKey --chain-id test-1 --ledger --node tcp://localhost:16657 --home ./data/test-1
```

IBC transfer using ledger signing:

```bash
simd tx ibc-transfer transfer transfer channel-0 cosmos17dtl0mjt3t77kpuhg2edqzjpszulwhgzuj9ljs 1000stake --from ledgerKey --chain-id test-1 --ledger --node tcp://localhost:16657 --home ./data/test-1
```