docs: add "Coming from Ethereum" page for EVM/Solidity developers - #354
docs: add "Coming from Ethereum" page for EVM/Solidity developers#354mehmetkr-31 wants to merge 2 commits into
Conversation
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 39a4539f35
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
| }); | ||
|
|
||
| // Tx 2 (Bob): consume the note; the tokens move into Bob's vault. | ||
| await client.transactions.consume({ account: bobWallet, notes: noteId }); |
There was a problem hiding this comment.
Define the note before consuming it
In this private-transfer example, the send call only destructures txId, but the next transaction consumes noteId, which is never declared or fetched. Readers copying this snippet will hit a runtime/reference error rather than learning the two-step flow; the example needs to either request/derive the created note ID (for example via the documented return/list path) and, for a private note, make it available to Bob through transport/import before calling consume.
Useful? React with 👍 / 👎.
There was a problem hiding this comment.
Fixed in 39d89a2 — the example is now split into two snippets: Tx 1 uses the documented returnNote: true path so the created note (and its ID) is defined, and Tx 2 shows Bob's client fetching the private note via client.notes.fetchPrivate() + listAvailable() before consume().
|
Converted to draft: holding for maintainer confirmation on #353 (placement / title / assignment). The page is ready as a preview here — happy to adjust once a maintainer weighs in. |
Closes #353
Summary
Adds a new get-started page, "Coming from Ethereum" (
docs/builder/get-started/evm-developers.md), that maps familiar Ethereum/EVM/Solidity concepts to their Miden equivalents. The goal is to flatten the onboarding curve for the largest existing web3 developer audience.The page contains:
mapping/state variables → storage slots & maps, ERC-20 → fungible faucet,transfer()→ P2ID note,msg.sender→ authentication component,eth_call→executeProgram, events → notes, etc.transfer()next to the TypeScript web-client equivalent (client.transactions.send+consume), with the two-transaction model explained.msg.sender.accounts,notes,read-storage, andsmart-contracts.Conventions followed
sidebar_position: 6in frontmatter only — the get-started sidebar is autogenerated, so nosidebars.tschange is needed.accounts.md/notes.mdpages (e.g. "onchain",MidenClient.createTestnet(), theexecuteProgram↔eth_callanalogy already used in the web-client docs).Build note
npm run buildfails locally on a pre-existing, unrelated issue:sidebars.tsreferences doc IDs that are ingested from external repos at CI time (rust-client,note-transport,bridging,tutorials/recipes,miden-bank, …), which don't exist in a fresh local clone. I verified the failure is identical on a cleanmaincheckout, and that this new page (builder/get-started/evm-developers) is correctly discovered by the docs plugin. The full build should pass in CI where ingestion runs.Happy to adjust the page title, placement (
sidebar_position), or content scope if you'd prefer something different.