-
Notifications
You must be signed in to change notification settings - Fork 352
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Implement mock cosmos chain using ibc-rs
, tendermint-rs
and basecoin
libs
#3566
Closed
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
5 tasks
Co-authored-by: Sean Chen <[email protected]> Signed-off-by: Farhad Shabani <[email protected]>
Co-authored-by: Sean Chen <[email protected]> Signed-off-by: Farhad Shabani <[email protected]>
7 tasks
This PR has been moved to informalsystems/hermes-sdk#40 |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Closes: informalsystems/hermes-sdk#24
Context
Given improvements made to
basecoin-rs
(turning it into a library and moving the store types and implementations into a separate crate from the application part), It became possible to implement a mock cosmos chain.Concerning the consensus engine, a simple block production engine has been used. Without needing to go through the entire voting, validation, transaction, etc. processes that a CometBFT engine requires. This is achieved using the
tendermint-rs
crates (specificallytendermint-testgen
).As for the application itself, the necessary modules (Authentication, Bank, and IBC) have been imported from the
basecoin_app
crate. This has resulted in a fully operational ibc-rs that can be run in a lightweight in-memory manner.In terms of the store part, the benefit of the in-memory AVL store implementation within
basecoin_store
can now be realized, which enables proof verification.Within this PR, tests for creating and updating clients are included, and further tests can be added perhaps in separate PRs.
This implementation can serve as a foundation for developing a new mock module in ibc-rs. Additionally, it can be leveraged as an exemplary implementation for the ongoing development of the ibc-rs doc portal.
PR author checklist:
unclog
.docs/
).Reviewer checklist:
Files changed
in the GitHub PR explorer.