-
Notifications
You must be signed in to change notification settings - Fork 3.6k
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
docs: update learn/intro #22046
docs: update learn/intro #22046
Conversation
📝 WalkthroughWalkthroughThe pull request includes multiple updates to documentation files within the Cosmos SDK. Key changes involve enhancing clarity, consistency, and grammatical accuracy across several documents. Notable adjustments include updating links for CometBFT, refining explanations of blockchain architecture components, and improving readability through rephrasing and punctuation. The documents affected include Changes
Possibly related issues
Possibly related PRs
Suggested labels
Suggested reviewers
Thank you for using CodeRabbit. We offer it for free to the OSS community and would appreciate your support in helping us grow. If you find it useful, would you consider giving us a shout-out on your favorite social media? 🪧 TipsChatThere are 3 ways to chat with CodeRabbit:
Note: Be mindful of the bot's finite context window. It's strongly recommended to break down tasks such as reading entire modules into smaller chunks. For a focused discussion, use review comments to chat about specific files and their changes, instead of using the PR comments. CodeRabbit Commands (Invoked using PR comments)
Other keywords and placeholders
Documentation and Community
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 0
🧹 Outside diff range and nitpick comments (12)
docs/learn/intro/03-sdk-design.md (1)
64-66
: Improved consistency and clarity in Modules sectionThe standardization of "Proof-of-Stake" terminology and the rewording of the custom modules paragraph enhance the consistency and clarity of the document. These changes make the information more accessible to users.
Consider adding a brief example or link to documentation about creating custom modules to further assist users interested in extending the Cosmos SDK.
docs/learn/intro/00-overview.md (3)
18-18
: Improved clarity with concise analogyThe revised sentence effectively uses the Lego kit analogy to explain the SDK's flexibility. It's more concise and clearer than the previous version.
Consider adding a brief introductory phrase to smooth the transition:
-You can think of the SDK as a lego kit. You can choose to build the basic house from the instructions, or you can choose to modify your house and add more floors, more doors, more windows. The choice is yours. +To illustrate, you can think of the SDK as a Lego kit. You can choose to build the basic house from the instructions, or you can choose to modify your house and add more floors, more doors, more windows. The choice is yours.
30-30
: Comprehensive explanation of modularity with minor grammatical suggestionThe paragraph effectively explains the concept of modularity in blockchain development and how the Cosmos SDK enables it. The examples provided are clear and relevant.
Add a comma after "For example" for better readability:
-Today, there is a lot of talk around modularity and discussions between monolithic and modular. Originally, the Cosmos SDK was built with a vision of modularity in mind. Modularity is derived from splitting a blockchain into customizable layers of execution, consensus, settlement and data availability, which is what the Cosmos SDK enables. This means that developers can plug and play, making their blockchain customizable by using different software for different layers. For example you can choose to build a vanilla chain and use the Cosmos SDK with CometBFT. CometBFT will be your consensus layer and the chain itself would be the settlement and execution layer. Another route could be to use the SDK with Rollkit and [Celestia](https://celestia.org/) as your consensus and data availability layer. The benefit of modularity is that you can customize your chain to your specific use case. +Today, there is a lot of talk around modularity and discussions between monolithic and modular. Originally, the Cosmos SDK was built with a vision of modularity in mind. Modularity is derived from splitting a blockchain into customizable layers of execution, consensus, settlement and data availability, which is what the Cosmos SDK enables. This means that developers can plug and play, making their blockchain customizable by using different software for different layers. For example, you can choose to build a vanilla chain and use the Cosmos SDK with CometBFT. CometBFT will be your consensus layer and the chain itself would be the settlement and execution layer. Another route could be to use the SDK with Rollkit and [Celestia](https://celestia.org/) as your consensus and data availability layer. The benefit of modularity is that you can customize your chain to your specific use case.
36-37
: Informative points with minor suggestions for improvementThese bullet points effectively highlight the flexibility and strength of the Cosmos SDK, particularly in terms of consensus layer customization and the use of CometBFT.
Consider the following minor improvements:
- Add a period at the end of the first bullet point for consistency.
- Rephrase the beginning of the second bullet point for clarity.
-* It allows you to plug and play and customize your consensus layer. As mentioned above, you can use Rollkit and Celestia as your consensus and data availability layer. This offers a lot of flexibility and customization -* Previously the default consensus engine available within the Cosmos SDK is [CometBFT](https://cometbft.com/). CometBFT is the most (and only) mature BFT consensus engine in existence. It is widely used across the industry and is considered the gold standard consensus engine for building Proof-of-Stake systems. +* It allows you to plug and play and customize your consensus layer. As mentioned above, you can use Rollkit and Celestia as your consensus and data availability layer. This offers a lot of flexibility and customization. +* The default consensus engine previously available within the Cosmos SDK is [CometBFT](https://cometbft.com/). CometBFT is the most (and only) mature BFT consensus engine in existence. It is widely used across the industry and is considered the gold standard consensus engine for building Proof-of-Stake systems.🧰 Tools
🪛 LanguageTool
[uncategorized] ~37-~37: Possible missing comma found.
Context: ...ot of flexibility and customization. * Previously the default consensus engine available ...(AI_HYDRA_LEO_MISSING_COMMA)
[style] ~37-~37: ‘in existence’ might be wordy. Consider a shorter alternative.
Context: ... (and only) mature BFT consensus engine in existence. It is widely used across the industry ...(EN_WORDINESS_PREMIUM_IN_EXISTENCE)
docs/learn/intro/02-sdk-app-architecture.md (8)
Line range hint
1-24
: Excellent introduction and visual representation!The expanded introduction provides a comprehensive overview of blockchain architecture, effectively setting the stage for the detailed explanations that follow. The inclusion of the mermaid diagram is particularly helpful in visualizing the modular SDK blockchain architecture.
Consider adding a brief legend or description below the mermaid diagram to explain what each layer represents. This would further enhance the reader's understanding of the architecture at a glance.
🧰 Tools
🪛 LanguageTool
[style] ~59-~59: Consider replacing ‘gives’ with a different word to let your writing stand out.
Context: ...h the same final state. The Cosmos SDK gives developers maximum flexibility to define the state...(GIVE_TIME_STYLE)
Line range hint
26-57
: Great improvements to the Execution Layer explanation!The expanded content and added diagrams significantly enhance the explanation of the state machine concept. The mermaid diagrams effectively illustrate state transitions and block processing, making these concepts more accessible to readers.
In the explanation of deterministic state machines (line 57), consider adding a brief mention of why determinism is crucial in a blockchain context. For example, you could add: "This determinism is essential for maintaining consensus across all nodes in the network."
🧰 Tools
🪛 LanguageTool
[style] ~59-~59: Consider replacing ‘gives’ with a different word to let your writing stand out.
Context: ...h the same final state. The Cosmos SDK gives developers maximum flexibility to define the state...(GIVE_TIME_STYLE)
Line range hint
59-65
: Excellent addition of the Settlement Layer section!This new section provides crucial information about the role of the Settlement Layer in blockchain architecture. The explanation of externalization and the introduction of concepts like fraud proofs and validity proofs add significant value to the documentation.
To enhance clarity, consider adding a brief example or use case that illustrates when and why one might choose to externalize the settlement layer. This could help readers better understand the practical implications of this architectural choice.
🧰 Tools
🪛 LanguageTool
[style] ~59-~59: Consider replacing ‘gives’ with a different word to let your writing stand out.
Context: ...h the same final state. The Cosmos SDK gives developers maximum flexibility to define the state...(GIVE_TIME_STYLE)
Line range hint
67-118
: Great updates to the Consensus Layer section!The revisions to this section effectively communicate the recent changes in the Cosmos SDK, particularly the shift towards allowing users to integrate their own consensus engines. The detailed explanation of CometBFT's consensus process provides valuable insights for developers.
To make this section even more comprehensive, consider adding a brief mention of the trade-offs or considerations developers should keep in mind when choosing between different consensus engines. This could help readers understand the implications of this newfound flexibility.
🧰 Tools
🪛 LanguageTool
[uncategorized] ~120-~120: Loose punctuation mark.
Context: ...rtant messages of the ABCI: *CheckTx
: When a transaction is received by Comet...(UNLIKELY_OPENING_PUNCTUATION)
[uncategorized] ~120-~120: Possible missing comma found.
Context: ... used to execute a series of validation steps such as checking for sufficient fees an...(AI_HYDRA_LEO_MISSING_COMMA)
[uncategorized] ~121-~121: Loose punctuation mark.
Context: ...n included in a block yet. *DeliverTx
: When a [valid block](https://docs.comet...(UNLIKELY_OPENING_PUNCTUATION)
[style] ~121-~121: Consider a shorter alternative to avoid wordiness.
Context: ...ssed to the application viaDeliverTx
in order to be processed. It is during this stage t...(IN_ORDER_TO_PREMIUM)
[uncategorized] ~122-~122: Possible missing comma found.
Context: ...omatic execution of logic. Proceed with caution though, as computationally expensive lo...(AI_HYDRA_LEO_MISSING_COMMA)
Line range hint
120-134
: Clear and informative explanation of ABCI!This section provides a concise yet comprehensive overview of the Application Blockchain Interface (ABCI) and its key messages. The explanations of CheckTx, DeliverTx, BeginBlock, and EndBlock are particularly helpful for understanding the interaction between CometBFT and the application.
To enhance clarity, consider adding a brief sentence explaining why ABCI is important in the context of the Cosmos SDK. For example: "ABCI is crucial as it allows the Cosmos SDK to be consensus-agnostic, enabling developers to use different consensus engines with their applications."
🧰 Tools
🪛 LanguageTool
[uncategorized] ~120-~120: Loose punctuation mark.
Context: ...rtant messages of the ABCI: *CheckTx
: When a transaction is received by Comet...(UNLIKELY_OPENING_PUNCTUATION)
[uncategorized] ~120-~120: Possible missing comma found.
Context: ... used to execute a series of validation steps such as checking for sufficient fees an...(AI_HYDRA_LEO_MISSING_COMMA)
[uncategorized] ~121-~121: Loose punctuation mark.
Context: ...n included in a block yet. *DeliverTx
: When a [valid block](https://docs.comet...(UNLIKELY_OPENING_PUNCTUATION)
[style] ~121-~121: Consider a shorter alternative to avoid wordiness.
Context: ...ssed to the application viaDeliverTx
in order to be processed. It is during this stage t...(IN_ORDER_TO_PREMIUM)
[uncategorized] ~122-~122: Possible missing comma found.
Context: ...omatic execution of logic. Proceed with caution though, as computationally expensive lo...(AI_HYDRA_LEO_MISSING_COMMA)
136-137
: Excellent addition of the Data Availability Layer section!This new section provides crucial information about the role of the Data Availability (DA) Layer in blockchain architecture. The example using Rollkit and Celestia effectively illustrates the concepts in a practical context, and the explanation of the transaction validation process is clear and informative.
To enhance clarity, consider adding a brief explanation of why data availability is particularly important in the context of rollups or layer-2 solutions. This could help readers better understand the significance of this layer in modern blockchain architectures.
Line range hint
139-141
: Concise and informative explanation of the Interoperability Layer!This section effectively communicates the importance of interoperability in blockchain ecosystems and highlights the role of the Inter-Blockchain Communication (IBC) protocol in achieving this. The link to the IBC documentation is a valuable addition for readers seeking more information.
To make this section even more informative, consider adding a brief example or use case that illustrates the benefits of interoperability in practice. This could help readers better understand the real-world implications of this architectural layer.
🧰 Tools
🪛 LanguageTool
[formatting] ~138-~138: Consider inserting a comma after an introductory phrase for better readability.
Context: ...hancing their functionality and reach. In this case we have separated the layers even furth...(IN_THAT_CASE_COMMA)
[grammar] ~139-~139: The word “make-up” is a noun. The verb is spelled with a space.
Context: ...o really illustrate the components that make-up the blockchain architecture and it is i...(NOUN_VERB_CONFUSION)
[uncategorized] ~139-~139: Use a comma before ‘and’ if it connects two independent clauses (unless they are closely connected and short).
Context: ...that make-up the blockchain architecture and it is important to note that the Cosmos...(COMMA_COMPOUND_SENTENCE)
Line range hint
120-141
: Address minor grammatical and punctuation issuesPlease consider the following corrections based on the static analysis hints:
- Line 120: Add a space after the colon before the bullet point.
- Line 139: Change "make-up" to "make up" as it's being used as a verb.
- Line 139: Add a comma before "and" in the compound sentence: "...that make up the blockchain architecture, and it is important to note that..."
These minor corrections will improve the overall readability and grammatical correctness of the document.
🧰 Tools
🪛 LanguageTool
[uncategorized] ~120-~120: Loose punctuation mark.
Context: ...rtant messages of the ABCI: *CheckTx
: When a transaction is received by Comet...(UNLIKELY_OPENING_PUNCTUATION)
[uncategorized] ~120-~120: Possible missing comma found.
Context: ... used to execute a series of validation steps such as checking for sufficient fees an...(AI_HYDRA_LEO_MISSING_COMMA)
[uncategorized] ~121-~121: Loose punctuation mark.
Context: ...n included in a block yet. *DeliverTx
: When a [valid block](https://docs.comet...(UNLIKELY_OPENING_PUNCTUATION)
[style] ~121-~121: Consider a shorter alternative to avoid wordiness.
Context: ...ssed to the application viaDeliverTx
in order to be processed. It is during this stage t...(IN_ORDER_TO_PREMIUM)
[uncategorized] ~122-~122: Possible missing comma found.
Context: ...omatic execution of logic. Proceed with caution though, as computationally expensive lo...(AI_HYDRA_LEO_MISSING_COMMA)
📜 Review details
Configuration used: .coderabbit.yml
Review profile: CHILL
📒 Files selected for processing (4)
- docs/learn/intro/00-overview.md (2 hunks)
- docs/learn/intro/02-sdk-app-architecture.md (3 hunks)
- docs/learn/intro/03-sdk-design.md (3 hunks)
- docs/learn/learn.md (1 hunks)
✅ Files skipped from review due to trivial changes (1)
- docs/learn/learn.md
🧰 Additional context used
📓 Path-based instructions (3)
docs/learn/intro/00-overview.md (1)
Pattern
**/*.md
: "Assess the documentation for misspellings, grammatical errors, missing documentation and correctness"docs/learn/intro/02-sdk-app-architecture.md (1)
Pattern
**/*.md
: "Assess the documentation for misspellings, grammatical errors, missing documentation and correctness"docs/learn/intro/03-sdk-design.md (1)
Pattern
**/*.md
: "Assess the documentation for misspellings, grammatical errors, missing documentation and correctness"
🪛 LanguageTool
docs/learn/intro/00-overview.md
[style] ~16-~16: Consider an alternative adjective to strengthen your wording.
Context: ... of interactions between modules. For a deeper look at capabilities, jump to [Object-C...(DEEP_PROFOUND)
[uncategorized] ~37-~37: Possible missing comma found.
Context: ...ot of flexibility and customization. * Previously the default consensus engine available ...(AI_HYDRA_LEO_MISSING_COMMA)
[style] ~37-~37: ‘in existence’ might be wordy. Consider a shorter alternative.
Context: ... (and only) mature BFT consensus engine in existence. It is widely used across the industry ...(EN_WORDINESS_PREMIUM_IN_EXISTENCE)
docs/learn/intro/02-sdk-app-architecture.md
[uncategorized] ~120-~120: Loose punctuation mark.
Context: ...rtant messages of the ABCI: *CheckTx
: When a transaction is received by Comet...(UNLIKELY_OPENING_PUNCTUATION)
[uncategorized] ~120-~120: Possible missing comma found.
Context: ... used to execute a series of validation steps such as checking for sufficient fees an...(AI_HYDRA_LEO_MISSING_COMMA)
[grammar] ~139-~139: The word “make-up” is a noun. The verb is spelled with a space.
Context: ...o really illustrate the components that make-up the blockchain architecture and it is i...(NOUN_VERB_CONFUSION)
[uncategorized] ~139-~139: Use a comma before ‘and’ if it connects two independent clauses (unless they are closely connected and short).
Context: ...that make-up the blockchain architecture and it is important to note that the Cosmos...(COMMA_COMPOUND_SENTENCE)
🔇 Additional comments (5)
docs/learn/intro/03-sdk-design.md (3)
Line range hint
1-24
: Improved clarity in introduction and transaction handling descriptionThe changes in this section enhance the readability and clarity of the introduction and transaction handling process. The emphasis on the framework's role in developing secure state machines on CometBFT is well-articulated, and the transaction handling steps are presented with improved phrasing.
🧰 Tools
🪛 LanguageTool
[uncategorized] ~28-~28: Possible missing comma found.
Context: ...ween the store and the extensible state machine while defining as little about the stat...(AI_HYDRA_LEO_MISSING_COMMA)
36-36
: Minor grammatical improvementThe addition of a period at the end of the sentence in the
Multistore
section improves the document's professionalism. This change enhances readability without altering the technical content.
25-25
: Updated reference link to latest versionThe reference link has been updated to point to the latest version (
v0.52.0-beta.1
) of thesimapp
implementation. This change ensures that users are directed to the most current example.Please verify that the link is correct and accessible:
✅ Verification successful
Link Verification Successful
The updated reference link (
v0.52.0-beta.1
simapp implementation) is accessible and correct.🏁 Scripts executed
The following scripts were executed for the analysis:
Script:
#!/bin/bash # Verify the updated GitHub link curl -I https://github.com/cosmos/cosmos-sdk/blob/v0.52.0-beta.1/simapp/app.goLength of output: 5015
docs/learn/intro/00-overview.md (2)
12-12
: LGTM: Clear explanation of modularityThe added sentence effectively explains the modular approach of the Cosmos SDK, highlighting the flexibility in choosing consensus engines. The examples provided (CometBFT and Rollkit) are relevant and the links are correct.
40-40
: Updated and relevant examples providedThe list of blockchain projects built using the Cosmos SDK has been appropriately updated to reflect current, prominent examples. This change keeps the documentation relevant and showcases the diverse applications of the Cosmos SDK.
(cherry picked from commit adb4c5a)
Description
Ref:
#21429
Author Checklist
All items are required. Please add a note to the item if the item is not applicable and
please add links to any relevant follow up issues.
I have...
!
in the type prefix if API or client breaking changeCHANGELOG.md
Reviewers Checklist
All items are required. Please add a note if the item is not applicable and please add
your handle next to the items reviewed if you only reviewed selected items.
Please see Pull Request Reviewer section in the contributing guide for more information on how to review a pull request.
I have...
Summary by CodeRabbit