diff --git a/docs/ibc/integration.md b/docs/ibc/integration.md index 013cce0db58..76fcabf4e5e 100644 --- a/docs/ibc/integration.md +++ b/docs/ibc/integration.md @@ -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 ( @@ -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