diff --git a/README.md b/README.md index 0ea2f896..2f6dd09d 100644 --- a/README.md +++ b/README.md @@ -39,12 +39,12 @@ DISCLAIMER: This project is still under development and has not been audited. ## Supported Light Client -You can deploy a Light Client that implements [the IClient interface](./contracts/core/02-client/ILightClient.sol) to [integrate with ibc-solidity](./docs/architecture.md#light-client). +You can deploy a Light Client that implements [the ILightClient interface](./contracts/core/02-client/ILightClient.sol) to [integrate with ibc-solidity](./docs/architecture.md#light-client). Here are some such examples: - [IBFT 2.0 Light Client](./contracts/clients/IBFT2Client.sol) -- [Tendermint Light Client](https://github.com/datachainlab/tendermint-sol/tree/use-ibc-sol-hmy) -- [Mock Client](./contracts/clients/MockClient.sol) +- [LCP(TEE) Client](https://github.com/datachainlab/lcp-solidity) +- [Localhost Client](./contracts/clients/LocalhostClient.sol) ## IBC relayer support diff --git a/docs/README.md b/docs/README.md index f8d9c3be..0b368201 100644 --- a/docs/README.md +++ b/docs/README.md @@ -2,3 +2,4 @@ - [Architecture Overview](./architecture.md) - [IBFT 2.0 Light Client spec](./ibft2-light-client.md) +- [ADRs](./adr) diff --git a/docs/architecture.md b/docs/architecture.md index 47ac9ea1..19f6b8f7 100644 --- a/docs/architecture.md +++ b/docs/architecture.md @@ -22,6 +22,7 @@ contracts/ 04-channel/ … ics-04 24-host/ … ics-24 25-handler/ … ics-25 + 26-router/ … ics-26 proto/ … code generated by solidity-protobuf ``` @@ -74,7 +75,7 @@ You can support any light client via developing a contract that implements [ILig The registered light client can be instantiated by `createClient`, which can be used to verify the handshake process to establish connections and channels. -Different from ibc-go, the light client contract keeps the state in own contract storage in ibc-solidity. This is an optimization based on the high cost of serialization state and read/write storage in solidity. For this reason, `createClient` and `updateClient` only return a commitment. +Different from ibc-go, the light client contract keeps the state in own contract storage in ibc-solidity. This is an optimization based on the high cost of serialization state and read/write storage in solidity. For this reason, `createClient` and `updateClient` only return a commitment instead of the state. ## Applications @@ -142,4 +143,4 @@ The packet sending flow using the `EchoApp` is the following: Also, an App can define callback functions for state transitions in the channel handshake. See [IIBCModule interface](../contracts/core/26-router/IIBCModule.sol) for more details. -Further example implementations are [ICS-20 implementation](../contracts/apps/20-transfer) and a [tutorial](https://labs.hyperledger.org/yui-docs/yui-ibc-solidity/minitoken/overview) that describes e2e packet relay using a small IBC-App called minitoken. +Further example implementations are [ICS-20 implementation](../contracts/apps/20-transfer) and a [tutorial](https://labs.hyperledger.org/yui-docs/yui-ibc-solidity/minitoken/overview) that describes e2e packet relay using a simple IBC-App called minitoken.