|
1 | | -# ⭐️ Welcome to Account Abstraction with ERC-4337 |
| 1 | +# ERC-4337 Documentation |
2 | 2 |
|
3 | | -## What is ERC-4337? |
| 3 | +This repository contains the official documentation for ERC-4337 (Account Abstraction). |
4 | 4 |
|
5 | | -ERC-4337 enables **Account Abstraction (AA)** on Ethereum without requiring any changes to the protocol. Instead of modifying Ethereum's base protocol, it introduces a new flow using `UserOperation` objects, a decentralized **alt-mempool**, and an on-chain **EntryPoint** contract. |
| 5 | +## 🚀 Quick Start |
6 | 6 |
|
7 | | -This architecture unlocks powerful wallet features like: |
8 | | -- ✅ Custom signature schemes (e.g. passkeys, multisig) |
9 | | -- ✅ Gasless transactions via **Paymasters** |
10 | | -- ✅ One-click flows through batched calls |
11 | | -- ✅ Modular smart accounts with upgradability and recovery |
12 | | -- ✅ Wallet creation without EOAs or upfront ETH |
| 7 | +### Local Development |
13 | 8 |
|
14 | | -Unlike centralized relayer-based solutions, ERC-4337 achieves these benefits while preserving decentralization through a **permissionless mempool** and **bundler** ecosystem. |
| 9 | +1. **Clone the repository:** |
| 10 | + ```bash |
| 11 | + git clone https://github.com/eth-infinitism/aa-mkdocs.git |
| 12 | + cd aa-mkdocs |
| 13 | + ``` |
15 | 14 |
|
16 | | -## 🌐 Why This GitBook? |
| 15 | +2. **Set up Python virtual environment:** |
| 16 | + ```bash |
| 17 | + python3 -m venv .venv |
| 18 | + source .venv/bin/activate # On Windows: .venv\Scripts\activate |
| 19 | + ``` |
17 | 20 |
|
18 | | -This GitBook serves as your technical companion to everything ERC-4337 and beyond. It consolidates specs, summaries, and best practices to help you: |
19 | | -- Build or integrate **smart contract wallets** |
20 | | -- Understand the **UserOperation lifecycle** |
21 | | -- Leverage **Paymasters** for better onboarding |
22 | | -- Explore modularity and emerging standards |
23 | | -- Stay aligned with Ethereum’s decentralization ethos |
| 21 | +3. **Install dependencies:** |
| 22 | + ```bash |
| 23 | + pip install -r requirements.txt |
| 24 | + ``` |
24 | 25 |
|
25 | | -Let’s build the future of wallets — programmable, recoverable, and user-friendly — without compromising Ethereum's core values. |
| 26 | +4. **Serve locally:** |
| 27 | + ```bash |
| 28 | + mkdocs serve |
| 29 | + ``` |
| 30 | + |
| 31 | + Open http://127.0.0.1:8000 in your browser. |
26 | 32 |
|
27 | | -> 📖 Start here: [Smart Accounts ➡](./smart-accounts/README.md) |
| 33 | +### Building |
28 | 34 |
|
29 | | ---- |
| 35 | +To build the static site: |
| 36 | + |
| 37 | +```bash |
| 38 | +mkdocs build |
| 39 | +``` |
| 40 | + |
| 41 | +The built site will be in the `site/` directory. |
| 42 | + |
| 43 | +## 🏗️ Build & Deploy |
| 44 | + |
| 45 | +This documentation is automatically built and deployed using: |
| 46 | + |
| 47 | +- **Cloudflare Pages** for hosting |
| 48 | +- **GitHub Actions** for CI/CD |
| 49 | +- **MkDocs Material** for the documentation framework |
| 50 | + |
| 51 | +### Cloudflare Pages Settings |
| 52 | + |
| 53 | +- **Build command:** `pip install -r requirements.txt && mkdocs build` |
| 54 | +- **Output directory:** `site` |
| 55 | +- **Python version:** 3.11 |
| 56 | +- **PR Previews:** Enabled (automatic preview deployments for pull requests) |
| 57 | + |
| 58 | +### CI/CD |
| 59 | + |
| 60 | +The repository includes GitHub Actions workflow (`.github/workflows/mkdocs-ci.yml`) that: |
| 61 | +- Runs on every pull request to `main` |
| 62 | +- Installs dependencies |
| 63 | +- Builds the documentation with strict mode |
| 64 | +- Blocks PRs if build fails |
| 65 | + |
| 66 | +## 🤝 Contributing |
30 | 67 |
|
31 | | -## 🔗 Resources |
| 68 | +### Development Workflow |
| 69 | + |
| 70 | +1. **Fork the repository** and create a feature branch |
| 71 | +2. **Make your changes** to the documentation |
| 72 | +3. **Test locally** with `mkdocs serve` |
| 73 | +4. **Create a pull request** - this will trigger: |
| 74 | + - CI build validation |
| 75 | + - Cloudflare Pages preview deployment |
| 76 | +5. **Review and merge** - changes will be automatically deployed to production |
| 77 | + |
| 78 | +### Guidelines |
| 79 | + |
| 80 | +- **No web editor** - all changes must be made via pull requests |
| 81 | +- **Test locally** before submitting PRs |
| 82 | +- **Follow Markdown best practices** |
| 83 | +- **Update navigation** in `mkdocs.yml` if adding new sections |
| 84 | +- **Use descriptive commit messages** |
| 85 | + |
| 86 | +## 🔗 Links |
| 87 | + |
| 88 | +- **Production site:** https://docs.erc4337.io |
| 89 | +- **Repository:** https://github.com/eth-infinitism/aa-mkdocs |
| 90 | +- **Issues:** https://github.com/eth-infinitism/aa-mkdocs/issues |
| 91 | + |
| 92 | + |
| 93 | +## 🛠️ Technology Stack |
| 94 | + |
| 95 | +- **MkDocs** - Static site generator |
| 96 | +- **Material for MkDocs** - Theme and features |
| 97 | +- **Python 3.11** - Runtime environment |
| 98 | +- **Cloudflare Pages** - Hosting and CDN |
| 99 | +- **GitHub Actions** - CI/CD pipeline |
| 100 | + |
| 101 | +--- |
32 | 102 |
|
33 | | -- 🤖 Powered by [ChAAtGPT](https://chatgpt.com/g/g-6817474bd880819192d1bbda07958d09-chaatgpt) — a custom GPT focused on Account Abstraction |
34 | | -- 🛠️ This GitBook on GitHub: [github.com/eth-infinitism/gitbook](https://github.com/eth-infinitism/gitbook) |
35 | | -- 📄 License: [MIT](./LICENSE) |
| 103 | +[](https://github.com/eth-infinitism/aa-mkdocs/actions) |
36 | 104 |
|
0 commit comments