docs: add tutorials [skip-line-limit]#1521
Conversation
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
|
Warning Rate limit exceeded
Your organization is not enrolled in usage-based pricing. Contact your admin to enable usage-based pricing to continue reviews beyond the rate limit, or try again in 49 minutes and 5 seconds. ⌛ 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. ℹ️ Review info⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: CHILL Plan: Pro Run ID: 📒 Files selected for processing (3)
📝 WalkthroughWalkthroughThe PR introduces a comprehensive tutorials section to the documentation site, adding metadata navigation and eight new tutorial pages covering topics including custom Noir circuits, testnet deployment, encryption workflows, ticket management, operator troubleshooting, dashboard usage, and E3 program development. Additionally, it updates documented hardware requirements for ciphernode operators. Changes
Estimated code review effort🎯 2 (Simple) | ⏱️ ~20 minutes Possibly related PRs
Suggested labels
Suggested reviewers
Poem
🚥 Pre-merge checks | ✅ 3✅ Passed checks (3 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
|
@coderabbitai review |
✅ Actions performedReview triggered.
|
There was a problem hiding this comment.
Actionable comments posted: 3
🧹 Nitpick comments (3)
docs/pages/tutorials/_meta.json (1)
22-26: Minor title inconsistencies in the nav.
using-the-dashboard→ labeled"Node Dashboard"(the page itself is titled accordingly, fine).manage-tickets→ labeled"Manage Tickets"here, but the page front‑matter title is"Manage Tickets & Optimise Selection". Not strictly a bug (nav labels can be shorter), but worth aligning if you want consistent breadcrumbs/titles.🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@docs/pages/tutorials/_meta.json` around lines 22 - 26, The nav JSON has inconsistent titles for keys "using-the-dashboard" and "manage-tickets"; update the "manage-tickets" entry in docs/pages/tutorials/_meta.json so its "title" matches the page front‑matter ("Manage Tickets & Optimise Selection") (or alternatively change the page front‑matter to the shorter "Manage Tickets" if you prefer the short nav label) to keep breadcrumbs and displayed titles consistent across the site.docs/pages/tutorials/manage-tickets.mdx (1)
97-99: Heads-up on field naming shown byenclave ciphernode status.Per
crates/cli/src/ciphernode/lifecycle.rs, the human-readable output printsminTickets=..., notminTicketBalance. The tutorial consistently usesminTicketBalance(which matches the contract method name), which can confuse readers grepping the CLI output. Consider calling this out, or using the CLI label in examples.🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@docs/pages/tutorials/manage-tickets.mdx` around lines 97 - 99, The tutorial uses the contract field name "minTicketBalance" but the CLI command output from the lifecycle code prints the label "minTickets", which can confuse readers; update the tutorial text around the `enclave ciphernode status` example to either (a) mention this naming mismatch explicitly (state that the CLI displays minTickets while the contract method is minTicketBalance) or (b) change the example to use the CLI label "minTickets" so it matches `enclave ciphernode status` output; reference the CLI output example and the lifecycle label (minTickets) when making the change so readers can grep the CLI output successfully.docs/pages/tutorials/using-the-dashboard.mdx (1)
32-36: Clarify environment-variable usage to avoid ambiguity.
E3_DASHBOARD_PORT=8080alone can be read as a no-op unless paired with a command or exported/persisted via the service manager. Consider showingexport E3_DASHBOARD_PORT=8080(interactive shell) or a brief note that this should be set in the node’s runtime/service environment.🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@docs/pages/tutorials/using-the-dashboard.mdx` around lines 32 - 36, Update the docs snippet to make environment-variable usage explicit by replacing the bare `E3_DASHBOARD_PORT=8080` example with guidance for interactive shells and long-lived service environments: show the interactive-shell form `export E3_DASHBOARD_PORT=8080` and add a short note that this variable must be set in the node/service runtime or configured via the platform’s service manager (systemd, container env, etc.) so it is persisted for the dashboard process.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.
Inline comments:
In `@docs/pages/ciphernode-operators/index.mdx`:
- Line 105: The operator troubleshooting doc still says "4+ modern cores" while
the operators index now requires "8+ cores, 16GB+ RAM"; open the
operator-troubleshooting.mdx file and replace the "4+ modern cores" CPU
requirement with "8+ cores" (and ensure the RAM line matches "16GB+ RAM" or the
project's canonical phrasing), preserving surrounding context and formatting for
the requirements table or bullet list so both pages are consistent.
In `@docs/pages/tutorials/deploy-to-testnet.mdx`:
- Around line 129-137: The example call to sdk.requestE3 uses the wrong
parameter names and shape; update the object to match the enclave-sdk.ts
signature: replace threshold with committeeSize (a single number), remove the
non-existent e3ProgramParams key, add the required paramSet numeric field, keep
inputWindow as [startTime, endTime], and ensure computeProviderParams remains a
hex string; optionally include customParams, proofAggregationEnabled, or
gasLimit only if needed. Use the exact property names: committeeSize,
inputWindow, e3Program, paramSet, computeProviderParams (and optional
customParams/proofAggregationEnabled/gasLimit) when calling sdk.requestE3.
In `@docs/pages/tutorials/operator-troubleshooting.mdx`:
- Around line 160-173: The docs use the wrong subcommand `enclave config print`
— update both occurrences to the actual CLI subcommand `enclave config get
log_file` (replace the command at the top and inside the tail substitution:
`tail -f "$(enclave config get log_file)"`) so the examples match the `Get`
subcommand implemented in crates/cli/src/config.rs.
---
Nitpick comments:
In `@docs/pages/tutorials/_meta.json`:
- Around line 22-26: The nav JSON has inconsistent titles for keys
"using-the-dashboard" and "manage-tickets"; update the "manage-tickets" entry in
docs/pages/tutorials/_meta.json so its "title" matches the page front‑matter
("Manage Tickets & Optimise Selection") (or alternatively change the page
front‑matter to the shorter "Manage Tickets" if you prefer the short nav label)
to keep breadcrumbs and displayed titles consistent across the site.
In `@docs/pages/tutorials/manage-tickets.mdx`:
- Around line 97-99: The tutorial uses the contract field name
"minTicketBalance" but the CLI command output from the lifecycle code prints the
label "minTickets", which can confuse readers; update the tutorial text around
the `enclave ciphernode status` example to either (a) mention this naming
mismatch explicitly (state that the CLI displays minTickets while the contract
method is minTicketBalance) or (b) change the example to use the CLI label
"minTickets" so it matches `enclave ciphernode status` output; reference the CLI
output example and the lifecycle label (minTickets) when making the change so
readers can grep the CLI output successfully.
In `@docs/pages/tutorials/using-the-dashboard.mdx`:
- Around line 32-36: Update the docs snippet to make environment-variable usage
explicit by replacing the bare `E3_DASHBOARD_PORT=8080` example with guidance
for interactive shells and long-lived service environments: show the
interactive-shell form `export E3_DASHBOARD_PORT=8080` and add a short note that
this variable must be set in the node/service runtime or configured via the
platform’s service manager (systemd, container env, etc.) so it is persisted for
the dashboard process.
🪄 Autofix (Beta)
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: Path: .coderabbit.yaml
Review profile: CHILL
Plan: Pro
Run ID: c2c3ab6f-eef2-40ad-a42b-743bbe3fb73d
📒 Files selected for processing (10)
docs/pages/_meta.jsondocs/pages/ciphernode-operators/index.mdxdocs/pages/tutorials/_meta.jsondocs/pages/tutorials/custom-zk-circuits.mdxdocs/pages/tutorials/deploy-to-testnet.mdxdocs/pages/tutorials/encrypt-and-submit.mdxdocs/pages/tutorials/manage-tickets.mdxdocs/pages/tutorials/operator-troubleshooting.mdxdocs/pages/tutorials/using-the-dashboard.mdxdocs/pages/tutorials/write-e3-program.mdx
Summary by CodeRabbit
Release Notes