Skip to content

Add locad devnet guide#3350

Open
nuke-web3 wants to merge 2 commits into
evstack:mainfrom
nuke-web3:n/local-dev
Open

Add locad devnet guide#3350
nuke-web3 wants to merge 2 commits into
evstack:mainfrom
nuke-web3:n/local-dev

Conversation

@nuke-web3

@nuke-web3 nuke-web3 commented Jun 8, 2026

Copy link
Copy Markdown

First pass at a working local devnet using https://github.com/evstack/ev-toolbox/tree/main/ev-stacks .

In experimenting, I think we should first modify the tooling used just a bit to be a more functional and "one click" docker compose flow / just recipe to streamline things a bit more. Before I do that, would love a first pass review 🙏

Summary by CodeRabbit

  • Documentation
    • Added a comprehensive local development deployment guide covering architecture, prerequisites, step-by-step setup commands, troubleshooting, configuration reference, and next steps for developers deploying locally.

@coderabbitai

coderabbitai Bot commented Jun 8, 2026

Copy link
Copy Markdown
Contributor

Review Change Stack

📝 Walkthrough

Walkthrough

This PR adds a comprehensive local deployment guide documenting how to run a complete Evolve EVM chain on a developer machine using ev-toolbox with the local-da mock data availability layer, plus updates the deployment guides index to reference it.

Changes

Local Deployment Documentation

Layer / File(s) Summary
Guide introduction and prerequisite setup
docs/guides/deploy/local.md (lines 1–46)
Introduces the guide purpose and architecture diagram, then lists Docker, Compose, and Git prerequisites with commands to clone ev-toolbox and navigate to the stacks directory.
Local chain startup process
docs/guides/deploy/local.md (lines 48–115)
Step-by-step instructions to start da-local with log verification, create the sequencer passphrase, start the sequencer using the DA-local compose config, monitor startup logs, and documents a known non-fatal blob.Submit error from version mismatch.
JSON-RPC endpoint configuration and testing
docs/guides/deploy/local.md (lines 116–140)
Explains exposing the sequencer JSON-RPC port via docker-compose.override.yml and verifies chain progression by querying and monitoring incrementing block numbers.
Operational commands and configuration reference
docs/guides/deploy/local.md (lines 141–184)
Provides practical Docker commands for container status, log streaming, and shutdown; documents environment variables and their defaults; and supplies Next Steps links and a warning that local-da is for development only.
Deployment guides index update
docs/guides/deploy/overview.md (line 41)
Adds a new bullet under Available Deployment Guides linking to the local deployment guide and describing the local-da no-dependencies setup.

Estimated code review effort

🎯 1 (Trivial) | ⏱️ ~5 minutes

Poem

🐰 A guide for locals, tried and true,
Local-da runs your chain like new,
No external friends to call upon,
Just Docker stacks from dusk to dawn,
Deploy with joy, develop free! ✨

🚥 Pre-merge checks | ✅ 3 | ❌ 2

❌ Failed checks (2 inconclusive)

Check name Status Explanation Resolution
Title check ❓ Inconclusive The title contains a typo ('locad' instead of 'local') and is only partially related to the changeset; it describes a local devnet guide but lacks clarity about the deployment context. Correct the typo to 'Add local devnet guide' for clarity. Consider using semantic commit format (e.g., 'docs: add local devnet deployment guide') as specified in the repository's commit conventions.
Description check ❓ Inconclusive The description is minimal and lacks structured information; it misses the 'Overview' section specified in the template with proper context, background, and rationale. Expand the description to follow the template structure: provide a clear overview explaining the local devnet guide, its purpose, and link any related issues using 'Closes #' format if applicable.
✅ Passed checks (3 passed)
Check name Status Explanation
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests

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.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@nuke-web3

Copy link
Copy Markdown
Author

