0xMiden / 0xMiden/docs

docs: Add an EVM/Solidity developer onboarding page (mental model mapping)

Đang mở
#353 0 bình luận 0 reaction 0 người được giao Xem trên GitHub
Ngôn ngữ chính
TypeScript
Star
10
Fork
50
Merge trung bình
22 ngày 23 giờ
Pull request đã merge (30 ngày)
1

Mô tả

## Motivation

Developers coming from the EVM/Solidity world face a steep mental-model jump when approaching Miden: account-based global state vs. account-centric local state, global on-chain execution vs. client-side proving, `transfer()` calls vs. note creation/consumption, etc.

The get-started section explains Miden's concepts (accounts, notes, storage) well on their own terms, but there is no single page that maps familiar EVM/Solidity concepts to their Miden counterparts. Such a mapping page would significantly flatten the onboarding curve for the largest existing developer audience in web3.

## Proposed change

Add a new page under `docs/builder/get-started/` (working title: **"Coming from Ethereum / Solidity"**, e.g. `evm-developers.md`), containing:

1. **Concept mapping table** — a quick-reference cheat sheet, roughly:

| Ethereum / Solidity | Miden |
|---|---|
| Smart contract (code + storage) | Account (code + storage) |
| Storage slots / mappings | Account storage slots & storage maps |
| ERC-20 token | Fungible asset issued by a faucet account |
| `transfer(to, amount)` | Creating a P2ID note, which the recipient consumes |
| `msg.sender` | Account authentication component (e.g. signature scheme) |
| Events / logs | Notes (the primary communication primitive) |
| Global, on-chain execution | Local execution with a ZK proof submitted on-chain |
| Public mempool | Public vs. private notes; note transport for private data |

2. **Mental model shifts** — short paragraphs on the big differences:
- Note-based (UTXO-like) asset transfers vs. account-based balance updates
- Client-side proving & local state vs. global state machine replication
- Public and private state/notes

3. **Side-by-side code comparison** — a minimal Solidity ERC-20 `transfer()` next to its TypeScript web-client equivalent (creating/consuming a P2ID note), so readers can anchor new concepts to code they already understand.

4. **Where to go next** — relative links to the existing `accounts`, `notes`, `read-storage`, and smart-contract sections.

## Notes

- The get-started sidebar is autogenerated, so the page only needs frontmatter (`sidebar_position`) — no `sidebars.ts` change required.
- I will follow the repo conventions: run `npm run build` before opening the PR, use relative internal links, and keep the diff limited to the new page.

I'm happy to write this page and open the PR. Could a maintainer confirm the placement/title and assign this issue to me?

Hướng dẫn đóng góp

Mở hướng dẫn đóng góp

Đánh giá

Issue này chưa được đánh giá.

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.