You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: prisma/seed-reth-building-en.ts
+1-1Lines changed: 1 addition & 1 deletion
Original file line number
Diff line number
Diff line change
@@ -1834,7 +1834,7 @@ Walk:
1834
1834
- **\`SignedAuthorization::decode_2718\`** — the inverse of the \`encoded_2718\` the user sent. **One round-trip, no manual byte fiddling.**
1835
1835
- **\`from = sponsor, to = user\`** — this is the heart of the design. The tx is *from the sponsor* (paying gas, signing the outer envelope) but *to the user's EOA* (which now executes as if it were the delegate). Anyone watching the tx sees Bob as initiator and Alice's address as the call target — and the **logs come from Alice's address** because that's the address running the delegate's code.
1836
1836
- **\`with_authorization_list(vec![signed_auth])\`** — the line that makes this a Type 4. Add multiple \`SignedAuthorization\`s here and you're now batching multiple users into one tx (drill 3).
1837
-
- **The delegate's \`executeBatch\` is a convention, not a protocol mandate.** Most EIP-7702 delegate contracts in the wild expose a similar method (see [Soneium](https://github.com/coinbase/sponsored-erc20)'s pattern, OpenZeppelin's reference impl). Pick the convention your delegate uses.
1837
+
- **The delegate's \`executeBatch\` is a convention, not a protocol mandate.** Most EIP-7702 delegate contracts in the wild expose a similar method (see OpenZeppelin's reference impl). Pick the convention your delegate uses.
1838
1838
1839
1839
> 🛑 **Anti-fluency check.** Without scrolling: when Bob (sponsor) submits this tx, **whose nonce increments**? Bob's, Alice's, both? Hint: think about which nonce is in the outer tx envelope vs. what the authorization's \`nonce\` field is for.
Copy file name to clipboardExpand all lines: prisma/seed-reth-consensus-engineering-en.ts
+1-1Lines changed: 1 addition & 1 deletion
Original file line number
Diff line number
Diff line change
@@ -597,7 +597,7 @@ For each chain, identify the consensus family and one design choice:
597
597
## 8. Reading list
598
598
599
599
- [HotStuff paper](https://arxiv.org/abs/1803.05069) — the original 2018
600
-
- [Hyperliquid whitepaper](https://hyperliquid.gitbook.io/hyperliquid-docs/about-hyperliquid/consensus) — what's public
600
+
- [Hyperliquid whitepaper](https://hyperliquid.gitbook.io/hyperliquid-docs/about-hyperliquid) — what's public
601
601
- [DiemBFT spec](https://developers.diem.com/docs/technical-papers/the-diem-blockchain-paper/) — the production HotStuff variant (defunct project but public docs)
602
602
603
603
> Final check: in one sentence, what makes HotStuff superior to PBFT for chains like Hyperliquid? **If your answer is just "faster," go deeper — name the specific structural change.** Reference §2 if needed.`,
- **Witness source:** any full Reth node running with \`--ress.enable\`. Ress peers with it over a dedicated RLPx subprotocol named \`ress\` — see [\`crates/ress/protocol\` in Reth](https://github.com/paradigmxyz/reth/tree/main/crates/ress/protocol).
1261
+
- **Witness source:** any full Reth node running with \`--ress.enable\`. Ress peers with it over a dedicated RLPx subprotocol named \`ress\` — see [\`crates/ress/protocol\` in Reth](https://github.com/paradigmxyz/ress).
1262
1262
- **Witness format:** Merkle Patricia Trie proofs (the format you saw in the MPT lesson — same \`AccountProof\` / \`StorageProof\` shape).
1263
1263
- **Bytecode:** fetched from the stateful peer **on demand** (via a separate \`GetBytecode\` message). Ress caches what it has seen; missing entries pull from the peer.
1264
1264
- **Validation flow:** consensus client sends \`NewPayload\` → ress requests witness + missing bytecode from a Reth peer → validates payload in memory → returns \`PayloadStatus\`.
@@ -1341,7 +1341,7 @@ If 1–4 are shaky, scroll back. If you can't argue 5, **you haven't internalize
1341
1341
## Further reading
1342
1342
1343
1343
- [Paradigm blog: Stateless Reth Nodes](https://www.paradigm.xyz/2025/03/stateless-reth-nodes) — the use-case framing in Section 1 comes from here.
1344
-
- [\`paradigmxyz/ress\`](https://github.com/paradigmxyz/ress) — README, then \`bin/\` entry point, then the RLPx subprotocol in [\`paradigmxyz/reth/crates/ress/protocol\`](https://github.com/paradigmxyz/reth/tree/main/crates/ress/protocol).
1344
+
- [\`paradigmxyz/ress\`](https://github.com/paradigmxyz/ress) — README, then \`bin/\` entry point, then the RLPx subprotocol in [\`paradigmxyz/reth/crates/ress/protocol\`](https://github.com/paradigmxyz/ress).
1345
1345
- [\`megaeth-labs/stateless-validator\`](https://github.com/megaeth-labs/stateless-validator) — README, then \`crates/stateless-core/src/pipeline\`, then \`crates/stateless-core/src/executor.rs\`.
1346
1346
- [\`megaeth-labs/salt\`](https://github.com/megaeth-labs/salt) — the authenticated KV store that replaces the MPT in MegaETH's witness format.`,
1347
1347
},
@@ -1915,7 +1915,7 @@ After drill 5, you have the full mental model for shipping a Revm/Reth fork with
1915
1915
## 📺 Further reading
1916
1916
1917
1917
- [execution-spec-tests docs](https://eest.ethereum.org/) — the spec-test framework
1918
-
- [\`paradigmxyz/revm-rs\` fuzzing harnesses](https://github.com/paradigmxyz/revm-rs) — reference implementations of the differential pattern
1918
+
- [\`bluealloy/revm\` test crates](https://github.com/bluealloy/revm) — reference implementations of the differential pattern
1919
1919
- The historical [Geth Yellow Paper Test Suite](https://github.com/ethereum/tests) — for understanding test-corpus evolution
1. **\`crates/optimism/\`** in [paradigmxyz/reth](https://github.com/paradigmxyz/reth/tree/main/crates/optimism) — Optimism / Base / Mode / OP Stack. The most production-tested extension on the planet.
2408
+
1. **\`crates/optimism/\`** in [paradigmxyz/reth](https://github.com/paradigmxyz/reth) — Optimism / Base / Mode / OP Stack. The most production-tested extension on the planet.
2409
2409
2. **[paradigmxyz/alphanet](https://github.com/paradigmxyz/alphanet)** — Paradigm's own OP-Stack testnet for trying custom precompiles (EIP-7212 P-256 verify, etc.) before they exist on mainnet.
2410
2410
3. **[SovaNetwork/sova-reth](https://github.com/SovaNetwork/sova-reth)** — Reth as a Bitcoin execution layer.
2411
2411
4. **[SeismicSystems/seismic-reth](https://github.com/SeismicSystems/seismic-reth)** — Reth with encrypted transactions.
@@ -2444,7 +2444,7 @@ Optimism is the canonical "Reth-based L2." Its node code lives at \`paradigmxyz/
| OP payload builder | \`crates/optimism/payload/\` | OP Stack sequencer |
2771
-
| **op-rbuilder** | [paradigmxyz/rbuilder](https://github.com/paradigmxyz/rbuilder) | High-perf external block builder for OP Stack |
2771
+
| **op-rbuilder** | [flashbots/rbuilder](https://github.com/flashbots/rbuilder) | High-perf external block builder for OP Stack |
2772
2772
2773
2773
The first two are inside reth. **op-rbuilder** is a separate repo, more aggressive about MEV and ordering policy, and is the production builder several OP Stack chains use.
2774
2774
@@ -2802,7 +2802,7 @@ The choice ends up in the **payload builder's source code**, gated by feature fl
2802
2802
2803
2803
## 5. op-rbuilder — the production-grade reference
2804
2804
2805
-
[paradigmxyz/rbuilder](https://github.com/paradigmxyz/rbuilder) is the external builder Paradigm built for OP Stack. Worth studying because:
2805
+
[flashbots/rbuilder](https://github.com/flashbots/rbuilder) is the external builder Paradigm built for OP Stack. Worth studying because:
2806
2806
2807
2807
- It implements **bundle merging** (private order flow + public mempool)
2808
2808
- It supports **sealing strategies** (greedy, parallelizable algorithms)
@@ -2830,7 +2830,7 @@ Open \`crates/optimism/payload/\` and:
2830
2830
3. **Identify** where the block gas cap is enforced
2831
2831
4. **Find** the function that signs/seals the built block
2832
2832
2833
-
Then read [op-rbuilder's README](https://github.com/paradigmxyz/rbuilder) for the "external builder" model.
2833
+
Then read [op-rbuilder's README](https://github.com/flashbots/op-rbuilder) for the "external builder" model.
2834
2834
2835
2835
> Final check: in one sentence, what does the payload builder **decide** that the executor does not? If your answer doesn't include the word "ordering" or "selection," go back and re-read section 3.`,
1. **\`crates/optimism/\`** in [paradigmxyz/reth](https://github.com/paradigmxyz/reth/tree/main/crates/optimism) — Optimism / Base / Mode / OP Stack。世界で最も本番運用された extension。
2397
+
1. **\`crates/optimism/\`** in [paradigmxyz/reth](https://github.com/paradigmxyz/reth) — Optimism / Base / Mode / OP Stack。世界で最も本番運用された extension。
- [libp2p tutorials](https://docs.libp2p.io/) — for understanding modular networking
536
536
537
537
> Final check: in one sentence, why is "custom gossip" the natural extension for chain-specific applications like MEV markets and payment routing? **If your answer doesn't reference "default gossip is for canonical chain data only," re-read §1.**`,
0 commit comments