diff --git a/app/[locale]/contributing/translation-program/translatathon/leaderboard/_components/Leaderboard.tsx b/app/[locale]/contributing/translation-program/translatathon/leaderboard/_components/Leaderboard.tsx
index eabb1dcf17b..21cf5f2188a 100644
--- a/app/[locale]/contributing/translation-program/translatathon/leaderboard/_components/Leaderboard.tsx
+++ b/app/[locale]/contributing/translation-program/translatathon/leaderboard/_components/Leaderboard.tsx
@@ -3,20 +3,13 @@
import { useState } from "react"
import Emoji from "@/components/Emoji"
-import { Image } from "@/components/Image"
import { Button } from "@/components/ui/buttons/Button"
import { cn } from "@/lib/utils/cn"
-const AvatarWithFallback = ({
- username,
- avatarUrl,
-}: {
- username: string
- avatarUrl: string
-}) => {
- const [imageError, setImageError] = useState(false)
+import { translators } from "./leaderboard-data"
+const AvatarWithFallback = ({ username }: { username: string }) => {
// Generate consistent avatar colors using design system colors
const avatarColors = [
"bg-primary",
@@ -42,33 +35,19 @@ const AvatarWithFallback = ({
const avatarColorClass = avatarColors[Math.abs(hash) % avatarColors.length]
const initials = username.slice(0, 1).toUpperCase()
- if (imageError || !avatarUrl) {
- return (
-
- {initials}
-
- )
- }
-
return (
-
-
setImageError(true)}
- />
+
+ {initials}
)
}
-export const Leaderboard = ({ translators }) => {
+export const Leaderboard = () => {
const [filterAmount, updateFilterAmount] = useState(10)
const showMore = () => {
@@ -91,14 +70,7 @@ export const Leaderboard = ({ translators }) => {
{translators.slice(0, filterAmount).map((translator, index) => {
- const { username, avatarUrl, totalCosts } = translator
-
- const transformedAvatarUrl = avatarUrl
- ? avatarUrl.replace(
- "https://crowdin-static.downloads.crowdin.com",
- "https://crowdin-static.cf-downloads.crowdin.com"
- )
- : avatarUrl
+ const { name, words } = translator
let emoji: string | null = null
if (index === 0) {
@@ -122,16 +94,13 @@ export const Leaderboard = ({ translators }) => {
)}
-
-
{username}
+
+
{name}
)
diff --git a/app/[locale]/contributing/translation-program/translatathon/leaderboard/_components/leaderboard-data.ts b/app/[locale]/contributing/translation-program/translatathon/leaderboard/_components/leaderboard-data.ts
new file mode 100644
index 00000000000..d4561e9e0ff
--- /dev/null
+++ b/app/[locale]/contributing/translation-program/translatathon/leaderboard/_components/leaderboard-data.ts
@@ -0,0 +1,219 @@
+export const translators = [
+ { name: "Osaa7coded", words: 120995 },
+ { name: "Boluwatife (boluwatife_4523)", words: 110645 },
+ { name: "Joe Chen (Joe-Chen)", words: 97349 },
+ { name: "Ucadriotad", words: 77866 },
+ { name: "Ukkasha Farqaleet (ukkaxah)", words: 68389 },
+ { name: "Ajayi Daniel (DanielAyomide)", words: 63036 },
+ { name: "Gagas Prasetyo (gagaspras14)", words: 61338 },
+ { name: "Jorge Maldonado Ventura (jorgesumle)", words: 59269 },
+ { name: "Fuji Ar (fuji.anggara10)", words: 58979 },
+ { name: "Stefan Marinkov (StefanMarinkov)", words: 56918 },
+ { name: "bajoma burton (Magolla)", words: 56379 },
+ { name: "Sunday Abisoye (Abisoye01)", words: 54398 },
+ { name: "Lê Hưng (theminhhung)", words: 53363 },
+ { name: "George Kitsoukakis (mr_giorgos)", words: 49890 },
+ { name: "Arthur Chibuike (Arthur_Owl)", words: 47000 },
+ { name: "Nguyễn Đức Trọng (0xTrong90)", words: 44755 },
+ { name: "Tristan-He", words: 43701 },
+ { name: "Jokowdd", words: 40080 },
+ { name: "Edike isreal (JoeyGodramsey)", words: 39012 },
+ { name: "DOladoyin", words: 39009 },
+ { name: "roifnaufal21", words: 37263 },
+ { name: "Sarah jones (Sarah004)", words: 37096 },
+ { name: "Carla (Carla78)", words: 36739 },
+ { name: "Daniel Onyedikachukwu (Cashman001)", words: 36422 },
+ { name: "Cesssa_Will", words: 35544 },
+ { name: "Soyemi David Olasubomi (Dking2244)", words: 34203 },
+ { name: "cryptocoinpurse.eth (cryptoraketeros)", words: 32484 },
+ { name: "Satglow", words: 31682 },
+ { name: "MXNTRADER1", words: 27323 },
+ { name: "wosek_", words: 25595 },
+ { name: "Nelson Ayo (Nolongerbehemoth)", words: 24236 },
+ { name: "emmanuelogheneovo", words: 23914 },
+ { name: "0xCm (comme.le.gnu)", words: 23178 },
+ { name: "Đặng Hoàng Lâm (lamdanghoang)", words: 22929 },
+ { name: "Shoque.eth (shoque_eth)", words: 22131 },
+ { name: "Akins16", words: 18451 },
+ { name: "Pio268000", words: 18407 },
+ { name: "Bulela Gomoshe (bulela)", words: 18314 },
+ { name: "Henderson Mateus (henderson.mateus1)", words: 17764 },
+ { name: "Snazzy1000000", words: 17745 },
+ { name: "Habibu Ridwan (Yahabibullah1)", words: 16590 },
+ { name: "scarlet188888", words: 15887 },
+ { name: "Rahayu Rafikahwulan Sari (RahayuRafika_12)", words: 15542 },
+ { name: "Renan D (ReDzin)", words: 15516 },
+ { name: "0xknife", words: 14783 },
+ { name: "michael chinemelu (michaelchinemelu24)", words: 14470 },
+ { name: "Moses Kayode (Dgwen)", words: 14248 },
+ { name: "Michelle Mtoni (michellewambaya)", words: 14100 },
+ { name: "XRion (Xrion)", words: 13112 },
+ { name: "Saidu Sokoto (bibo7086)", words: 12821 },
+ { name: "Amina Sulaiman (Ummey_ib)", words: 12371 },
+ { name: "Ceci (hyperalchemy)", words: 12017 },
+ { name: "Amarachukwu_Precious", words: 11833 },
+ { name: "Saanu Funmi (saanufunmi04)", words: 11629 },
+ { name: "Kehinde Olusanya (kolusanya4)", words: 11590 },
+ { name: "Tijani Oyindamola (Damola37)", words: 11495 },
+ { name: "Tukur Kwairanga (Kwairanga360)", words: 11313 },
+ { name: "Anuoluwapo Shorinola (0xTianah)", words: 11075 },
+ { name: "Kabir Adam (Ak.adamms)", words: 10781 },
+ { name: "Emmanuel Ifediora (kenez)", words: 10153 },
+ { name: "Jordi (breathejmp)", words: 10109 },
+ { name: "Jeremiah Bulus (d_wordifyer)", words: 9559 },
+ { name: "sophiesworld.", words: 8967 },
+ { name: "Effect Chen (EffectChen)", words: 8463 },
+ { name: "ZZip | zharjac.eth (zharjac)", words: 8438 },
+ { name: "nathaniel nanle (nathanielnanle)", words: 8247 },
+ { name: "SamJay", words: 8159 },
+ { name: "itsxdamdam", words: 8036 },
+ { name: "Olusanya Emmanuel (olusanyatee13)", words: 8032 },
+ { name: "Adebodun Mayokun (mayor_)", words: 8025 },
+ { name: "Blessing Samuel (dicethedev)", words: 7811 },
+ { name: "ahmad abuzaid (0xOZ)", words: 7712 },
+ { name: "Bogdan Dovbysh (dovbyshbgd)", words: 7601 },
+ { name: "Hiroyuki Naito (HiroyukiNaito)", words: 7574 },
+ { name: "Sunny Cheng (hmsc)", words: 7446 },
+ { name: "Paul Eze (peze5724)", words: 7375 },
+ { name: "Nazir Muhammad Ladan (Nazir01)", words: 7225 },
+ { name: "Bhatti Studio (neemibhatti)", words: 7195 },
+ { name: "Marafrika", words: 7073 },
+ { name: "Huu Pham (giahuu5b)", words: 7036 },
+ { name: "Val111", words: 6847 },
+ { name: "Felix Elenwo (IAmLickz)", words: 6712 },
+ { name: "Valarie ademba (valarieademba84)", words: 6708 },
+ { name: "Oluwatobiloba Olusanya (oluwatobilobaolusanya)", words: 6521 },
+ { name: "ItsRibery", words: 6321 },
+ { name: "schole.eth (de_garden)", words: 6198 },
+ { name: "Kwaku Amoakohene (KwakuAAnalyst)", words: 6081 },
+ { name: "odytr", words: 5876 },
+ { name: "mearaf tadewos (mearaf)", words: 5774 },
+ { name: "Ademuyiwa Michael (MichaelKinggggg)", words: 5719 },
+ { name: "Karim Nyumba (karimnyumba)", words: 5666 },
+ { name: "DREY (Dreythegreat)", words: 5643 },
+ { name: "Joseph Raji (noos3)", words: 5553 },
+ { name: "Hưng Đoàn (hungdoanqdn)", words: 5369 },
+ { name: "Aisha_sulaiman", words: 5299 },
+ { name: "Sagitario", words: 5264 },
+ { name: "Lowboy123", words: 4964 },
+ { name: "Asseke Hypolithe (Hypolithe)", words: 4865 },
+ { name: "Pedro (pedrovilela)", words: 4798 },
+ { name: "Fefe Sho (fefesho)", words: 4704 },
+ { name: "Ye Huang (ARarsenic)", words: 4696 },
+ { name: "Gift Nkara (tulipunity)", words: 4599 },
+ { name: "Ishaq Abubakar (Algebra-jr)", words: 4579 },
+ { name: "Anastasia Dostanko (AnastasiaDostanko)", words: 4574 },
+ { name: "Dosa Alexander (alexanderdosa)", words: 4535 },
+ { name: "Ziko Isaac (zicotee)", words: 4485 },
+ { name: "Barosky_Dev", words: 4138 },
+ { name: "Mercy Aremu Modupe (Tweb3girl)", words: 4137 },
+ { name: "Farouk Adam (NamedFarouk)", words: 4077 },
+ { name: "Julien (Gregster31)", words: 4021 },
+ { name: "BaelFire", words: 3908 },
+ { name: "Emanuel Leonard (emanuelleonard)", words: 3886 },
+ { name: "Chí Anh Hạ (ItsChiAnh)", words: 3848 },
+ { name: "Bala Jessey (balajessey1943)", words: 3770 },
+ { name: "Wilkins Morales (w1lkns)", words: 3757 },
+ { name: "Kinako Mochihara (kinakomochihara)", words: 3562 },
+ { name: "Anastasia Lumina (lumina.envisions)", words: 3505 },
+ { name: "omsify", words: 3503 },
+ { name: "Headwitch (headwitch)", words: 3464 },
+ { name: "TOJIA (QueenTojia)", words: 3368 },
+ { name: "Batlord77", words: 3276 },
+ { name: "ODEWALE Timileyin Eunice (Temmytee)", words: 3233 },
+ { name: "Igordost", words: 3183 },
+ { name: "Agbo Joseph (nvestorajje)", words: 3154 },
+ { name: "favour onyebuchi (favourbuchi)", words: 3171 },
+ { name: "Ayinde", words: 2856 },
+ { name: "Moses Joshua (Jaux)", words: 2843 },
+ { name: "George Vincent (georgevin2000)", words: 2793 },
+ { name: "robertdo216", words: 2711 },
+ { name: "Zeke Toriola (zeketoriola)", words: 2653 },
+ { name: "Son Nguyen (TSonn18)", words: 2574 },
+ { name: "Jonas Neubert (Coram_Deo)", words: 2527 },
+ { name: "Ishq_ibra", words: 2396 },
+ { name: "Haruna Idris (harunaidrisguru)", words: 2373 },
+ { name: "ninja (ninja2114)", words: 2312 },
+ { name: "Bernieforyou", words: 2286 },
+ { name: "Stormzy01", words: 2275 },
+ { name: "Hammad Hussain (hammad_8881)", words: 2108 },
+ { name: "AgataTekla", words: 2092 },
+ { name: "Arinze Ezenwa (Dattebayo8523)", words: 2087 },
+ { name: "omahs", words: 2067 },
+ { name: "darasimi221", words: 2060 },
+ { name: "Andre Owano (jakakelo)", words: 2004 },
+ { name: "Flerygold", words: 1974 },
+ { name: "dadabosade", words: 1961 },
+ { name: "jay_baby7", words: 1927 },
+ { name: "Manojkumar T (manojmanoj2222001)", words: 1819 },
+ { name: "Youcee", words: 1801 },
+ { name: "emmanuel agbaje (dypumping)", words: 1792 },
+ { name: "4tunate_123", words: 1780 },
+ { name: "Lion Prado (lionprado38)", words: 1720 },
+ { name: "DaisyVerse", words: 1688 },
+ { name: "oreoluwa David (david2k20)", words: 1686 },
+ { name: "bayraqi", words: 1675 },
+ { name: "Daveofspaceship", words: 1665 },
+ { name: "Yungeasy", words: 1644 },
+ { name: "Ajax_felixx", words: 1642 },
+ { name: "Franklyn Ude (udefranklynchukwuka1)", words: 1641 },
+ { name: "B4LIFE 🥷⌘ (B4LIFE34)", words: 1595 },
+ { name: "Olukorede", words: 1579 },
+ { name: "Myworldx", words: 1568 },
+ { name: "Adeliz", words: 1564 },
+ { name: "natal78", words: 1561 },
+ { name: "Thel_ma", words: 1534 },
+ { name: "Olabimpesolanke_20", words: 1530 },
+ { name: "Fawaz Damilare (Dhami007)", words: 1489 },
+ { name: "Praise Adekoya (adekoyapraise89)", words: 1471 },
+ { name: "UsmanT", words: 1455 },
+ { name: "FooEze", words: 1440 },
+ { name: "Ademuyiwa Elijah (ademuyiwaelijah)", words: 1404 },
+ { name: "Sophie247", words: 1377 },
+ { name: "Narek 9523 (narek9523)", words: 1374 },
+ { name: "semicof", words: 1373 },
+ { name: "Kempmaple", words: 1360 },
+ { name: "Joshjosh999", words: 1357 },
+ { name: "Godwin Oluwaseun (Mkdartistry)", words: 1348 },
+ { name: "Patiencist", words: 1348 },
+ { name: "Eli.ej", words: 1343 },
+ { name: "Đạt Nguyễn Minh (dfrvci)", words: 1336 },
+ { name: "Lakeside0147", words: 1321 },
+ { name: "Betty Afolabi (devduchess)", words: 1318 },
+ { name: "sultan sekoni (BabafemiBraut)", words: 1313 },
+ { name: "isinasli", words: 1299 },
+ { name: "Sokolayam Adam (Halily)", words: 1296 },
+ { name: "Elizabeth Ololade (Lolly08.)", words: 1271 },
+ { name: "Fk_welding", words: 1266 },
+ { name: "Akinotunla Ayomide (akinotunlaayomide005)", words: 1238 },
+ { name: "Kassie", words: 1224 },
+ { name: "AJC", words: 1222 },
+ { name: "Palatable500", words: 1220 },
+ { name: "Ollllllllllllllie", words: 1215 },
+ { name: "Gogox", words: 1213 },
+ { name: "Chimezie (Bigflery)", words: 1183 },
+ { name: "Adewuyi Oluwafunmilayo (joyful_semi_09)", words: 1168 },
+ { name: "Minh Huong (HuongTran)", words: 1167 },
+ { name: "isabella de brito (britodeisabella)", words: 1164 },
+ { name: "Creativity Enthusiast (CreativityEnthusiast)", words: 1156 },
+ { name: "Katexoxo", words: 1156 },
+ { name: "Oluwatobiloba AWORINDE (o.aworinde.fna2023062)", words: 1153 },
+ { name: "ZxStim (zxstim)", words: 1151 },
+ { name: "Ebenezar Tosin (tosben01)", words: 1122 },
+ { name: "pojilina", words: 1121 },
+ { name: "Samskid", words: 1115 },
+ { name: "Hashpack Doctor (hashpackdoctor)", words: 1109 },
+ { name: "Nobleatim", words: 1102 },
+ { name: "Memex", words: 1098 },
+ { name: "Just_living", words: 1095 },
+ { name: "Akhighu Marvelous (marvelousakhighu)", words: 1093 },
+ { name: "brano0197", words: 1090 },
+ { name: "Cryptochad", words: 1071 },
+ { name: "CAD852", words: 1064 },
+ { name: "Eko Yanuarso Budi (ekoyanu99)", words: 1059 },
+ { name: "Won (linguist_won)", words: 1034 },
+ { name: "Jhammed", words: 1032 },
+ { name: "Phenomenalme", words: 1027 },
+ { name: "Elen_defi", words: 1022 },
+ { name: "Temilayo", words: 1018 },
+]
diff --git a/app/[locale]/contributing/translation-program/translatathon/leaderboard/page.tsx b/app/[locale]/contributing/translation-program/translatathon/leaderboard/page.tsx
index 9087c2d1c7f..4d558a7bc91 100644
--- a/app/[locale]/contributing/translation-program/translatathon/leaderboard/page.tsx
+++ b/app/[locale]/contributing/translation-program/translatathon/leaderboard/page.tsx
@@ -11,33 +11,19 @@ import { APPLICATION_END_DATE } from "@/components/Translatathon/constants"
import PaperformCallToAction from "@/components/Translatathon/PaperformCallToAction"
import { getAppPageContributorInfo } from "@/lib/utils/contributors"
-import { dataLoader } from "@/lib/utils/data/dataLoader"
import { isDateReached } from "@/lib/utils/date"
import { getMetadata } from "@/lib/utils/metadata"
-import { BASE_TIME_UNIT } from "@/lib/constants"
-
import { Leaderboard } from "./_components/Leaderboard"
import TranslatathonLeaderboardJsonLD from "./page-jsonld"
-import { fetchTranslatathonTranslators } from "@/lib/api/fetchTranslatathonTranslators"
import heroImg from "@/public/images/heroes/translatathon-hero.png"
-// 24 hours
-const REVALIDATE_TIME = BASE_TIME_UNIT * 24
-
-const loadData = dataLoader(
- [["translatathonTranslators", fetchTranslatathonTranslators]],
- REVALIDATE_TIME * 1000
-)
-
const Page = async ({ params }: { params: Promise<{ locale: string }> }) => {
const { locale } = await params
setRequestLocale(locale)
- const [translatathonTranslators] = await loadData()
-
const heroProps = {
title: "2025 Ethereum.org Translatathon",
breadcrumbs: {
@@ -156,13 +142,7 @@ const Page = async ({ params }: { params: Promise<{ locale: string }> }) => {
Final scores will be announced after all the evaluations are
completed!
- {translatathonTranslators.length > 0 ? (
-
- ) : (
-
- No data available
-
- )}
+
{isDateReached(APPLICATION_END_DATE) && (
diff --git a/app/[locale]/what-is-the-ethereum-network/page.tsx b/app/[locale]/what-is-the-ethereum-network/page.tsx
index 06816125fcc..767c3dd1864 100644
--- a/app/[locale]/what-is-the-ethereum-network/page.tsx
+++ b/app/[locale]/what-is-the-ethereum-network/page.tsx
@@ -37,7 +37,7 @@ const Page = async ({ params }: { params: Promise<{ locale: Lang }> }) => {
const commitHistoryCache: CommitHistory = {}
const { contributors, lastEditLocaleTimestamp } =
await getAppPageContributorInfo(
- "what-is-ethereum-network",
+ "what-is-the-ethereum-network",
locale as Lang,
commitHistoryCache
)
diff --git a/public/content/contributing/translation-program/translatathon/index.md b/public/content/contributing/translation-program/translatathon/index.md
index 5a6409ab586..686d3467cda 100644
--- a/public/content/contributing/translation-program/translatathon/index.md
+++ b/public/content/contributing/translation-program/translatathon/index.md
@@ -75,23 +75,23 @@ For more details, [see the full Terms & conditions](/contributing/translation-pr
## Prizes {#prizes}
-| Placement | Prize amount |
-|-------------------|--------------|
-| 1st place | $4000 |
-| 2nd place | $2500 |
-| 3rd place | $1500 |
-| 4th place | $1100 |
-| 5th place | $1000 |
-| 6th place | $600 |
-| 7th place | $550 |
-| 8th place | $500 |
-| 9th place | $450 |
-| 10th place | $400 |
-| 11th - 20th place | $240 |
-
-Plus additional prize tiers for **top 50, top 100, top 150**, and participatory prizes for all other eligible participants.
-
-The remaining prizes will be distributed dynamically based on the total number of eligible participants.
+| Placement | Prize amount |
+|---------------------|--------------|
+| 1st place | $4000 |
+| 2nd place | $2500 |
+| 3rd place | $1500 |
+| 4th place | $1100 |
+| 5th place | $1000 |
+| 6th place | $600 |
+| 7th place | $550 |
+| 8th place | $500 |
+| 9th place | $450 |
+| 10th place | $400 |
+| 11th - 20th place | $240 |
+| 21st - 50th place | $120 |
+| 51st - 100th place | $60 |
+| 101st - 150th place | $40 |
+| Rest | $20 |
All prizes will be paid out in ETH.
diff --git a/public/content/roadmap/fusaka/index.md b/public/content/roadmap/fusaka/index.md
index 8514389cb49..495fb6d6005 100644
--- a/public/content/roadmap/fusaka/index.md
+++ b/public/content/roadmap/fusaka/index.md
@@ -22,13 +22,14 @@ The Fusaka upgrade is only a single step in Ethereum's long-term development goa
This is the _headliner_ of the Fusaka fork, the main feature added in this upgrade. Layer 2s currently post their data to Ethereum in blobs, the ephemeral data type created specifically for layer 2s. Pre-Fusaka, every full node has to store every blob to ensure that the data exists. As blob throughput rises, having to download all of this data becomes untenably resource-intensive.
-With [data availability sampling](https://notes.ethereum.org/@fradamt/das-fork-choice) , instead of having to store all of the blob data, each node will be responsible for a subset of the blob data. Blobs are uniformly randomly distributed across nodes in the network with each full node holding only 1/8th of the data, therefore enabling theoretical scale up to 8x. To ensure availability of the data, any portion of the data can be reconstructed from any existing 50% of the whole with methods that drive down the probability of wrong or missing data to a cryptographically negligible level (~one in 10²⁰ to one in 10²⁴).
+With [data availability sampling](https://notes.ethereum.org/@fradamt/das-fork-choice) , instead of having to store all of the blob data, each node will be responsible for a subset of the blob data. Blobs are uniformly randomly distributed across nodes in the network with each full node holding only 1/8th of the data, therefore enabling theoretical scale up to 8x. To ensure availability of the data, any portion of the data can be reconstructed from any existing 50% of the whole with methods that drive down the probability of wrong or missing data to a cryptographically negligible level (~one in 1020 to one in 1024).
This keeps hardware and bandwidth requirements for nodes tenable while enabling blob scaling resulting in more scale with smaller fees for layer 2s.
[Learn more about PeerDAS](/roadmap/fusaka/peerdas/)
**Resources**:
+
- [EIP-7594 technical specification](https://eips.ethereum.org/EIPS/eip-7594)
- [DappLion on PeerDAS: Scaling Ethereum Today | ETHSofia 2024](https://youtu.be/bONWd1x2TjQ?t=328)
- [Academic: A Documentation of Ethereum’s PeerDAS (PDF)](https://eprint.iacr.org/2024/1362.pdf)
@@ -62,10 +63,10 @@ EIP-7918 pins a proportional reserve price under every blob. When the reserve is
- base-fee spikes on the EL can no longer strand the blob fee at 1 wei
**Resources**:
+
- [EIP-7918 technical specification](https://eips.ethereum.org/EIPS/eip-7918)
- [Storybook explainer](https://notes.ethereum.org/@anderselowsson/AIG)
-
### Scale L1 {#scale-l1}
#### History expiry and simpler receipts {#history-expiry}
@@ -108,16 +109,16 @@ By better matching costs to actual processing time, MODEXP can no longer cause a
#### RLP Execution Block Size Limit {#rlp-execution-block-size-limit}
-This creates a ceiling on how big a block is allowed to be - this is a limit on what's *sent* over the network and is separate from the gas limit, which limits the *work* inside a block. The block size cap is 10 MiB, with a small allowance (2 MiB) reserved for consensus data so that everything fits and propagates cleanly. If a block shows up bigger than that, the clients reject it.
+This creates a ceiling on how big a block is allowed to be - this is a limit on what's _sent_ over the network and is separate from the gas limit, which limits the _work_ inside a block. The block size cap is 10 MiB, with a small allowance (2 MiB) reserved for consensus data so that everything fits and propagates cleanly. If a block shows up bigger than that, the clients reject it.
This is needed because very large blocks take longer to spread and verify across the network and can create consensus issues or be abused as a DoS vector. Also, the consensus layer’s gossip already won’t forward blocks over ~10 MiB, so aligning the execution layer to that limit avoids weird “seen by some, dropped by others” situations.
The nitty-gritty: this is a cap on the [RLP](/developers/docs/data-structures-and-encoding/rlp/)-encoded execution block size. 10 MiB total, with a 2 MiB safety margin reserved for beacon-block framing. Practically, clients define
-`MAX_BLOCK_SIZE = 10,485,760` bytes and
+`MAX_BLOCK_SIZE = 10,485,760` bytes and
-`SAFETY_MARGIN = 2,097,152` bytes,
+`SAFETY_MARGIN = 2,097,152` bytes,
-and reject any execution block whose RLP payload exceeds
+and reject any execution block whose RLP payload exceeds
`MAX_RLP_BLOCK_SIZE = MAX_BLOCK_SIZE − SAFETY_MARGIN`
@@ -159,7 +160,8 @@ UX upgrade! For users, this unlocks device-native signing and passkeys. Wallets
For developers, it takes a 160-byte input and returns a 32-byte output, making it easy to port existing libraries and L2 contracts. Under the hood, it includes point-at-infinity and modular-comparison checks to eliminate tricky edge cases without breaking valid callers.
-**Resources**:
+**Resources**:
+
- [EIP-7951 technical specification](https://eips.ethereum.org/EIPS/eip-7951)
- [More about RIP-7212](https://www.alchemy.com/blog/what-is-rip-7212) _(Note that EIP-7951 superseded RIP-7212)_
diff --git a/public/content/roadmap/fusaka/peerdas/index.md b/public/content/roadmap/fusaka/peerdas/index.md
index 8b3595494d3..2325a2db209 100644
--- a/public/content/roadmap/fusaka/peerdas/index.md
+++ b/public/content/roadmap/fusaka/peerdas/index.md
@@ -4,6 +4,8 @@ description: Learn about PeerDAS as part of the Fusaka Ethereum protocol upgrade
lang: en
---
+# PeerDAS {#peer-das}
+
The Ethereum protocol is undergoing its most significant scaling upgrade since the [introduction of blob transactions with EIP-4844](/roadmap/danksharding/). As part of the [Fusaka upgrade](/roadmap/fusaka/), PeerDAS introduces a new way of handling blob data, delivering roughly an order-of-magnitude increase in **[data availability (DA)](/developers/docs/data-availability/)** capacity for L2s.
[More on blob scaling roadmap](https://blog.ethereum.org/2025/08/22/protocol-update-002)