Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
40 commits
Select commit Hold shift + click to select a range
a0ce353
page setup
corwintines Sep 24, 2025
b9c078b
Merge branch 'ethereum-history-and-founder' into what-is-ether
corwintines Sep 26, 2025
6f6a495
abstract HighlightCard
corwintines Sep 26, 2025
571ea81
what is ether page
corwintines Sep 29, 2025
4f11323
column header
corwintines Sep 29, 2025
a8c8dce
deprecate old markdown versions
corwintines Sep 29, 2025
d2537be
remove old /eth page
corwintines Sep 29, 2025
991c3a4
redirects
corwintines Sep 29, 2025
8065cb0
/eth -> /what-is-ether internal links
corwintines Sep 29, 2025
27f415e
nav
corwintines Sep 29, 2025
178a339
Merge branch 'dev' into ethereum-history-and-founder
corwintines Sep 30, 2025
0df9427
Merge branch 'ethereum-history-and-founder' into what-is-ether
corwintines Sep 30, 2025
876fab2
add structured data
corwintines Sep 30, 2025
869c050
Merge branch 'dev' into what-is-ether
wackerow Oct 21, 2025
e9e7bc3
Merge branch 'dev' into what-is-ether
wackerow Oct 27, 2025
4691f1c
refactor: use ui/alert; info banner deprecated
wackerow Oct 28, 2025
913e7a6
Update src/intl/en/page-what-is-ether.json
konopkja Oct 29, 2025
d99e7eb
Update src/intl/en/page-what-is-ether.json
konopkja Oct 29, 2025
99178ba
Update src/intl/en/page-what-is-ether.json
konopkja Oct 29, 2025
1d523f6
Update src/intl/en/page-what-is-ether.json
konopkja Oct 29, 2025
bb7ba39
Update src/intl/en/page-what-is-ether.json
konopkja Oct 29, 2025
3f04416
Update src/intl/en/page-what-is-ether.json
konopkja Oct 29, 2025
f2ca833
Merge branch 'dev' into what-is-ether
corwintines Nov 15, 2025
f88591f
Update app/[locale]/what-is-ether/page.tsx
corwintines Nov 15, 2025
4953ecf
Update app/[locale]/what-is-ether/page.tsx
corwintines Nov 15, 2025
03eeb0f
cleanup spacing
corwintines Nov 15, 2025
3e614bb
Update app/[locale]/what-is-ether/page.tsx
corwintines Nov 15, 2025
9482aa8
copy update
corwintines Nov 15, 2025
e32d3ed
Update src/intl/en/page-what-is-ether.json
corwintines Nov 15, 2025
d97e451
Update src/intl/en/page-what-is-ether.json
corwintines Nov 15, 2025
bcc5d79
Update src/intl/en/page-what-is-ether.json
corwintines Nov 15, 2025
12bf0ad
Update src/intl/en/page-what-is-ether.json
corwintines Nov 15, 2025
fddb3d6
Update src/intl/en/page-what-is-ether.json
corwintines Nov 15, 2025
bccbf93
Update src/intl/en/page-what-is-ether.json
corwintines Nov 15, 2025
775eb50
Update src/intl/en/page-what-is-ether.json
corwintines Nov 15, 2025
c27f1a6
Update src/intl/en/page-what-is-ether.json
corwintines Nov 15, 2025
488612e
copy updates
corwintines Nov 15, 2025
db0152d
Merge branch 'what-is-ether' of https://github.com/ethereum/ethereum-…
corwintines Nov 15, 2025
1399520
fix keys
corwintines Nov 15, 2025
3ad85ec
add who holds the most eth content
corwintines Nov 16, 2025
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
478 changes: 0 additions & 478 deletions app/[locale]/eth/_components/eth.tsx

This file was deleted.

68 changes: 0 additions & 68 deletions app/[locale]/eth/page.tsx

This file was deleted.

76 changes: 76 additions & 0 deletions app/[locale]/what-is-ether/_components/GasTable.tsx
Original file line number Diff line number Diff line change
@@ -0,0 +1,76 @@
import { getTranslations } from "next-intl/server"

import {
Table,
TableBody,
TableCell,
TableHead,
TableHeader,
TableRow,
} from "@/components/ui/table"

