Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
37 commits
Select commit Hold shift + click to select a range
dc99ffe
Some basic EIP-7594 code clean-up
holgerd77 Mar 9, 2026
5026c99
Some precompile eComponent restructure
holgerd77 Mar 9, 2026
52df7fd
Small EIP-7594 exploration optimization
holgerd77 Mar 9, 2026
5c25181
Exploration/E-Component related test rework (more consistent, contrib…
holgerd77 Mar 9, 2026
bc99181
Linting
holgerd77 Mar 9, 2026
6efbe1d
Test fix
holgerd77 Mar 9, 2026
0049df6
Temporarily take in the custom addition precompile exploration to wor…
holgerd77 Mar 11, 2026
90a6a7a
Component result handling optimization using Vue generics support
holgerd77 Mar 11, 2026
baeee14
Custom precompile exploration helper method
holgerd77 Mar 11, 2026
1233ab9
Linting
holgerd77 Mar 11, 2026
fb58b08
More prefixed hex
holgerd77 Mar 11, 2026
2b63166
Linting
holgerd77 Mar 11, 2026
415d25d
Fix tests
holgerd77 Mar 11, 2026
b7593a7
Test fixes
holgerd77 Mar 11, 2026
cfd50da
Topic color fixes + rework
holgerd77 Mar 11, 2026
6061cbf
Topic color work
holgerd77 Mar 11, 2026
9dc3768
More color fixes
holgerd77 Mar 11, 2026
01f9066
Finalize color
holgerd77 Mar 11, 2026
4f98efe
Switched topic semantics
holgerd77 Mar 12, 2026
324155d
Linting + tests
holgerd77 Mar 12, 2026
abdc59a
Timeline
holgerd77 Mar 12, 2026
6207166
Linting
holgerd77 Mar 12, 2026
e316334
Timeline integration
holgerd77 Mar 12, 2026
9c7a729
Timeline navigation
holgerd77 Mar 12, 2026
27c9b91
Tags - structure, linting, docs
holgerd77 Mar 13, 2026
2ad1245
Tag cloud
holgerd77 Mar 13, 2026
f47f8c8
Tests
holgerd77 Mar 13, 2026
5ac7b2d
Removed custom addition precompile
holgerd77 Mar 18, 2026
704681e
Add counts to timeline and tag cloud navi
holgerd77 Mar 18, 2026
bb100c7
Add the creator to the mix
holgerd77 Mar 18, 2026
8403f86
Some imprint rework
holgerd77 Mar 18, 2026
90b24b8
Docs update
holgerd77 Mar 18, 2026
6de8307
Some beta notes
holgerd77 Mar 18, 2026
4462de5
Docs review + AI section
holgerd77 Mar 18, 2026
5c6f1e4
Linting
holgerd77 Mar 18, 2026
9393053
Some test fixes
holgerd77 Mar 18, 2026
312c942
Linting
holgerd77 Mar 18, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ Interactive Ethereum protocol explorer — hands on.

Explore, visualize and understand Ethereum protocol changes (EIPs) by interacting with real library code running directly in the browser.

> **Note:** This project is under active development. Contributions and feedback are very welcome!
> **Status: Beta** — The project is fully functional, but the APIs of reusable components (E-Components, UI components) have not fully stabilized yet. Contributions are very welcome — expect some manual back-and-forth during review until the component interfaces settle.

## Quick Start

Expand Down
36 changes: 0 additions & 36 deletions cypress/e2e/eip7594.cy.ts

This file was deleted.

107 changes: 0 additions & 107 deletions cypress/e2e/eip7883_Precompile_R.cy.ts

This file was deleted.

31 changes: 0 additions & 31 deletions cypress/e2e/eip7951.cy.ts

This file was deleted.

61 changes: 61 additions & 0 deletions cypress/e2e/explorations.cy.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,61 @@
describe('EIP-7883 ModExp', () => {
it('loads and displays exploration content', () => {
cy.visit('/eip-7883-modexp-gas-cost-increase')
cy.contains('h1', 'Feel Your Protocol')
cy.contains('h3', 'ModExp')
cy.get('#eip-7883-c', { timeout: 10000 }).should('exist')
})

it('loads default example with inputs', () => {
cy.visit('/eip-7883-modexp-gas-cost-increase')
cy.get('#eip-7883-c textarea', { timeout: 10000 }).should('not.have.value', '')
cy.get('#eip-7883-c input').should('have.length.gte', 3)
})

it('example selector shows available options', () => {
cy.visit('/eip-7883-modexp-gas-cost-increase')
cy.get('#eip-7883-c .e-select', { timeout: 10000 }).click()
cy.get('[role="option"]').should('have.length.gte', 2)
})
})

describe('EIP-7594 PeerDAS', () => {
it('loads and displays exploration content', () => {
cy.visit('/eip-7594-peerdas-data-availability-sampling')
cy.contains('h1', 'Feel Your Protocol')
cy.contains('h3', 'Peer Data Availability Sampling')
cy.get('#eip-7594-c', { timeout: 10000 }).should('exist')
})

it('loads default example with blob data', () => {
cy.visit('/eip-7594-peerdas-data-availability-sampling')
cy.get('#eip-7594-c textarea', { timeout: 10000 }).should('not.have.value', '')
})

it('example selector shows available options', () => {
cy.visit('/eip-7594-peerdas-data-availability-sampling')
cy.get('#eip-7594-c .e-select', { timeout: 10000 }).click()
cy.get('[role="option"]').should('have.length.gte', 2)
})
})

describe('EIP-7951 secp256r1', () => {
it('loads and displays exploration content', () => {
cy.visit('/eip-7951-secp256r1-precompile')
cy.contains('h1', 'Feel Your Protocol')
cy.contains('h3', 'secp256r1 Precompile Support')
cy.get('#eip-7951-c', { timeout: 10000 }).should('exist')
})

it('loads default example with inputs', () => {
cy.visit('/eip-7951-secp256r1-precompile')
cy.get('#eip-7951-c textarea', { timeout: 10000 }).should('not.have.value', '')
cy.get('#eip-7951-c input').should('have.length.gte', 5)
})

it('example selector shows available options', () => {
cy.visit('/eip-7951-secp256r1-precompile')
cy.get('#eip-7951-c .e-select', { timeout: 10000 }).click()
cy.get('[role="option"]').should('have.length.gte', 2)
})
})
16 changes: 7 additions & 9 deletions cypress/e2e/sites.cy.ts
Original file line number Diff line number Diff line change
@@ -1,14 +1,14 @@
describe('Home', () => {
it('loads and displays topics and explorations', () => {
cy.visit('/')
cy.contains('h2', 'Fusaka').should('be.visible')
cy.contains('h2', 'Scaling').should('be.visible')
cy.get('.exploration-c').should('have.length.gte', 1)
})

it('topic link navigates to topic page', () => {
cy.visit('/')
cy.contains('h2', 'Fusaka').closest('a').click()
cy.url().should('include', '/fusaka')
cy.contains('h2', 'Scaling').closest('a').click()
cy.url().should('include', '/scaling')
})

it('exploration card navigates to exploration page', () => {
Expand All @@ -18,19 +18,17 @@ describe('Home', () => {
})
})

describe('Topic (Fusaka)', () => {
it('loads all exploration widgets', () => {
cy.visit('/fusaka')
cy.get('#eip-7883-c', { timeout: 10000 }).should('exist')
describe('Topic (Scaling)', () => {
it('loads exploration widgets', () => {
cy.visit('/scaling')
cy.get('#eip-7594-c', { timeout: 10000 }).should('exist')
cy.get('#eip-7951-c', { timeout: 10000 }).should('exist')
})
})

describe('Imprint', () => {
it('loads and shows key sections', () => {
cy.visit('/imprint')
cy.contains('h3', 'CONTACT')
cy.contains('h3', 'ABOUT')
cy.contains('h3', 'ACKNOWLEDGEMENTS')
cy.contains('h3', 'DATA')
})
Expand Down
4 changes: 2 additions & 2 deletions dist/docs/404.html
Original file line number Diff line number Diff line change
Expand Up @@ -9,14 +9,14 @@
<link rel="preload stylesheet" href="/assets/style.Cfu23m_7.css" as="style">
<link rel="preload stylesheet" href="/vp-icons.css" as="style">

<script type="module" src="/assets/app.nonmTxRS.js"></script>
<script type="module" src="/assets/app.D547fiSf.js"></script>
<link rel="preload" href="/assets/inter-roman-latin.Di8DUHzh.woff2" as="font" type="font/woff2" crossorigin="">
<script id="check-dark-mode">(()=>{const e=localStorage.getItem("vitepress-theme-appearance")||"auto",a=window.matchMedia("(prefers-color-scheme: dark)").matches;(!e||e==="auto"?a:e==="dark")&&document.documentElement.classList.add("dark")})();</script>
<script id="check-mac-os">document.documentElement.classList.toggle("mac",/Mac|iPhone|iPod|iPad/i.test(navigator.platform));</script>
</head>
<body>
<div id="app"></div>
<script>window.__VP_HASH_MAP__=JSON.parse("{\"contributing_adding-an-exploration.md\":\"Ahsvo_Ol\",\"contributing_available-e-components.md\":\"CJ3WaJq0\",\"contributing_code-conventions.md\":\"q8SsjSd8\",\"contributing_e-components.md\":\"EgChjAzs\",\"contributing_how-to-contribute.md\":\"XKvLYLkk\",\"contributing_library-forks.md\":\"DYk1JQhp\",\"contributing_styling.md\":\"BxYm3jg7\",\"guide_architecture.md\":\"BSBE4DKA\",\"guide_getting-started.md\":\"B-wiDt-S\",\"index.md\":\"DpQvSWpN\"}");window.__VP_SITE_DATA__=JSON.parse("{\"lang\":\"en-US\",\"dir\":\"ltr\",\"title\":\"Feel Your Protocol\",\"description\":\"Documentation for the Feel Your Protocol project\",\"base\":\"/\",\"head\":[],\"router\":{\"prefetchLinks\":true},\"appearance\":true,\"themeConfig\":{\"nav\":[{\"text\":\"Guide\",\"link\":\"/guide/getting-started\"},{\"text\":\"Contributing\",\"link\":\"/contributing/how-to-contribute\"},{\"text\":\"Website\",\"link\":\"https://feelyourprotocol.org\"}],\"sidebar\":[{\"text\":\"Guide\",\"items\":[{\"text\":\"Getting Started\",\"link\":\"/guide/getting-started\"},{\"text\":\"Architecture\",\"link\":\"/guide/architecture\"}]},{\"text\":\"Contributing\",\"items\":[{\"text\":\"How to Contribute\",\"link\":\"/contributing/how-to-contribute\"},{\"text\":\"Adding an Exploration\",\"link\":\"/contributing/adding-an-exploration\"},{\"text\":\"E-Components\",\"link\":\"/contributing/e-components\"},{\"text\":\"Available E-Components\",\"link\":\"/contributing/available-e-components\"},{\"text\":\"Styling & Design\",\"link\":\"/contributing/styling\"},{\"text\":\"Code Conventions\",\"link\":\"/contributing/code-conventions\"},{\"text\":\"Library Forks\",\"link\":\"/contributing/library-forks\"}]}],\"socialLinks\":[{\"icon\":\"github\",\"link\":\"https://github.com/feelyourprotocol/website\"}],\"search\":{\"provider\":\"local\"},\"footer\":{\"message\":\"This project and its documentation are under active development.\"}},\"locales\":{},\"scrollOffset\":134,\"cleanUrls\":false,\"additionalConfig\":{}}");</script>
<script>window.__VP_HASH_MAP__=JSON.parse("{\"contributing_adding-an-exploration.md\":\"iBUUBPTj\",\"contributing_ai-assisted-development.md\":\"lydwZLlM\",\"contributing_available-e-components.md\":\"B4Q_z4Hi\",\"contributing_code-conventions.md\":\"C86y1S4H\",\"contributing_e-components.md\":\"PhGEgitZ\",\"contributing_how-to-contribute.md\":\"DneE9-kZ\",\"contributing_library-forks.md\":\"DYk1JQhp\",\"contributing_styling.md\":\"BKPSSvmJ\",\"contributing_ui-components.md\":\"vHxMK_fH\",\"guide_architecture.md\":\"B6eczQC1\",\"guide_getting-started.md\":\"BjX7SsDe\",\"index.md\":\"COXeFy5O\"}");window.__VP_SITE_DATA__=JSON.parse("{\"lang\":\"en-US\",\"dir\":\"ltr\",\"title\":\"Feel Your Protocol\",\"description\":\"Documentation for the Feel Your Protocol project\",\"base\":\"/\",\"head\":[],\"router\":{\"prefetchLinks\":true},\"appearance\":true,\"themeConfig\":{\"nav\":[{\"text\":\"Guide\",\"link\":\"/guide/getting-started\"},{\"text\":\"Contributing\",\"link\":\"/contributing/how-to-contribute\"},{\"text\":\"Website\",\"link\":\"https://feelyourprotocol.org\"}],\"sidebar\":[{\"text\":\"Guide\",\"items\":[{\"text\":\"Getting Started\",\"link\":\"/guide/getting-started\"},{\"text\":\"Architecture\",\"link\":\"/guide/architecture\"}]},{\"text\":\"Contributing\",\"items\":[{\"text\":\"How to Contribute\",\"link\":\"/contributing/how-to-contribute\"},{\"text\":\"AI-Assisted Development\",\"link\":\"/contributing/ai-assisted-development\"},{\"text\":\"Adding an Exploration\",\"link\":\"/contributing/adding-an-exploration\"},{\"text\":\"UI Components\",\"link\":\"/contributing/ui-components\"},{\"text\":\"E-Components\",\"link\":\"/contributing/e-components\"},{\"text\":\"Available E-Components\",\"link\":\"/contributing/available-e-components\"},{\"text\":\"Styling & Design\",\"link\":\"/contributing/styling\"},{\"text\":\"Code Conventions\",\"link\":\"/contributing/code-conventions\"},{\"text\":\"Library Forks\",\"link\":\"/contributing/library-forks\"}]}],\"socialLinks\":[{\"icon\":\"github\",\"link\":\"https://github.com/feelyourprotocol/website\"}],\"search\":{\"provider\":\"local\"},\"footer\":{\"message\":\"This project and its documentation are under active development.\"}},\"locales\":{},\"scrollOffset\":134,\"cleanUrls\":false,\"additionalConfig\":{}}");</script>

</body>
</html>
Loading