Skip to content

Commit

Permalink
docs: update integration docs to include light client registration. (#…
Browse files Browse the repository at this point in the history
  • Loading branch information
chatton authored Dec 12, 2022
1 parent 6048c87 commit 58d7989
Showing 1 changed file with 19 additions and 0 deletions.
19 changes: 19 additions & 0 deletions docs/ibc/integration.md
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,23 @@ The first step is to add the following modules to the `BasicManager`: `x/capabil
and `x/ibc-transfer`. After that, we need to grant `Minter` and `Burner` permissions to
the `ibc-transfer` `ModuleAccount` to mint and burn relayed tokens.

### Integrating Light Clients

> Note that from v7 onwards, all light clients have to be explicitly registered in a chain's app.go and follow the steps listed below.
This is in contrast to earlier versions of ibc-go when 07-tendermint and 06-solomachine were added out of the box.

All light clients must be registered with `module.BasicManager` in a chain's app.go file.

The following code example shows how to register the existing `ibctm.AppModuleBasic{}` light client implementation.

```go

import (
...
ibctm "github.com/cosmos/ibc-go/v6/modules/light-clients/07-tendermint"
...
)

// app.go
var (

Expand All @@ -37,6 +53,9 @@ var (
capability.AppModuleBasic{},
ibc.AppModuleBasic{},
transfer.AppModuleBasic{}, // i.e ibc-transfer module

// register light clients on IBC
ibctm.AppModuleBasic{},
)

// module account permissions
Expand Down

0 comments on commit 58d7989

Please sign in to comment.