const GasTable = async () => {
const t = await getTranslations({
namespace: "page-what-is-ether",
})

const etherscanApiKey = process.env.ETHERSCAN_API_KEY

const gwei = await fetch(
`https://api.etherscan.io/v2/api?chainid=1&module=gastracker&action=gasoracle&apikey=${etherscanApiKey}`
).then((res) => res.json())
const ethPrice = await fetch(
`https://api.etherscan.io/v2/api?chainid=1&module=stats&action=ethprice&apikey=${etherscanApiKey}`
).then((res) => res.json())

// Calculate transaction costs in USD
const gasPrice = parseFloat(gwei.result.ProposeGasPrice) // Gas price in gwei
const ethPriceUSD = parseFloat(ethPrice.result.ethusd) // ETH price in USD

const calculateCost = (gasUnits: number) => {
const costInETH = gasUnits * gasPrice * 1e-9 // Convert gwei to ETH
const costInUSD = costInETH * ethPriceUSD
return `$${costInUSD.toFixed(2)}`
}

return (
<Table variant="highlight-first-column">
<TableHeader>
<TableRow>
<TableHead>
{t("page-what-is-ether-gas-table-transaction-type")}
</TableHead>
<TableHead>
{t("page-what-is-ether-gas-table-typical-cost-range")}
</TableHead>
<TableHead>
{t("page-what-is-ether-gas-table-estimated-gas-units")}
</TableHead>
</TableRow>
</TableHeader>
<TableBody>
<TableRow>
<TableCell>{t("page-what-is-ether-gas-table-row-1-1")}</TableCell>
<TableCell>{calculateCost(21000)}</TableCell>
<TableCell>21,000 gas</TableCell>
</TableRow>
<TableRow>
<TableCell>{t("page-what-is-ether-gas-table-row-2-1")}</TableCell>
<TableCell>
{calculateCost(125000)} - {calculateCost(150000)}
</TableCell>
<TableCell>100,000 - 150,000 gas</TableCell>
</TableRow>
<TableRow>
<TableCell>{t("page-what-is-ether-gas-table-row-3-1")}</TableCell>
<TableCell>
{calculateCost(200000)} - {calculateCost(500000)}
</TableCell>
<TableCell>200,000 - 500,000 gas</TableCell>
</TableRow>
</TableBody>
</Table>
)
}

export default GasTable
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ import PageJsonLD from "@/components/PageJsonLD"

import { normalizeUrlForJsonLd } from "@/lib/utils/url"

export default async function EthPageJsonLD({
export default async function WhatIsEtherPageJsonLD({
locale,
lastEditLocaleTimestamp,
contributors,
Expand All @@ -16,24 +16,24 @@ export default async function EthPageJsonLD({
contributors: FileContributor[]
}) {
const t = await getTranslations({
namespace: "page-eth",
namespace: "page-what-is-ether",
})

const url = normalizeUrlForJsonLd(locale, `/eth/`)
const url = normalizeUrlForJsonLd(locale, `/what-is-ether/`)

const contributorList = contributors.map((contributor) => ({
"@type": "Person",
name: contributor.login,
url: contributor.html_url,
}))

// JSON-LD structured data for the Ether/ETH page
// JSON-LD structured data for the What is Ether page
const webPageJsonLd = {
"@context": "https://schema.org",
"@type": "WebPage",
"@id": url,
name: t("page-eth-whats-eth"),
description: t("page-eth-is-money"),
name: t("page-what-is-ether-meta-title"),
description: t("page-what-is-ether-meta-description"),
url: url,
inLanguage: locale,
contributor: contributorList,
Expand All @@ -56,19 +56,15 @@ export default async function EthPageJsonLD({
{
"@type": "ListItem",
position: 2,
name: t("page-eth-whats-eth"),
item: normalizeUrlForJsonLd(locale, "/eth/"),
name: t("page-what-is-ether-title"),
item: url,
},
],
},
publisher: {
"@type": "Organization",
name: "ethereum.org",
url: "https://ethereum.org",
logo: {
"@type": "ImageObject",
url: "https://ethereum.org/images/eth-home-icon.png",
},
},
reviewedBy: {
"@type": "Organization",
Expand All @@ -81,14 +77,13 @@ export default async function EthPageJsonLD({
},
}

// JSON-LD for the article content about Ether
// JSON-LD for the article content
const articleJsonLd = {
"@context": "https://schema.org",
"@type": "Article",
headline: t("page-eth-whats-eth"),
description: t("page-eth-is-money"),
headline: t("page-what-is-ether-title"),
description: t("page-what-is-ether-meta-description"),
image: "https://ethereum.org/images/eth.png",
contributor: contributorList,
author: [
{
"@type": "Organization",
Expand All @@ -100,16 +95,8 @@ export default async function EthPageJsonLD({
"@type": "Organization",
name: "ethereum.org",
url: "https://ethereum.org",
logo: {
"@type": "ImageObject",
url: "https://ethereum.org/images/eth-home-icon.png",
},
},
dateModified: lastEditLocaleTimestamp,
mainEntityOfPage: {
"@type": "WebPage",
"@id": url,
},
contributor: contributorList,
reviewedBy: {
"@type": "Organization",
name: "ethereum.org",
Expand All @@ -119,13 +106,21 @@ export default async function EthPageJsonLD({
url: "https://ethereum.org/images/eth-home-icon.png",
},
},
about: {
"@type": "DigitalCurrency",
name: "Ether",
alternateName: ["ETH", "Ethereum"],
symbol: "ETH",
blockchain: "Ethereum",
},
about: [
{
"@type": "Thing",
name: "Ether (ETH)",
description:
"The native cryptocurrency of the Ethereum network used for transactions, staking, and powering applications",
},
{
"@type": "Thing",
name: "Ethereum",
description:
"A decentralized platform for applications and digital economies powered by smart contracts",
},
],
dateModified: lastEditLocaleTimestamp,
}

return <PageJsonLD structuredData={[webPageJsonLd, articleJsonLd]} />
Expand Down
Loading