feat: adding rust client tutorial - #1582
Conversation
|
Warning Rate limit exceeded@jcstein has exceeded the limit for the number of commits or files that can be reviewed per hour. Please wait 51 minutes and 26 seconds before requesting another review. How to resolve this issue?After the wait time has elapsed, a review can be triggered using the We recommend that you space out your commits to avoid hitting the rate limit. How do rate limits work?CodeRabbit enforces hourly rate limits for each developer per organization. Our paid plans have higher rate limits than the trial, open-source and free plans. In all cases, we re-allow further reviews after a brief timeout. Please see our FAQ for further information. WalkthroughA new tutorial for using Lumina's Rust client library has been introduced, detailing how to interact with common RPC endpoints. This tutorial includes sections on project setup, submitting and retrieving blobs, subscribing to new headers, and fetching an Extended Data Square (EDS). Additionally, an update in the Golang client tutorial redirects users from a "Prompt Scavenger" page to a "Rust Client Library Tutorial" page. Changes
Sequence Diagram(s)sequenceDiagram
participant User
participant GolangClient
participant RustTutorial
participant RustClient
User->>GolangClient: Visit Golang tutorial
GolangClient->>RustTutorial: Redirect to Rust tutorial
User->>RustTutorial: Follow Rust tutorial setup
RustTutorial->>RustClient: Use submit_blob, subscribe_headers, get_eds functions
RustClient-->>RustTutorial: Receive responses
Note over User,RustTutorial: Workflow showing new features in RustTutorial
Poem
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 as PR comments)
Additionally, you can add CodeRabbit Configration File (
|
|
There was a problem hiding this comment.
Actionable comments posted: 1
Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
Files selected for processing (2)
- developers/golang-client-tutorial.md (1 hunks)
- developers/rust-client-tutorial.md (1 hunks)
Additional context used
LanguageTool
developers/golang-client-tutorial.md
[style] ~23-~23: Three successive sentences begin with the same word. Consider rewording the sentence or use a thesaurus to find a synonym. (ENGLISH_WORD_REPEAT_BEGINNING_RULE)
Context: ... need the node URL and your auth token. To get your auth token, see this [guide](....
[style] ~23-~23: Three successive sentences begin with the same word. Consider rewording the sentence or use a thesaurus to find a synonym. (ENGLISH_WORD_REPEAT_BEGINNING_RULE)
Context: ...guide. To run your node without an auth token, yo...developers/rust-client-tutorial.md
[style] ~23-~23: Three successive sentences begin with the same word. Consider rewording the sentence or use a thesaurus to find a synonym. (ENGLISH_WORD_REPEAT_BEGINNING_RULE)
Context: ... need the node URL and your auth token. To get your auth token, see this [guide](....
[style] ~23-~23: Three successive sentences begin with the same word. Consider rewording the sentence or use a thesaurus to find a synonym. (ENGLISH_WORD_REPEAT_BEGINNING_RULE)
Context: ...guide. To run your node without an auth token, yo...
[uncategorized] ~35-~35: You might be missing the article “an” here. (AI_EN_LECTOR_MISSING_DETERMINER_AN)
Context: ...#blob.GetAll) method takes a height and array of namespaces, returning the array of b...
Markdownlint
developers/golang-client-tutorial.md
39-39: Column: 1 (MD010, no-hard-tabs)
Hard tabs
40-40: Column: 1 (MD010, no-hard-tabs)
Hard tabs
41-41: Column: 1 (MD010, no-hard-tabs)
Hard tabs
43-43: Column: 1 (MD010, no-hard-tabs)
Hard tabs
44-44: Column: 1 (MD010, no-hard-tabs)
Hard tabs
45-45: Column: 1 (MD010, no-hard-tabs)
Hard tabs
50-50: Column: 1 (MD010, no-hard-tabs)
Hard tabs
51-51: Column: 1 (MD010, no-hard-tabs)
Hard tabs
52-52: Column: 1 (MD010, no-hard-tabs)
Hard tabs
53-53: Column: 1 (MD010, no-hard-tabs)
Hard tabs
55-55: Column: 1 (MD010, no-hard-tabs)
Hard tabs
56-56: Column: 1 (MD010, no-hard-tabs)
Hard tabs
57-57: Column: 1 (MD010, no-hard-tabs)
Hard tabs
58-58: Column: 1 (MD010, no-hard-tabs)
Hard tabs
59-59: Column: 1 (MD010, no-hard-tabs)
Hard tabs
61-61: Column: 1 (MD010, no-hard-tabs)
Hard tabs
62-62: Column: 1 (MD010, no-hard-tabs)
Hard tabs
63-63: Column: 1 (MD010, no-hard-tabs)
Hard tabs
64-64: Column: 1 (MD010, no-hard-tabs)
Hard tabs
65-65: Column: 1 (MD010, no-hard-tabs)
Hard tabs
67-67: Column: 1 (MD010, no-hard-tabs)
Hard tabs
68-68: Column: 1 (MD010, no-hard-tabs)
Hard tabs
69-69: Column: 1 (MD010, no-hard-tabs)
Hard tabs
70-70: Column: 1 (MD010, no-hard-tabs)
Hard tabs
71-71: Column: 1 (MD010, no-hard-tabs)
Hard tabs
73-73: Column: 1 (MD010, no-hard-tabs)
Hard tabs
75-75: Column: 1 (MD010, no-hard-tabs)
Hard tabs
76-76: Column: 1 (MD010, no-hard-tabs)
Hard tabs
77-77: Column: 1 (MD010, no-hard-tabs)
Hard tabs
78-78: Column: 1 (MD010, no-hard-tabs)
Hard tabs
79-79: Column: 1 (MD010, no-hard-tabs)
Hard tabs
81-81: Column: 1 (MD010, no-hard-tabs)
Hard tabs
82-82: Column: 1 (MD010, no-hard-tabs)
Hard tabs
97-97: Column: 1 (MD010, no-hard-tabs)
Hard tabs
98-98: Column: 1 (MD010, no-hard-tabs)
Hard tabs
99-99: Column: 1 (MD010, no-hard-tabs)
Hard tabs
100-100: Column: 1 (MD010, no-hard-tabs)
Hard tabs
102-102: Column: 1 (MD010, no-hard-tabs)
Hard tabs
103-103: Column: 1 (MD010, no-hard-tabs)
Hard tabs
104-104: Column: 1 (MD010, no-hard-tabs)
Hard tabs
105-105: Column: 1 (MD010, no-hard-tabs)
Hard tabs
106-106: Column: 1 (MD010, no-hard-tabs)
Hard tabs
108-108: Column: 1 (MD010, no-hard-tabs)
Hard tabs
109-109: Column: 1 (MD010, no-hard-tabs)
Hard tabs
110-110: Column: 1 (MD010, no-hard-tabs)
Hard tabs
111-111: Column: 1 (MD010, no-hard-tabs)
Hard tabs
112-112: Column: 1 (MD010, no-hard-tabs)
Hard tabs
114-114: Column: 1 (MD010, no-hard-tabs)
Hard tabs
115-115: Column: 1 (MD010, no-hard-tabs)
Hard tabs
116-116: Column: 1 (MD010, no-hard-tabs)
Hard tabs
117-117: Column: 1 (MD010, no-hard-tabs)
Hard tabs
118-118: Column: 1 (MD010, no-hard-tabs)
Hard tabs
119-119: Column: 1 (MD010, no-hard-tabs)
Hard tabs
120-120: Column: 1 (MD010, no-hard-tabs)
Hard tabs
121-121: Column: 1 (MD010, no-hard-tabs)
Hard tabs
123-123: Column: 1 (MD010, no-hard-tabs)
Hard tabs
124-124: Column: 1 (MD010, no-hard-tabs)
Hard tabs
125-125: Column: 1 (MD010, no-hard-tabs)
Hard tabs
126-126: Column: 1 (MD010, no-hard-tabs)
Hard tabs
127-127: Column: 1 (MD010, no-hard-tabs)
Hard tabs
138-138: Column: 1 (MD010, no-hard-tabs)
Hard tabs
139-139: Column: 1 (MD010, no-hard-tabs)
Hard tabs
140-140: Column: 1 (MD010, no-hard-tabs)
Hard tabs
141-141: Column: 1 (MD010, no-hard-tabs)
Hard tabs
143-143: Column: 1 (MD010, no-hard-tabs)
Hard tabs
144-144: Column: 1 (MD010, no-hard-tabs)
Hard tabs
145-145: Column: 1 (MD010, no-hard-tabs)
Hard tabs
146-146: Column: 1 (MD010, no-hard-tabs)
Hard tabs
147-147: Column: 1 (MD010, no-hard-tabs)
Hard tabs
149-149: Column: 1 (MD010, no-hard-tabs)
Hard tabs
150-150: Column: 1 (MD010, no-hard-tabs)
Hard tabs
Additional comments not posted (4)
developers/golang-client-tutorial.md (1)
3-4: Update the next link and text to point to the Rust Client Library Tutorial.This change aligns with the PR's objective to introduce the Rust tutorial alongside the existing Golang tutorial.
developers/rust-client-tutorial.md (3)
42-70: Review thesubmit_blobfunction for correctness and best practices.The function correctly handles asynchronous operations, error handling, and demonstrates proper usage of the library's functionality.
78-116: Review thesubscribe_headersfunction for correctness and best practices.The function uses modern Rust async features effectively, handles errors gracefully, and logs appropriate messages, which are good practices for robust error handling and user feedback.
125-140: Review theget_edsfunction for correctness and best practices.The function is well-structured, uses async-await properly, and includes comprehensive error handling. This is crucial for maintaining the reliability of the application.
Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
There was a problem hiding this comment.
Actionable comments posted: 3
Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
Files selected for processing (1)
- developers/rust-client-tutorial.md (1 hunks)
Additional context used
LanguageTool
developers/rust-client-tutorial.md
[style] ~23-~23: Three successive sentences begin with the same word. Consider rewording the sentence or use a thesaurus to find a synonym. (ENGLISH_WORD_REPEAT_BEGINNING_RULE)
Context: ... need the node URL and your auth token. To get your auth token, see this [guide](....
[style] ~23-~23: Three successive sentences begin with the same word. Consider rewording the sentence or use a thesaurus to find a synonym. (ENGLISH_WORD_REPEAT_BEGINNING_RULE)
Context: ...guide. To run your node without an auth token, yo...
Additional comments not posted (1)
developers/rust-client-tutorial.md (1)
23-23: Consider rephrasing to avoid repetitive sentence beginnings.
[REFACTOR_SUGGESTion]- To use the following methods, you will need the node URL and your auth token. To get your auth token, see this [guide](./node-tutorial.md#auth-token). To run your node without an auth token, you can use the `--rpc.skip-auth` flag when starting your node. + To use the following methods, you will need the node URL and your auth token, which you can obtain following this [guide](./node-tutorial.md#auth-token). If you prefer to run your node without an auth token, use the `--rpc.skip-auth` flag when starting your node.Tools
LanguageTool
[style] ~23-~23: Three successive sentences begin with the same word. Consider rewording the sentence or use a thesaurus to find a synonym. (ENGLISH_WORD_REPEAT_BEGINNING_RULE)
Context: ... need the node URL and your auth token. To get your auth token, see this [guide](....
[style] ~23-~23: Three successive sentences begin with the same word. Consider rewording the sentence or use a thesaurus to find a synonym. (ENGLISH_WORD_REPEAT_BEGINNING_RULE)
Context: ...guide. To run your node without an auth token, yo...
This is just an idea, so its in draft. I don't really know how or even IF we should add a rust client tutorial, given that the library is not maintained by us. However, I have encountered more people building on node with rust in the wild than with go, so we should think about it.
It is basically identical to the golang client tutorial, except the code snippets of course, so maybe tabs might work (but @jcstein mentioned something about the framework we use not having a good tab impl?) but we'll see. Just posting the work here as a checkpoint
https://celestiaorg.github.io/docs-preview/pr-1582/developers/rust-client-tutorial
Summary by CodeRabbit