0xMiden / 0xMiden/docs

docs: add Account Types page to Core Concepts (public, private, network)

Open
#185 0 comments 0 reactions 1 assignee Claimed by @BrianSeong99 View on GitHub
Dominant language
TypeScript
Stars
10
Forks
50
Avg merge
22d 23h
Merged PRs (30d)
1

Description

## Context

The Core Concepts section (recently renamed from Design) is mostly empty. Account types — public, private, and network — are fundamental concepts that are currently scattered across quick-start and PSM docs with no dedicated conceptual page.

## Proposed

Add `docs/core-concepts/accounts.md` covering:

### Content
1. **Account ID structure** — 120-bit encoding: type + storage mode + version
2. **Public accounts** — state stored on-chain, readable by anyone. Use case: faucets, public registries, DEX orderbooks
3. **Private accounts** — only commitment on-chain, state lives client-side. Use case: wallets, private vaults, confidential contracts
4. **Network accounts** — special accounts for protocol-level operations (faucets, validators). How they differ from regular public accounts.
5. **Storage modes vs account types** — clarify these are two orthogonal choices (`AccountStorageMode` vs `AccountType`)
6. **Decision matrix** — when to use which type

### References
- `AccountStorageMode` enum in miden-base
- `AccountType` enum in miden-base
- `AccountBuilder` API in miden-client
- quick-start/accounts.md (has some coverage but tutorial-style)
- Paper: §2.1 Actors as Accounts

### Approach
- Diataxis: **explanation** style (conceptual, not tutorial)
- Link to quick-start for hands-on setup
- Link to smart-contracts/accounts/ for SDK reference
- Cross-reference the protocol design docs for deeper technical details

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.