Context: working on Eden docs and want to experiment with evolve and, ideally, get something like anvilforking setup for mainnet and testnet Eden to show off in the docs.

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 2

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@docs/guides/deploy/local.md`:
- Around line 65-69: The fenced code block in docs/guides/deploy/local.md
showing the example daemon logs lacks a language identifier; update the opening
fence for that block to include a language tag (e.g., use ```text) so the log
output renders correctly and is accessible—locate the fenced block with the
three "INF ..." log lines and change its opening backticks to ```text.
- Around line 101-110: Add a language identifier "text" to the fenced code block
that contains the sequencer startup logs (the block starting with
"single-sequencer  | 🚀 INIT: Starting EVM Sequencer initialization" and the
following lines) so the snippet renders correctly; update the opening fence from
``` to ```text and leave the block content unchanged.
🪄 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: defaults

Review profile: CHILL

Plan: Pro

Run ID: 7560ebdd-67b0-46e8-bedf-bccc3155291d

📥 Commits

Reviewing files that changed from the base of the PR and between 89c7fe8 and 76b0bb8.

📒 Files selected for processing (2)
  • docs/guides/deploy/local.md
  • docs/guides/deploy/overview.md

Comment on lines +65 to +69
```
INF NewLocalDA: initialized LocalDA component=da
INF Listening on component=da host=0.0.0.0 maxBlobSize=1970176 port=7980
INF server started component=da listening_on=0.0.0.0:7980
```

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟡 Minor | ⚡ Quick win

Add language identifier to code block.

The fenced code block showing expected output should specify a language identifier for proper rendering and accessibility.

📝 Proposed fix
-```
+```text
 INF NewLocalDA: initialized LocalDA component=da
 INF Listening on component=da host=0.0.0.0 maxBlobSize=1970176 port=7980
 INF server started component=da listening_on=0.0.0.0:7980
</details>

<!-- suggestion_start -->

<details>
<summary>📝 Committable suggestion</summary>

> ‼️ **IMPORTANT**
> Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

```suggestion

🧰 Tools
🪛 markdownlint-cli2 (0.22.1)

[warning] 65-65: Fenced code blocks should have a language specified

(MD040, fenced-code-language)

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@docs/guides/deploy/local.md` around lines 65 - 69, The fenced code block in
docs/guides/deploy/local.md showing the example daemon logs lacks a language
identifier; update the opening fence for that block to include a language tag
(e.g., use ```text) so the log output renders correctly and is accessible—locate
the fenced block with the three "INF ..." log lines and change its opening
backticks to ```text.

Source: Linters/SAST tools

Comment on lines +101 to +110
```
single-sequencer | 🚀 INIT: Starting EVM Sequencer initialization
single-sequencer | ✅ SUCCESS: Sequencer initialization completed
single-sequencer | ✅ SUCCESS: Exported genesis.json to /volumes/sequencer_export/genesis.json
single-sequencer | ✅ SUCCESS: Successfully retrieved genesis hash: 0x6aec2...
single-sequencer | 🚀 INIT: Starting EVM sequencer with command: evm start ...
single-sequencer | INF Starting aggregator node component=main
single-sequencer | INF produced block component=executor height=1
single-sequencer | INF produced block component=executor height=2
```

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟡 Minor | ⚡ Quick win

Add language identifier to code block.

The fenced code block showing healthy startup output should specify a language identifier.

📝 Proposed fix
-```
+```text
 single-sequencer  | 🚀 INIT: Starting EVM Sequencer initialization
 single-sequencer  | ✅ SUCCESS: Sequencer initialization completed
 single-sequencer  | ✅ SUCCESS: Exported genesis.json to /volumes/sequencer_export/genesis.json
 single-sequencer  | ✅ SUCCESS: Successfully retrieved genesis hash: 0x6aec2...
 single-sequencer  | 🚀 INIT: Starting EVM sequencer with command: evm start ...
 single-sequencer  | INF Starting aggregator node component=main
 single-sequencer  | INF produced block component=executor height=1
 single-sequencer  | INF produced block component=executor height=2
</details>

<!-- suggestion_start -->

<details>
<summary>📝 Committable suggestion</summary>

> ‼️ **IMPORTANT**
> Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

```suggestion

🧰 Tools
🪛 markdownlint-cli2 (0.22.1)

[warning] 101-101: Fenced code blocks should have a language specified

(MD040, fenced-code-language)

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@docs/guides/deploy/local.md` around lines 101 - 110, Add a language
identifier "text" to the fenced code block that contains the sequencer startup
logs (the block starting with "single-sequencer  | 🚀 INIT: Starting EVM
Sequencer initialization" and the following lines) so the snippet renders
correctly; update the opening fence from ``` to ```text and leave the block
content unchanged.

Source: Linters/SAST tools

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant