-
Notifications
You must be signed in to change notification settings - Fork 373
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
Make TM2 independent from GnoVM #692
Milestone
Comments
Closed
7 tasks
moul
added a commit
that referenced
this issue
Aug 31, 2023
<!-- please provide a detailed description of the changes made in this pull request. --> <details><summary>Original text from #825</summary> <p> # Description Part of #692 #585 BREAKING CHANGE: In GitHub Action Flow, the build script needs to be updated on moving tm2txsync from tm2/cmd to gno.land/cmd ## gno.land/ It provides information and tools necessary for running gno.land node. It includes - a node application for starting gnoland nodes to deliver an RPC endpoint - gnoweb for web access to the chain. - tools to interact with gno nodes. - a cosmos SDK gno VM module with keeper and handler. In the future, we plan to consolidate tools for node deployment and monitoring. The future plan also includes supporting both IBC and ICS. ## gnovm/ Gnovm is agnostic to any SDK or chain. It is intended for gno contract developers and gno VM developers. It includes - a gno development CLI - gnolang language - virtual machine implementation. - standard libraries for gno contracts, - examples and test cases. Future plans include making gnovm compatible with IBC ## tm2/ Tendermint2 is a BFT consensus engine and a set of tools for blockchain builders More details can be found at [https://github.com/tendermint/tendermint2#readme](https://github.com/tendermint/tendermint2#readme) In the future, tm2 plans to: - Remain synchronized with the tendermint2 repository. - Port issue fixes between Tendermint v0.23.4 and v0.34. - Ensure compatibility with IBC and ABCI2. # The dependences among tm2, gnovm and gno.land - gno.land depends on tm2 and gnovm - gnovm depends on tm2 - tm2 is independent to gnovm and gno.land ```mermaid flowchart LR A[gno.land]--> B[gnovm] --> C[tm2] A --> C ``` # Discussion ## client commands We aim to establish a clear dependency structure between these components as outlined earlier. Ideally we'd like to have clear dependency between these components as listed above At present, tm2/pkg/crypto/keys/client/root.go is dependent on gno.land/pkg/sdk/vm. We're considering moving the following commands to gno.land/cmd/gnokey/ and eliminating the newMakeTxCmd() from cmd.AddSubCommands() in tm2/pkg/crypto/client/root.go: - addpkg.go - call.go - send.go - maketx.go However, these files rely on the private config structure and private methods defined in tm2/pkg/crypto/keys/client/. Until we decide the next steps, these files will remain in tm2, which means that tm2/ continues to depend on gno.lang/ for now. ## genproto As for the genproto, we need to decide where misc/genproto/genproto.go should be placed. ## sample tendermint2 program Since we've moved out applications that depend on gno in tm2, we need to consider whether we should reintroduce the sample tendermint application or create a new one. [tendermint classic main.go](https://github.com/tendermint/classic/tree/master/cmd/tendermint) </p> </details> <details><summary>Contributors' checklist...</summary> - [ ] Added new tests, or not needed, or not feasible - [ ] Provided an example (e.g. screenshot) to aid review or the PR is self-explanatory - [ ] Updated the official documentation or not needed - [ ] No breaking changes were made, or a `BREAKING CHANGE: xxx` message was included in the description - [ ] Added references to related issues and PRs - [ ] Provided any useful hints for running manual tests - [ ] Added new benchmarks to [generated graphs](https://gnoland.github.io/benchmarks), if any. More info [here](https://github.com/gnolang/gno/blob/master/.benchmarks/README.md). </details> --------- Co-authored-by: piux2 <> Co-authored-by: Manfred Touron <[email protected]>
Closed
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Continues #585
tm2/pkg/sdk/vm
andpkg/crypto/keys/client
parts depending ongnovm
either ingnovm
orgno.land
. @piux2go mod workspaces
.tm2
demochain
+client
(done in chore: post-split cleanups tendermint/tendermint2#1). @moulThe text was updated successfully, but these errors were encountered: