Skip to content

Release candidate v9.7.0 #15088

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 180 commits into from
Mar 12, 2025
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
180 commits
Select commit Hold shift + click to select a range
7ad3d80
13199(docs):proofs & edit
m4sterbunny Jun 19, 2024
eb3a23b
Merge branch 'dev' into 13199-node-clients
m4sterbunny Jun 25, 2024
1d4c6dd
reverts style update to match guide
m4sterbunny Jun 25, 2024
c96dc71
reissues image update
m4sterbunny Jun 25, 2024
8af9207
reverts style update in line with guide
m4sterbunny Jun 25, 2024
a7949aa
Update public/content/developers/docs/nodes-and-clients/node-architec…
m4sterbunny Jun 26, 2024
7807f7b
Update index.md
m4sterbunny Jun 26, 2024
1d86572
Update index.md
m4sterbunny Jun 27, 2024
f490fdf
Merge branch 'dev' into 13199-node-clients
m4sterbunny Jun 27, 2024
42a1ff6
Delete public/content/developers/docs/nodes-and-clients/node-architec…
m4sterbunny Jun 27, 2024
2d8c2fa
Delete public/content/developers/docs/nodes-and-clients/node-architec…
m4sterbunny Jun 27, 2024
899fe10
Add files via upload
m4sterbunny Jun 27, 2024
f617d7b
Delete public/content/developers/docs/nodes-and-clients/node-architec…
m4sterbunny Jun 27, 2024
95554ec
Besu version with features added
m4sterbunny Jun 27, 2024
f14d7ba
QA round
m4sterbunny Jun 27, 2024
37f1714
QA round
m4sterbunny Jun 27, 2024
540e55c
update: node architecture image asset
wackerow Jun 27, 2024
5927f86
update index.md for paige donner
thanedouglass Jul 22, 2024
0ab61c9
Merge branch 'ethereum:dev' into 13199-node-clients
m4sterbunny Nov 11, 2024
a834ed3
Removes false attribution: original image kept and modified
m4sterbunny Nov 12, 2024
c932874
Added Kiwi app to the dapp repository [Issue #14463]
Dec 13, 2024
5797241
shortened the description
Dec 13, 2024
d97f175
setup storybook
corwintines Jan 29, 2025
b399692
Initial states for top of file component
corwintines Jan 29, 2025
3581b78
Cleanup tags
JoeChenJ Feb 3, 2025
bf9c85b
scripts and audio files
corwintines Feb 4, 2025
b8a3fcb
Update scripts.md - wallet
konopkja Feb 5, 2025
12dc28a
Update script.md - what is ethereum
konopkja Feb 5, 2025
99b953e
player
corwintines Feb 11, 2025
1c62d16
fix first play bug
corwintines Feb 11, 2025
7f5bdad
next article timer
corwintines Feb 12, 2025
56a9e0f
styling and story for in context use
corwintines Feb 12, 2025
cdd1ba1
fix build errors
corwintines Feb 12, 2025
8d21119
Get feature on pages
corwintines Feb 12, 2025
113f082
Merge branch 'dev' into listen-to-feature
corwintines Feb 12, 2025
67e3243
docs(roadmap): add PeerDAS context to EIP-7691 description
samcm Feb 13, 2025
2c0f5ca
Update script.md
konopkja Feb 13, 2025
426e254
Update script.md
konopkja Feb 13, 2025
b359cad
Update scripts.md
konopkja Feb 13, 2025
7a0f165
Update script.md
konopkja Feb 13, 2025
51d6b53
fix(fetchGitHistory): update github token env key name
TylerAPfledderer Feb 19, 2025
03a77a4
chore(.env.example): add comment for GH token key usage
TylerAPfledderer Feb 19, 2025
30b9dc6
refactor(link-box): use `asChild strategy for `LinkBox` component
TylerAPfledderer Feb 19, 2025
8679041
fix(icons): update icons with createIconBase
TylerAPfledderer Feb 19, 2025
5e55ce4
refactor(tailwind.config): use current breakpoint set in maxWidth scale
TylerAPfledderer Feb 19, 2025
13da521
refactor: create import alias for `.storybook` directory
TylerAPfledderer Feb 19, 2025
693aae9
fix: alter max-width values from variant updates
TylerAPfledderer Feb 19, 2025
c2ba7bb
Update index.md
AvulaRamSwaroop Feb 19, 2025
1632f99
fix(ButtonTwoLines): ensure variant prop reaches base button component
TylerAPfledderer Feb 19, 2025
dec397a
fix(SendReceive.stories): stop eth price updates during chromatic sna…
TylerAPfledderer Feb 19, 2025
66ea78a
bounty leaderboard update
fredrik0x Feb 20, 2025
19a072d
adding toni
fredrik0x Feb 20, 2025
4984479
fix Aaderyn -> Aderyn in all the translations as well
Feb 21, 2025
8432236
clickable text and text primary
corwintines Feb 24, 2025
be89b0d
title popups and mobile styling for player
corwintines Feb 24, 2025
0f47f19
move audio files to data folder
corwintines Feb 24, 2025
7395ee7
FeedbackWidget context
corwintines Feb 25, 2025
f884680
matomo
corwintines Feb 25, 2025
feca57b
shadow naming
corwintines Feb 25, 2025
07fb79f
code cleanup change requests
corwintines Feb 25, 2025
1a9fa8e
Portal styling
corwintines Feb 25, 2025
3bd7140
a11y
corwintines Feb 25, 2025
ac3c80c
fix extra sound playing bug
corwintines Feb 25, 2025
a415b5e
next functinality bug
corwintines Feb 25, 2025
7871070
copy update
corwintines Feb 25, 2025
dc16b2e
audio updates
corwintines Feb 25, 2025
5825bda
Merge branch 'dev' into listen-to-feature
corwintines Feb 25, 2025
50f0bdb
Merge remote-tracking branch 'upstream/dev' into fix/ButtonTwoLines-o…
TylerAPfledderer Feb 25, 2025
48fd344
Merge remote-tracking branch 'upstream/dev' into fix/SendReceive-stor…
TylerAPfledderer Feb 25, 2025
cebe20f
Merge remote-tracking branch 'upstream/dev' into refactor/tailwind-ma…
TylerAPfledderer Feb 25, 2025
2df245b
Merge remote-tracking branch 'upstream/dev' into fix/fetchGitHistory-…
TylerAPfledderer Feb 25, 2025
c301cdf
Merge remote-tracking branch 'upstream/dev' into refactor/linkbox-asC…
TylerAPfledderer Feb 25, 2025
b42b22e
Merge remote-tracking branch 'upstream/dev' into fix/icons-use-create…
TylerAPfledderer Feb 25, 2025
b1aa19c
Merge remote-tracking branch 'upstream/dev' into refactor/storybook-d…
TylerAPfledderer Feb 25, 2025
1e056a7
Replace useRouter with usePathname for ListenToPlayer slug
corwintines Feb 25, 2025
ae8ca5b
add background
corwintines Feb 25, 2025
b6d4524
update X accounts after ethereum foundation split
konopkja Feb 26, 2025
2dc93f1
Merge branch 'dev' into listen-to-feature
corwintines Feb 27, 2025
f23b215
fix: center ListenToPlayer widget on mobile screens
corwintines Feb 27, 2025
c6b1d45
fix: wrap ListenToPlayer in div for improved layout
corwintines Feb 27, 2025
2e2f886
Merge pull request #14987 from ethereum/staging
corwintines Feb 27, 2025
71c6f86
Merge branch 'dev' into listen-to-feature
corwintines Feb 27, 2025
891a997
feat: Add tooltips to PlayerWidget buttons for improved UX
corwintines Feb 27, 2025
15778de
fix: Adjust z-index and add wrapper div to PlayerWidget
corwintines Feb 27, 2025
2059157
chore: import translations for cs
actions-user Mar 1, 2025
ca9d5e1
chore: import translations for de
actions-user Mar 1, 2025
e0f9eb0
chore: import translations for el
actions-user Mar 1, 2025
3872b2b
chore: import translations for hi
actions-user Mar 1, 2025
5b50a82
chore: import translations for te
actions-user Mar 1, 2025
f71ce78
chore: import translations for tr
actions-user Mar 1, 2025
308b204
chore: import translations for uk
actions-user Mar 1, 2025
69ff2bb
chore: import translations for zh
actions-user Mar 1, 2025
cf3b5af
fix: Reduce z-index of ListenToPlayer widget
corwintines Mar 1, 2025
c78d0d9
feat: Add track index and total tracks to PlayerWidget navigation
corwintines Mar 1, 2025
034b9fc
Merge pull request #13239 from m4sterbunny/13199-node-clients
corwintines Mar 2, 2025
cf2a387
fix: dead link
hunterfarq Mar 2, 2025
c0c5d0f
fix wrong translation keys
JoeChenJ Mar 3, 2025
1a49bc3
fix wrong translation keys
JoeChenJ Mar 3, 2025
ec739e7
fix: fix unexpected translation keys on gas page [Fixes #15021]
FcoGomez92 Mar 3, 2025
f79f5a5
feat: Add ListenToPlayer component to content pages
corwintines Mar 3, 2025
3f71308
feat: Improve PlayerWidget tooltips for mobile responsiveness
corwintines Mar 3, 2025
917189e
fix url
0xngmi Mar 3, 2025
be56e7b
Update Crowdin translation progress
actions-user Mar 7, 2025
2a65662
docs: fix minor stylistic issue in "Adding products" section
zkpepe Mar 7, 2025
361d7fc
Remove non braking space character visible in french version
Mar 8, 2025
ede72b8
Update community events
actions-user Mar 9, 2025
b64d4e5
Merge pull request #15036 from toine08/toine08_fork
corwintines Mar 9, 2025
c6f4e75
Merge pull request #15031 from zkpepe/patch-2
corwintines Mar 9, 2025
e0dfcc9
Merge pull request #15023 from 0xngmi/patch-2
corwintines Mar 9, 2025
62a5bd4
Merge pull request #15029 from ethereum/automated-update-20250307162856
corwintines Mar 9, 2025
0bad664
Merge pull request #15039 from ethereum/automated-update-20250309002258
corwintines Mar 9, 2025
a649b19
Merge pull request #15022 from FcoGomez92/fix_gas_page_unexpected_tra…
corwintines Mar 9, 2025
789d178
Merge pull request #15020 from JoeChenJ/Fix_wrong_translation_keys
corwintines Mar 9, 2025
08655b6
Merge pull request #15019 from hunterfarq/patch-2
corwintines Mar 9, 2025
c918a24
Merge pull request #14985 from ethereum/konopkja-patch-2
corwintines Mar 9, 2025
cb9c502
Merge pull request #14894 from samcm/dev
corwintines Mar 9, 2025
e576419
Merge remote-tracking branch 'upstream/dev' into fix/ButtonTwoLines-o…
TylerAPfledderer Mar 9, 2025
e5b21bb
Merge pull request #14952 from ethereum/fredriksvantes-patch-1
corwintines Mar 9, 2025
cc1c544
Merge pull request #14956 from BOR4/dev
corwintines Mar 9, 2025
139a468
Merge remote-tracking branch 'upstream/dev' into fix/SendReceive-stor…
TylerAPfledderer Mar 9, 2025
21bc685
Merge remote-tracking branch 'upstream/dev' into refactor/tailwind-ma…
TylerAPfledderer Mar 9, 2025
9a4a481
Merge remote-tracking branch 'upstream/dev' into fix/fetchGitHistory-…
TylerAPfledderer Mar 9, 2025
fa3576f
Merge remote-tracking branch 'upstream/dev' into refactor/linkbox-asC…
TylerAPfledderer Mar 9, 2025
553d49a
Merge remote-tracking branch 'upstream/dev' into fix/icons-use-create…
TylerAPfledderer Mar 9, 2025
8b9025c
Merge pull request #14943 from AvulaRamSwaroop/patch-3
corwintines Mar 9, 2025
3f31dc8
Merge remote-tracking branch 'upstream/dev' into refactor/storybook-d…
TylerAPfledderer Mar 9, 2025
5d42031
docs: fix wording in "YouTube and X" section
hexcow Mar 10, 2025
ebcbe0e
docs: fix verb agreement in benefits section
defiberrys Mar 10, 2025
c3e9e22
docs: fix grammar issue with article usage before "time zone"
defiberrys Mar 10, 2025
a78e1b9
fix dead link in `bug-bounty.tsx`
dramarereg Mar 10, 2025
a566834
Update dead link
dramarereg Mar 10, 2025
8047de8
Update dead link
dramarereg Mar 10, 2025
a2522ad
Update dead link
dramarereg Mar 10, 2025
353b7f0
Update dead link
dramarereg Mar 10, 2025
2c892c7
Merge pull request #14936 from TylerAPfledderer/fix/fetchGitHistory-t…
pettinarip Mar 10, 2025
90cbc7b
Merge pull request #14937 from TylerAPfledderer/refactor/linkbox-asCh…
pettinarip Mar 10, 2025
601c3a1
Merge pull request #14941 from TylerAPfledderer/refactor/storybook-di…
pettinarip Mar 10, 2025
7d5880f
Merge pull request #14946 from TylerAPfledderer/fix/SendReceive-story…
pettinarip Mar 10, 2025
14fe1cd
Merge pull request #14945 from TylerAPfledderer/fix/ButtonTwoLines-ou…
pettinarip Mar 10, 2025
cb1e21f
Fix: Updated TrueUSD link
LifeofDan-EL Mar 10, 2025
21e72cf
docs: fix typo in documentation
ozrg Mar 10, 2025
bf85c8e
revert(tailwind.config): replace size override with `max-w-screen-*`
TylerAPfledderer Mar 10, 2025
8781434
Merge remote-tracking branch 'upstream/dev' into refactor/tailwind-ma…
TylerAPfledderer Mar 10, 2025
2303d64
fix(MobileFilters): remove class typo
TylerAPfledderer Mar 10, 2025
b822c78
build(deps): bump prismjs from 1.29.0 to 1.30.0
dependabot[bot] Mar 10, 2025
a53023c
Merge pull request #14939 from TylerAPfledderer/fix/icons-use-createI…
pettinarip Mar 11, 2025
95b1067
Merge pull request #14940 from TylerAPfledderer/refactor/tailwind-max…
pettinarip Mar 11, 2025
fca09d1
fix: markdown-checker results
wackerow Mar 11, 2025
d9ddd6e
Merge pull request #14995 from ethereum/crowdin-march-cs-202503010442…
wackerow Mar 11, 2025
0e557e5
fix: markdown-checker results
wackerow Mar 11, 2025
1826af8
Merge pull request #14996 from ethereum/crowdin-march-de-202503010442…
wackerow Mar 11, 2025
6e4d80d
fix: markdown checker results
wackerow Mar 11, 2025
95f7a84
Merge pull request #14997 from ethereum/crowdin-march-el-202503010442…
wackerow Mar 11, 2025
5051bb6
Merge pull request #15001 from ethereum/crowdin-march-hi-202503010442…
wackerow Mar 11, 2025
b6baef5
Merge pull request #15009 from ethereum/crowdin-march-te-202503010443…
wackerow Mar 11, 2025
816d17e
Merge pull request #15010 from ethereum/crowdin-march-tr-202503010443…
wackerow Mar 11, 2025
5452801
Merge pull request #15011 from ethereum/crowdin-march-uk-202503010443…
wackerow Mar 11, 2025
927a92f
fix: markdown-checker results
wackerow Mar 11, 2025
9c2f261
fix: markdown-checker results
wackerow Mar 11, 2025
8026d02
Merge pull request #15013 from ethereum/crowdin-march-zh-202503010443…
wackerow Mar 11, 2025
8ce4ac5
Merge branch 'dev' into pr/MacBudkowski/14502
corwintines Mar 11, 2025
247af5d
Merge pull request #14502 from MacBudkowski/kiwi
corwintines Mar 11, 2025
6896ddd
Merge pull request #15050 from ethereum/dependabot/npm_and_yarn/prism…
corwintines Mar 11, 2025
bc3e10d
Merge pull request #15040 from hexcow/patch-3
corwintines Mar 11, 2025
6ed8246
Merge pull request #15041 from defiberrys/patch-2
corwintines Mar 11, 2025
685f639
build(deps): bump axios from 1.7.4 to 1.8.2
dependabot[bot] Mar 11, 2025
5e2ba6f
Merge pull request #15042 from defiberrys/patch-3
corwintines Mar 11, 2025
b901ee6
Merge pull request #15043 from dramarereg/dev
corwintines Mar 11, 2025
102b9b1
Merge pull request #14817 from JoeChenJ/Cleanup_excessive_tags_on_Tut…
corwintines Mar 11, 2025
7cc43cc
Correctly set HTML lang attribute
minimalsm Mar 11, 2025
f54fb4d
Merge pull request #15048 from ozrg/patch-2
corwintines Mar 11, 2025
a8c893a
Merge pull request #15047 from LifeofDan-EL/Stablecoin-page
corwintines Mar 11, 2025
438bec9
Merge pull request #15056 from ethereum/dependabot/npm_and_yarn/axios…
corwintines Mar 11, 2025
ad491e0
Merge branch 'dev' into pr/thanedouglass/13448
corwintines Mar 11, 2025
38d8712
Merge pull request #13448 from thanedouglass/thanedouglass-patch-1
corwintines Mar 11, 2025
f7f4df0
Merge pull request #15058 from ethereum/fixLangAttributeBug
pettinarip Mar 12, 2025
6226f59
Merge pull request #15087 from ethereum/staging
corwintines Mar 12, 2025
94a27f0
Merge pull request #14820 from ethereum/listen-to-feature
corwintines Mar 12, 2025
d5f35ce
v9.7.0
corwintines Mar 12, 2025
9a3de91
Merge pull request #15090 from ethereum/v9-7-0
corwintines Mar 12, 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
2 changes: 2 additions & 0 deletions .env.example
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,8 @@
# NEXT_PUBLIC_ALGOLIA_APP_ID=insertValue
# NEXT_PUBLIC_ALGOLIA_SEARCH_KEY=insertValue
# NEXT_PUBLIC_ALGOLIA_BASE_SEARCH_INDEX_NAME=insertValue

# Github token for read-only use with api functions
# NEXT_PUBLIC_GITHUB_TOKEN_READ_ONLY=insertValue

# Etherscan API key (required for Etherscan API fetches)
Expand Down
4 changes: 2 additions & 2 deletions .eslintrc.json
Original file line number Diff line number Diff line change
Expand Up @@ -33,8 +33,8 @@
["^@/data"],
// From the `constants` directory.
["^@/lib/constants"],
// From the `.storybook/utils` file
["^@/storybook-utils"],
// `.storybook` directory and utils files`
["^@/storybook","^@/storybook-utils"],
// Parent imports. Put `..` last.
["^\\.\\.(?!/?$)", "^\\.\\./?$"],
// Other relative imports. Put same-folder imports and `.` last.
Expand Down
7 changes: 7 additions & 0 deletions .storybook/main.ts
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
import path from "path"

import TsconfigPathsPlugin from "tsconfig-paths-webpack-plugin"
import type { StorybookConfig } from "@storybook/nextjs"

Expand Down Expand Up @@ -51,6 +53,11 @@ const config: StorybookConfig = {
extensions: config.resolve.extensions,
}),
]

config.resolve.alias = {
...config.resolve.alias,
"@/storybook/*": path.resolve(__dirname, "./.storybook/"),
}
}

// This modifies the existing image rule to exclude .svg files
Expand Down
2 changes: 1 addition & 1 deletion docs/review-process.md
Original file line number Diff line number Diff line change
Expand Up @@ -42,7 +42,7 @@ Typographical and grammatical errors are medium-priority as small errors of this

### Adding products

Adding new products is currently a low-to-medium priority (depending on the type of product). These pull requests often take a long time to review as we must extensively research products to ensure we not sending our users to any dubious or unsafe products.
Adding new products is currently a low-to-medium priority (depending on the type of product). These pull requests often take a long time to review as we must extensively research products to ensure we are not sending our users to any dubious or unsafe products.

**Timeline:** PRs should be closed or merged within 30 days of opening.

Expand Down
8 changes: 8 additions & 0 deletions next.config.js
Original file line number Diff line number Diff line change
Expand Up @@ -59,6 +59,14 @@ module.exports = (phase, { defaultConfig }) => {
// Modify the file loader rule to ignore *.svg, since we have it handled now.
fileLoaderRule.exclude = /\.svg$/i

config.module.rules.push({
test: /\.(mp3)$/,
type: "asset/resource",
generator: {
filename: "static/media/[name][ext]",
},
})

return config
},
trailingSlash: true,
Expand Down
5 changes: 3 additions & 2 deletions package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "ethereum-org-website",
"version": "9.6.0",
"version": "9.7.0",
"license": "MIT",
"private": true,
"scripts": {
Expand Down Expand Up @@ -57,6 +57,7 @@
"ethereum-blockies-base64": "^1.0.2",
"framer-motion": "^10.13.0",
"gray-matter": "^4.0.3",
"howler": "^2.2.4",
"htmr": "^1.0.2",
"lodash.merge": "^4.6.2",
"lodash.shuffle": "^4.2.0",
Expand All @@ -67,7 +68,7 @@
"next-sitemap": "^4.2.3",
"next-themes": "^0.3.0",
"prism-react-renderer": "1.1.0",
"prismjs": "^1.27.0",
"prismjs": "^1.30.0",
"react": "^18.2.0",
"react-chartjs-2": "^5.2.0",
"react-dom": "^18.2.0",
Expand Down
5 changes: 3 additions & 2 deletions public/content/community/online/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -57,10 +57,11 @@ If you believe a community should be added or removed based on these guidelines,
<SocialListItem socialIcon="webpage"><Link href="https://ethereum.stackexchange.com/">Ethereum Stack Exchange</Link> <i>- question and answer forum</i></SocialListItem>
<SocialListItem socialIcon="webpage"><Link href="https://app.peera.ai/">Peera Community Forum</Link> <i>- decentralized question and answer forum</i></SocialListItem>

## YouTube and X formerly (Twitter) {#youtube-and-twitter}
## YouTube and X (formerly Twitter) {#youtube-and-twitter}

<SocialListItem socialIcon="youtube"><Link href="https://www.youtube.com/c/EthereumFoundation">Ethereum Foundation</Link> - Keep up to date with the latest from the Ethereum Foundation</SocialListItem>
<SocialListItem socialIcon="twitter"><Link href="https://x.com/ethereum">@ethereum</Link> - Official account of the Ethereum Foundation</SocialListItem>
<SocialListItem socialIcon="twitter"><Link href="https://x.com/ethereum">@ethereum</Link> - Main Ethereum account for the community</SocialListItem>
<SocialListItem socialIcon="twitter"><Link href="https://x.com/ethereumfndn">@ethereumfndn</Link> - Official account of the Ethereum Foundation</SocialListItem>
<SocialListItem socialIcon="twitter"><Link href="https://x.com/ethdotorg">@ethdotorg</Link> - The portal to Ethereum, built for our growing global community</SocialListItem>
<SocialListItem socialIcon="webpage"><Link href="https://hive.one/c/ethereum?page=1">List of influential Ethereum twitter accounts</Link></SocialListItem>

Expand Down
2 changes: 1 addition & 1 deletion public/content/decentralized-identity/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,7 @@ These traditional examples of identifiers are issued, held and controlled by cen

1. Decentralized identity increases individual control of identifying information. Decentralized identifiers and attestations can be verified without relying on centralized authorities and third-party services.

2. Decentralized identity solutions facilitates a trustless, seamless, and privacy-protecting method for verifying and managing user identity.
2. Decentralized identity solutions facilitate a trustless, seamless, and privacy-protecting method for verifying and managing user identity.

3. Decentralized identity harnesses blockchain technology, which creates trust between different parties and provides cryptographic guarantees to prove the validity of attestations.

Expand Down
2 changes: 1 addition & 1 deletion public/content/defi/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,7 @@ One of the best ways to see the potential of DeFi is to understand the problems
- Financial services can block you from getting paid.
- A hidden charge of financial services is your personal data.
- Governments and centralized institutions can close down markets at will.
- Trading hours are often limited to business hours of specific time zone.
- Trading hours are often limited to business hours of a specific time zone.
- Money transfers can take days due to internal human processes.
- There's a premium to financial services because intermediary institutions need their cut.

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -63,7 +63,7 @@ Calldata refers to the bytes sent as part of the transaction. It is stored as pa

This is the cheapest method to permanently put data in the blockchain. The cost per byte is either 4 execution gas (if the byte is zero) or 16 gas (any other value). If the data is compressed, which is standard practice, then every byte value is equally likely, so the average cost is approximately 15.95 gas per byte.

At writing the prices are 12 gwei/gas and 2300 $/ETH, which means the cost is approximately 45 cents per kilobyte. Because this was the cheapest method prior to EIP-4844, this is the method rollups used to store transaction information, which need to be available for [fault challenges](https://docs.optimism.io/stack/protocol/overview#fault-proofs), but do not need to be accessible directly onchain.
At the time of writing, the prices are 12 gwei/gas and 2300 $/ETH, which means the cost is approximately 45 cents per kilobyte. Because this was the cheapest method prior to EIP-4844, this is the method rollups used to store transaction information, which need to be available for [fault challenges](https://docs.optimism.io/stack/protocol/overview#fault-proofs), but do not need to be accessible directly onchain.

Here are the addresses to see the transactions posted by some famous rollups.

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,19 +4,21 @@ description: Introduction to how Ethereum nodes are organized.
lang: en
---

An Ethereum node is composed of two clients: an [execution client](/developers/docs/nodes-and-clients/#execution-clients) and a [consensus client](/developers/docs/nodes-and-clients/#consensus-clients).
An Ethereum node is composed of two clients: an [execution client](/developers/docs/nodes-and-clients/#execution-clients) and a [consensus client](/developers/docs/nodes-and-clients/#consensus-clients). For a node to propose a new block, it must also run a [validator client](#validators).

When Ethereum was using [proof-of-work](/developers/docs/consensus-mechanisms/pow/), an execution client was enough to run a full Ethereum node. However, since implementing [proof-of-stake](/developers/docs/consensus-mechanisms/pow/), the execution client needs to be used alongside another piece of software called a [consensus client](/developers/docs/nodes-and-clients/#consensus-clients).
When Ethereum was using [proof-of-work](/developers/docs/consensus-mechanisms/pow/), an execution client was enough to run a full Ethereum node. However, since implementing [proof-of-stake](/developers/docs/consensus-mechanisms/pow/), the execution client must be used alongside another piece of software called a [consensus client](/developers/docs/nodes-and-clients/#consensus-clients).

The diagram below shows the relationship between the two Ethereum clients. The two clients connect to their own respective peer-to-peer (P2P) networks. Separate P2P networks are needed as the execution clients gossip transactions over their P2P network, enabling them to manage their local transaction pool, whilst the consensus clients gossip blocks over their P2P network, enabling consensus and chain growth.

![](node-architecture-text-background.png)

For this two-client structure to work, consensus clients must be able to pass bundles of transactions to the execution client. Executing the transactions locally is how the client validates that the transactions do not violate any Ethereum rules and that the proposed update to Ethereum’s state is correct. Likewise, when the node is selected to be a block producer the consensus client must be able to request bundles of transactions from Geth to include in the new block and execute them to update the global state. This inter-client communication is handled by a local RPC connection using the [engine API](https://github.com/ethereum/execution-apis/blob/main/src/engine/common.md).
_There are several options for the execution client including Erigon, Nethermind, and Besu_.

For this two-client structure to work, consensus clients must pass bundles of transactions to the execution client. The execution client executes the transactions locally to validate that the transactions do not violate any Ethereum rules and that the proposed update to Ethereum’s state is correct. When a node is selected to be a block producer its consensus client instance requests bundles of transactions from the execution client to include in the new block and execute them to update the global state. The consensus client drives the execution client via a local RPC connection using the [Engine API](https://github.com/ethereum/execution-apis/blob/main/src/engine/common.md).

## What does the execution client do? {#execution-client}

The execution client is responsible for transaction handling, transaction gossip, state management and supporting the Ethereum Virtual Machine ([EVM](/developers/docs/evm/)). However, it is **not** responsible for block building, block gossiping or handling consensus logic. These are in the remit of the consensus client.
The execution client is responsible for transaction validation, handling, and gossip, along with state management and supporting the Ethereum Virtual Machine ([EVM](/developers/docs/evm/)). It is **not** responsible for block building, block gossiping or handling consensus logic. These are in the remit of the consensus client.

The execution client creates execution payloads - the list of transactions, updated state trie, and other execution-related data. Consensus clients include the execution payload in every block. The execution client is also responsible for re-executing transactions in new blocks to ensure they are valid. Executing transactions is done on the execution client's embedded computer, known as the [Ethereum Virtual Machine (EVM)](/developers/docs/evm).

Expand All @@ -35,15 +37,15 @@ The consensus client does not participate in attesting to or proposing blocks -

## Validators {#validators}

Node operators can add a validator to their consensus clients by depositing 32 ETH in the deposit contract. The validator client comes bundled with the consensus client and can be added to a node at any time. The validator handles attestations and block proposals. They enable a node to accrue rewards or lose ETH via penalties or slashing. Running the validator software also makes a node eligible to be selected to propose a new block.
Staking and running the validator software makes a node eligible to be selected to propose a new block. Node operators can add a validator to their consensus clients by depositing 32 ETH in the deposit contract. The validator client comes bundled with the consensus client and can be added to a node at any time. The validator handles attestations and block proposals. It also enables a node to accrue rewards or lose ETH via penalties or slashing.

[More on staking](/staking/).

## Components of a node comparison {#node-comparison}

| Execution Client | Consensus Client | Validator |
| -------------------------------------------------- | ---------------------------------------------------------------- | ---------------------------- |
| Gossips transactions over its p2p network | Gossips blocks and attestations over its p2p network | Proposes blocks |
| Gossips transactions over its P2P network | Gossips blocks and attestations over its P2P network | Proposes blocks |
| Executes/re-executes transactions | Runs the fork choice algorithm | Accrues rewards/penalties |
| Verifies incoming state changes | Keeps track of the head of the chain | Makes attestations |
| Manages state and receipts tries | Manages the Beacon state (contains consensus and execution info) | Requires 32 ETH to be staked |
Expand Down
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file not shown.
Original file line number Diff line number Diff line change
Expand Up @@ -115,7 +115,7 @@ The existence of audits and bug bounties doesn’t excuse your responsibility to

- Use a [development environment](/developers/docs/frameworks/) for testing, compiling, deploying smart contracts

- Run your code through basic code analysis tools, such as, [Cyfrin Aaderyn](https://github.com/Cyfrin/aderyn), Mythril and Slither. Ideally, you should do this before each pull request is merged and compare differences in output
- Run your code through basic code analysis tools, such as, [Cyfrin Aderyn](https://github.com/Cyfrin/aderyn), Mythril and Slither. Ideally, you should do this before each pull request is merged and compare differences in output

- Ensure your code compiles without errors, and the Solidity compiler emits no warnings

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -259,7 +259,7 @@ The major difference is that bug bounty programs are open to the wider developer

- **[Brownie unit testing framework](https://eth-brownie.readthedocs.io/en/v1.0.0_a/tests.html)** - _Brownie utilizes Pytest, a feature-rich test framework that lets you write small tests with minimal code, scales well for large projects, and is highly extendable._

- **[Foundry Tests](https://github.com/foundry-rs/foundry/tree/master/forge)** - _Foundry offers Forge, a fast and flexible Ethereum testing framework capable of executing simple unit tests, gas optimization checks, and contract fuzzing._
- **[Foundry Tests](https://github.com/foundry-rs/foundry/tree/master/crates/forge)** - _Foundry offers Forge, a fast and flexible Ethereum testing framework capable of executing simple unit tests, gas optimization checks, and contract fuzzing._

- **[Hardhat Tests](https://hardhat.org/hardhat-runner/docs/guides/test-contracts)** - _Framework for testing smart contracts based on ethers.js, Mocha, and Chai._

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -146,7 +146,7 @@ Freezing and thawing contracts requires several changes:
mapping(address => bool) public frozenAccounts;
```

- [Events](https://www.tutorialspoint.com/solidity/solidity_events.htm) to inform anybody interested when an account is frozen or thawed. Technically speaking events are not required for these actions, but it helps offchain code to be able to listen to these events and know what is happening. It's considered good manners for a smart contract to emit them when something that miught be relevant to somebody else happens.
- [Events](https://www.tutorialspoint.com/solidity/solidity_events.htm) to inform anybody interested when an account is frozen or thawed. Technically speaking events are not required for these actions, but it helps offchain code to be able to listen to these events and know what is happening. It's considered good manners for a smart contract to emit them when something that might be relevant to somebody else happens.

The events are indexed so will be possible to search for all the times an account has been frozen or thawed.

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ tags:
"alchemy",
"smart contracts",
"deploying",
"blockexplorer",
"block explorer",
"frontend",
"transactions",
]
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ title: How to use Slither to find smart contract bugs
description: How to use Slither to automatically find bugs in smart contracts
author: Trailofbits
lang: en
tags: ["solidity", "smart contracts", "security", "testing", "static analysis"]
tags: ["solidity", "smart contracts", "security", "testing"]
skill: advanced
published: 2020-06-09
source: Building secure contracts
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
title: IPFS for decentralized user interfaces
description: This tutorial teaches the reader how to use IPFS to store the user interface for a dapp. Although the application's data and business logic are decentralized, without a censorship resistant user interface users might lose access to it anyway.
author: Ori Pomerantz
tags: ["ipfs", "user interface"]
tags: ["ipfs"]
skill: beginner
lang: en
published: 2024-06-29
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ title: Kickstart your dapp frontend development with create-eth-app
description: An overview of how to use create-eth-app and its features
author: "Markus Waas"
tags:
["create-eth-app", "frontend", "javascript", "ethers.js", "the graph", "defi"]
["frontend", "javascript", "ethers.js", "the graph", "defi"]
skill: beginner
lang: en
published: 2020-04-27
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ description: After reading this tutorial, you will be able to write TypeScript s

author: Ori Pomerantz
lang: en
tags: ["agent", "server", "offchain", "centralized"]
tags: ["agent", "server", "offchain"]
skill: beginner
published: 2024-07-15
---
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,6 @@ tags:
"smart contracts",
"querying",
"the graph",
"create-eth-app",
"react",
]
skill: intermediate
Expand Down
2 changes: 1 addition & 1 deletion public/content/history/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -113,7 +113,7 @@ Protocol efficiency and security improvements:

</ExpandableCard>

- [Pectra.wtf](https//pectra.wtf)
- [Pectra.wtf](https://pectra.wtf)
- [How Pectra will enhance the staking experience](https://www.kiln.fi/post/next-ethereum-upgrade-how-pectra-will-enhance-the-staking-experience)
- [Read the Electra upgrade specifications](https://github.com/ethereum/consensus-specs/blob/dev/specs/electra/)
- [Prague-Electra ("Pectra") FAQ](/roadmap/pectra/)
Expand Down
Loading
Loading