|
| 1 | +# Ipsilon Documentation# Ipsilon Notes & GitHub Pages Site |
| 2 | + |
| 3 | + |
| 4 | + |
| 5 | +Welcome to the Ipsilon team's public documentation repository. This collection contains research notes, technical specifications, and performance analyses related to Ethereum Virtual Machine (EVM) improvements and the Ethereum Object Format (EOF).This repository contains a public documentation site with filtered notes and a simple static interface for browsing them by tags. |
| 6 | + |
| 7 | + |
| 8 | + |
| 9 | +## 📋 All Documentation## Structure |
| 10 | + |
| 11 | + |
| 12 | + |
| 13 | +### EVM Object Format (EOF)- `public/` – All public-facing content for GitHub Pages deployment |
| 14 | + |
| 15 | + - `public/notes/` – Public markdown files (25 notes matching what's visible on notes.ethereum.org/@ipsilon) |
| 16 | + |
| 17 | +- [EOF "Option D" Summary](notes/EOF%20_Option%20D_%20Summary.md) - Summary of EOF Option D design decisions - `public/index.html`, `public/assets/` – Static site for tag filtering, search, and viewing |
| 18 | + |
| 19 | +- [EOF - Solidity library compatibility (initial) report](notes/EOF%20-%20Solidity%20library%20compatibility%20(initial)%20report.md) - Analysis of EOF impact on Solidity libraries - `public/notes_index.json` – Generated JSON index consumed by the site |
| 20 | + |
| 21 | +- [EOF Fusaka Options](notes/EOF%20Fusaka%20Options.md) - Decision tree for EOF/EVM changes in Fusaka- `private-notes/` – Private/internal notes (176 files, preserved but not published) |
| 22 | + |
| 23 | +- [EOF Prefix](notes/EOF%20Prefix.md) - Process of choosing EOF magic sequence- `generate_notes_index.py` – Script to (re)generate the JSON index |
| 24 | + |
| 25 | +- [EOF bootstrapping](notes/EOF%20bootstrapping.md) - Options for EOF bootstrapping with TXCREATE- `filter_public_notes.py` – Script used to separate public from private notes |
| 26 | + |
| 27 | +- [EOF: Ethereum's Gateway to RISC-V Execution](notes/EOF_%20Ethereum's%20Gateway%20to%20RISC-V%20Execution.md) - EOF as transition path to RISC-V |
| 28 | + |
| 29 | +- [Everything about the EVM Object Format (EOF)](notes/Everything%20about%20the%20EVM%20Object%20Format%20(EOF).md) - Comprehensive EOF explainer## Regenerating the Index |
| 30 | + |
| 31 | +- [Explainer of evmone Codecov report for EOF tests](notes/Explainer%20of%20%60evmone%60%20Codecov%20report%20for%20EOF%20tests.md) - Testing coverage analysis |
| 32 | + |
| 33 | +- [Measurable benefits of EOF](notes/Measurable%20benefits%20of%20EOF.md) - Performance benchmarks and benefits analysisRun locally from repository root: |
| 34 | + |
| 35 | +- [PEEPanEIP-3540_3670: EVM Object Format (EOF) v1](notes/PEEPanEIP-3540_3670_%20EVM%20Object%20Format%20(EOF)%20v1.md) - EIP presentation materials |
| 36 | + |
| 37 | +- [Potential scenarios of updating the new contract address schemes for EOF](notes/Potential%20scenarios%20of%20updating%20the%20new%20contract%20address%20schemes%20for%20EOF.md) - Address scheme considerations```bash |
| 38 | + |
| 39 | +python3 generate_notes_index.py |
| 40 | + |
| 41 | +### EVMMAX (EVM Modular Arithmetic Extension)``` |
| 42 | + |
| 43 | + |
| 44 | + |
| 45 | +- [EVMMAX](notes/EVMMAX.md) - Core EVMMAX documentationCommit the updated `public/notes_index.json` so the site reflects changes. |
| 46 | + |
| 47 | +- [EVMMAX Breakout - Devcon SEA L1 R&D Workshop](notes/EVMMAX%20Breakout%20-%20Devcon%20SEA%20L1%20R&D%20Workshop.md) - Workshop notes and plans |
| 48 | + |
| 49 | +- [EVMMAX in evmone](notes/EVMMAX%20in%20evmone.md) - Implementation details in evmone## Tag Extraction Rules |
| 50 | + |
| 51 | +- [EVMMAX website](notes/EVMMAX%20website.md) - Website content and information |
| 52 | + |
| 53 | +The script looks in the first 30 lines of each file in `public/notes/` for: |
| 54 | + |
| 55 | +### EVM Performance & Optimization |
| 56 | + |
| 57 | +``` |
| 58 | +
|
| 59 | +- [EVM Performance Report — Geth & Go Compiler](notes/EVM%20Performance%20Report%20—%20Geth%20&%20Go%20Compiler.md) - Performance comparison across Go versions###### tags: `tag1` `tag2` |
| 60 | +
|
| 61 | +- [EVM Performance Report — Geth vs evmone](notes/EVM%20Performance%20Report%20—%20Geth%20vs%20evmone.md) - Comparative performance analysistags: tag1, tag2, tag3 |
| 62 | +
|
| 63 | +- [Faster Ethash check against difficulty](notes/Faster%20Ethash%20check%20against%20difficulty.md) - Optimization techniquetags: tag1 tag2 tag3 |
| 64 | +
|
| 65 | +``` |
| 66 | + |
| 67 | +### EIP Presentations & Analysis |
| 68 | + |
| 69 | +Backtick-quoted tags are preferred; otherwise it splits on commas or spaces. |
| 70 | + |
| 71 | +- [PEEPanEIP-3855: PUSH0 Instruction](notes/PEEPanEIP-3855_%20PUSH0%20Instruction.md) - PUSH0 instruction presentation |
| 72 | + |
| 73 | +- [PEEPanEIP-3860: Limit and meter initcode](notes/PEEPanEIP-3860_%20Limit%20and%20meter%20initcode.md) - Initcode limitations presentation## Enabling GitHub Pages |
| 74 | + |
| 75 | + |
| 76 | + |
| 77 | +### Research & Technical Analysis1. Open repository Settings → Pages. |
| 78 | + |
| 79 | +2. Set Source to "Deploy from a branch" and select branch `main`, folder `public/`, then Save. |
| 80 | + |
| 81 | +- [IS_CONTRACT instruction](notes/IS_CONTRACT%20instruction.md) - New instruction proposal3. After deployment, visit the generated URL. The site will load `notes_index.json` and allow browsing. |
| 82 | + |
| 83 | +- [Osaka Testnets Plan](notes/Osaka%20Testnets%20Plan.md) - Testing strategy and roadmap |
| 84 | + |
| 85 | +- [Pairing: Linear function evaluation + point addition/doubling in Jacobian coordinates](notes/Pairing_%20Linear%20function%20evaluation%20+%20point%20addition_doubling%20in%20Jacobian%20coordinates.md) - Cryptographic implementation details## Usage |
| 86 | + |
| 87 | +- [Why EVM has JUMPDEST](notes/Why%20EVM%20has%20JUMPDEST.md) - Historical and technical explanation |
| 88 | + |
| 89 | +1. Use the tag pills to filter (AND logic across selected tags). |
| 90 | + |
| 91 | +### About Ipsilon2. Use the search box to fuzzy match title and tags. |
| 92 | + |
| 93 | +3. Click a note to load and render its markdown (client-side rendering via `marked` library CDN). |
| 94 | + |
| 95 | +- [Ipsilon website](notes/Ipsilon%20website.md) - Team information and background4. The URL hash tracks the current note; shareable deep link. |
| 96 | + |
| 97 | + |
| 98 | + |
| 99 | +## 🔗 Interactive Documentation Site## Updating / Adding Notes |
| 100 | + |
| 101 | + |
| 102 | + |
| 103 | +Visit our [interactive documentation site](https://ipsilon.github.io/documentation/) for a better browsing experience with:1. Place new `.md` files in `public/notes/` (or edit existing ones). |
| 104 | + |
| 105 | +- 🏷️ Tag-based filtering2. Add a tag line near the top for discoverability. |
| 106 | + |
| 107 | +- 🔍 Full-text search3. Re-run the index generation script. |
| 108 | + |
| 109 | +- 📱 Mobile-friendly interface4. Commit & push. |
| 110 | + |
| 111 | +- 🔗 Direct links to GitHub for editing |
| 112 | + |
| 113 | +## Content Filtering |
| 114 | + |
| 115 | +## 🏗️ Repository Structure |
| 116 | + |
| 117 | +The repository now contains only 25 public notes (matching what's visible on notes.ethereum.org/@ipsilon for unlogged users). All private/internal documentation (176 files) is preserved in `private-notes/` but not published to GitHub Pages. |
| 118 | + |
| 119 | +``` |
| 120 | +
|
| 121 | +├── notes/ # Public documentation (25 files)## Future Improvements (Optional) |
| 122 | +
|
| 123 | +├── private-notes/ # Internal notes (preserved but not published) |
| 124 | +
|
| 125 | +├── generate_notes_index.py # Script to generate site index- Add front matter normalization (convert tags line to YAML front matter). |
| 126 | +
|
| 127 | +├── filter_public_notes.py # Script to filter public content- Add full-text search (e.g. Lunr.js) for content body. |
| 128 | +
|
| 129 | +└── README.md # This file- Multi-tag OR logic toggle. |
| 130 | +
|
| 131 | +```- Tag cloud weighting by frequency. |
| 132 | +
|
| 133 | +- Automatic GitHub Action to regenerate index on push. |
| 134 | +
|
| 135 | +## 📝 Contributing |
| 136 | +
|
| 137 | +## License |
| 138 | +
|
| 139 | +To add or update documentation: |
| 140 | +
|
| 141 | +Site assets are provided under MIT; content retains its original licensing. |
| 142 | +
|
| 143 | +1. Place markdown files in the `notes/` directory |
| 144 | +2. Add appropriate tags in the first 30 lines: |
| 145 | + ```markdown |
| 146 | + ###### tags: `EOF` `research` |
| 147 | + ``` |
| 148 | +3. Run `python3 generate_notes_index.py` to update the site index |
| 149 | +4. Commit and push changes |
| 150 | + |
| 151 | +## 📄 License |
| 152 | + |
| 153 | +This documentation is provided under the MIT License. Individual documents may retain their original licensing terms. |
| 154 | + |
| 155 | +--- |
| 156 | + |
| 157 | +*This repository contains public documentation from the Ipsilon team, an Ethereum Foundation-funded research group focused on EVM improvements and the Ethereum Object Format (EOF).* |
0 commit comments