diff --git a/.all-contributorsrc b/.all-contributorsrc index ff708ef6b20..87074ce41b4 100644 --- a/.all-contributorsrc +++ b/.all-contributorsrc @@ -1308,7 +1308,8 @@ "avatar_url": "https://avatars2.githubusercontent.com/u/25974464?v=4", "profile": "https://twitter.com/wslyvh", "contributions": [ - "content" + "content", + "infra" ] }, { @@ -1521,7 +1522,7 @@ "login": "sassal", "name": "sassal", "avatar_url": "https://avatars0.githubusercontent.com/u/9276959?v=4", - "profile": "https//twitter.com/sassal0x", + "profile": "https://twitter.com/sassal0x", "contributions": [ "content" ] @@ -8830,7 +8831,7 @@ "login": "joonspoon", "name": "June Clarke ", "avatar_url": "https://avatars.githubusercontent.com/u/302478?v=4", - "profile": "jointheleague.org", + "profile": "https://www.jointheleague.org/", "contributions": [ "doc" ] @@ -8839,7 +8840,7 @@ "login": "slf188", "name": "菲利", "avatar_url": "https://avatars.githubusercontent.com/u/49417481?v=4", - "profile": "huggingface.co/slf188", + "profile": "https://huggingface.co/slf188", "contributions": [ "doc" ] @@ -11101,6 +11102,355 @@ "contributions": [ "content" ] + }, + { + "login": "zarifpour", + "name": "Daniel Zarifpour", + "avatar_url": "https://avatars.githubusercontent.com/u/16494335?v=4", + "profile": "http://zarifpour.xyz", + "contributions": [ + "content" + ] + }, + { + "login": "intldds", + "name": "intldds", + "avatar_url": "https://avatars.githubusercontent.com/u/80983240?v=4", + "profile": "https://github.com/intldds", + "contributions": [ + "content" + ] + }, + { + "login": "hodlon", + "name": "Hodlon", + "avatar_url": "https://avatars.githubusercontent.com/u/37387563?v=4", + "profile": "https://hodlon.art", + "contributions": [ + "content" + ] + }, + { + "login": "M4x28", + "name": "Leonardo Birardi", + "avatar_url": "https://avatars.githubusercontent.com/u/64036726?v=4", + "profile": "https://github.com/M4x28", + "contributions": [ + "doc" + ] + }, + { + "login": "Flamenk", + "name": "Parrot Iwai", + "avatar_url": "https://avatars.githubusercontent.com/u/78525550?v=4", + "profile": "https://github.com/Flamenk", + "contributions": [ + "doc", + "translation" + ] + }, + { + "login": "starwalker00", + "name": "starwalker00", + "avatar_url": "https://avatars.githubusercontent.com/u/68958932?v=4", + "profile": "https://github.com/starwalker00", + "contributions": [ + "bug", + "doc" + ] + }, + { + "login": "Eversmile12", + "name": "VItto Rivabella", + "avatar_url": "https://avatars.githubusercontent.com/u/72762629?v=4", + "profile": "http://vitto.cc", + "contributions": [ + "doc" + ] + }, + { + "login": "olafnub", + "name": "Andy Li", + "avatar_url": "https://avatars.githubusercontent.com/u/101077165?v=4", + "profile": "https://www.linkedin.com/in/andy-li-65284220b/", + "contributions": [ + "bug", + "doc" + ] + }, + { + "login": "maxammann", + "name": "Max Ammann", + "avatar_url": "https://avatars.githubusercontent.com/u/905221?v=4", + "profile": "https://maxammann.org/", + "contributions": [ + "doc" + ] + }, + { + "login": "dswilson4", + "name": "dswilson4", + "avatar_url": "https://avatars.githubusercontent.com/u/33137497?v=4", + "profile": "https://github.com/dswilson4", + "contributions": [ + "content" + ] + }, + { + "login": "vbaranov", + "name": "Victor Baranov", + "avatar_url": "https://avatars.githubusercontent.com/u/4341812?v=4", + "profile": "https://ethereum.stackexchange.com/users/2128/viktor-baranov", + "contributions": [ + "doc" + ] + }, + { + "login": "drehuwann", + "name": "drehuwann", + "avatar_url": "https://avatars.githubusercontent.com/u/62968123?v=4", + "profile": "https://github.com/drehuwann", + "contributions": [ + "doc" + ] + }, + { + "login": "greetfish", + "name": "junble", + "avatar_url": "https://avatars.githubusercontent.com/u/11615617?v=4", + "profile": "https://github.com/greetfish", + "contributions": [ + "ideas" + ] + }, + { + "login": "viniciusmorais", + "name": "Vinicius de Morais", + "avatar_url": "https://avatars.githubusercontent.com/u/3915778?v=4", + "profile": "https://github.com/viniciusmorais", + "contributions": [ + "translation", + "doc" + ] + }, + { + "login": "0xhsy", + "name": "0xhsy", + "avatar_url": "https://avatars.githubusercontent.com/u/102006034?v=4", + "profile": "http://www.dsrvlabs.com", + "contributions": [ + "ideas" + ] + }, + { + "login": "enjoyooor", + "name": "enjoyooor", + "avatar_url": "https://avatars.githubusercontent.com/u/147568088?v=4", + "profile": "https://github.com/enjoyooor", + "contributions": [ + "code" + ] + }, + { + "login": "konopkja", + "name": "Jakub", + "avatar_url": "https://avatars.githubusercontent.com/u/100724231?v=4", + "profile": "http://ethereum.org", + "contributions": [ + "doc", + "content", + "design" + ] + }, + { + "login": "yusuf-musleh", + "name": "Yusuf Musleh", + "avatar_url": "https://avatars.githubusercontent.com/u/6829768?v=4", + "profile": "http://www.ymusleh.com", + "contributions": [ + "content" + ] + }, + { + "login": "acceptacross", + "name": "acceptacross", + "avatar_url": "https://avatars.githubusercontent.com/u/150119116?v=4", + "profile": "https://github.com/acceptacross", + "contributions": [ + "doc" + ] + }, + { + "login": "pdelagrave", + "name": "Pierre Delagrave", + "avatar_url": "https://avatars.githubusercontent.com/u/17990895?v=4", + "profile": "https://github.com/pdelagrave", + "contributions": [ + "bug" + ] + }, + { + "login": "blmalone", + "name": "Blaine Malone", + "avatar_url": "https://avatars.githubusercontent.com/u/15608778?v=4", + "profile": "https://medium.com/@blainemalone01", + "contributions": [ + "content" + ] + }, + { + "login": "sixhobbits", + "name": "Gareth Dwyer", + "avatar_url": "https://avatars.githubusercontent.com/u/2641205?v=4", + "profile": "https://dwyer.co.za", + "contributions": [ + "ideas" + ] + }, + { + "login": "UNOFFICIALbgd", + "name": "UNOFFICIALbgd", + "avatar_url": "https://avatars.githubusercontent.com/u/71248977?v=4", + "profile": "https://github.com/UNOFFICIALbgd", + "contributions": [ + "bug" + ] + }, + { + "login": "Codex-Bugmenot", + "name": "Codex-Bugmenot", + "avatar_url": "https://avatars.githubusercontent.com/u/59927099?v=4", + "profile": "https://github.com/Codex-Bugmenot", + "contributions": [ + "bug" + ] + }, + { + "login": "doutv", + "name": "Jason Huang", + "avatar_url": "https://avatars.githubusercontent.com/u/20609724?v=4", + "profile": "http://huangyongjin.com", + "contributions": [ + "bug" + ] + }, + { + "login": "adeolu98", + "name": "dCRYPT", + "avatar_url": "https://avatars.githubusercontent.com/u/39372980?v=4", + "profile": "https://github.com/adeolu98", + "contributions": [ + "bug" + ] + }, + { + "login": "sourabupadhya123", + "name": "Sourab", + "avatar_url": "https://avatars.githubusercontent.com/u/64914231?v=4", + "profile": "https://github.com/sourabupadhya123", + "contributions": [ + "security" + ] + }, + { + "login": "ykaravas", + "name": "ykaravas", + "avatar_url": "https://avatars.githubusercontent.com/u/6537956?v=4", + "profile": "https://github.com/ykaravas", + "contributions": [ + "bug" + ] + }, + { + "login": "allwin199", + "name": "Prince Allwin", + "avatar_url": "https://avatars.githubusercontent.com/u/127643894?v=4", + "profile": "https://allwin-portfolio.vercel.app/", + "contributions": [ + "content" + ] + }, + { + "login": "ryanpwaldon", + "name": "Ryan Waldon", + "avatar_url": "https://avatars.githubusercontent.com/u/12480362?v=4", + "profile": "https://github.com/ryanpwaldon", + "contributions": [ + "content", + "code" + ] + }, + { + "login": "4everlandorg", + "name": "4EVERLAND", + "avatar_url": "https://avatars.githubusercontent.com/u/89854839?v=4", + "profile": "https://www.4everland.org", + "contributions": [ + "tool" + ] + }, + { + "login": "iepn", + "name": "iepn", + "avatar_url": "https://avatars.githubusercontent.com/u/57232813?v=4", + "profile": "https://member.acm.org/~rhymeq", + "contributions": [ + "code" + ] + }, + { + "login": "veridelisi", + "name": "veridelisi", + "avatar_url": "https://avatars.githubusercontent.com/u/72710290?v=4", + "profile": "https://www.ispanyol.com", + "contributions": [ + "tutorial" + ] + }, + { + "login": "reetbatra", + "name": "Reet Batra", + "avatar_url": "https://avatars.githubusercontent.com/u/51335174?v=4", + "profile": "https://github.com/reetbatra", + "contributions": [ + "bug" + ] + }, + { + "login": "gndelia", + "name": "Gonzalo D'Elia", + "avatar_url": "https://avatars.githubusercontent.com/u/352474?v=4", + "profile": "https://github.com/gndelia", + "contributions": [ + "bug" + ] + }, + { + "login": "rileyannon", + "name": "Riley Annon", + "avatar_url": "https://avatars.githubusercontent.com/u/31807653?v=4", + "profile": "http://www.rileyannon.com", + "contributions": [ + "bug" + ] + }, + { + "login": "ayofimihan", + "name": "Ogunsina Champion", + "avatar_url": "https://avatars.githubusercontent.com/u/31336254?v=4", + "profile": "http://0x13.dev", + "contributions": [ + "bug" + ] + }, + { + "login": "ardislu", + "name": "Ardis Lu", + "avatar_url": "https://avatars.githubusercontent.com/u/29699850?v=4", + "profile": "http://ardislu.dev", + "contributions": [ + "doc" + ] } ], "contributorsPerLine": 7, diff --git a/.github/ISSUE_TEMPLATE/suggest_glossary_term.yaml b/.github/ISSUE_TEMPLATE/suggest_glossary_term.yaml index 4510fc1eb8b..5d2cb21c97e 100644 --- a/.github/ISSUE_TEMPLATE/suggest_glossary_term.yaml +++ b/.github/ISSUE_TEMPLATE/suggest_glossary_term.yaml @@ -31,7 +31,7 @@ body: - type: textarea id: glossary_term_sources attributes: - label: Sources, if any (please do not submit copywrited content without appropriate approval) + label: Sources, if any (please do not submit copyrighted content without appropriate approval) description: Please list any sources utilized validations: required: false diff --git a/.github/workflows/get-crowdin-contributors.yml b/.github/workflows/get-crowdin-contributors.yml index bd6f843d9bd..064c263b66d 100644 --- a/.github/workflows/get-crowdin-contributors.yml +++ b/.github/workflows/get-crowdin-contributors.yml @@ -59,5 +59,5 @@ jobs: - name: Create Pull Request run: | - gh auth login --with-token <<< ${{ secrets.GITHUB_TOKEN }} + gh auth login --with-token ${{ secrets.GITHUB_TOKEN }} gh pr create --base dev --head "automated-update-${{ env.TIMESTAMP }}" --title "Update translation contributors from Crowdin - ${{ env.READABLE_DATE }}" --body-file pr_body.txt diff --git a/.github/workflows/get-translation-progress.yml b/.github/workflows/get-translation-progress.yml index a476785c909..989906989ed 100644 --- a/.github/workflows/get-translation-progress.yml +++ b/.github/workflows/get-translation-progress.yml @@ -60,5 +60,5 @@ jobs: - name: Create Pull Request run: | - gh auth login --with-token <<< ${{ secrets.GITHUB_TOKEN }} + gh auth login --with-token ${{ secrets.GITHUB_TOKEN }} gh pr create --base dev --head "automated-update-${{ env.TIMESTAMP }}" --title "Update translation progress from Crowdin - ${{ env.READABLE_DATE }}" --body-file pr_body.txt diff --git a/.github/workflows/import-community-events.yml b/.github/workflows/import-community-events.yml new file mode 100644 index 00000000000..ca0f86a0601 --- /dev/null +++ b/.github/workflows/import-community-events.yml @@ -0,0 +1,23 @@ +name: Import community events + +on: + schedule: + - cron: "0 0 * * SUN" # Runs every Sunday at midnight + workflow_dispatch: + +jobs: + create_pr: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@master + - uses: actions/setup-node@v3 + with: + node-version: 18 + - run: yarn install + - run: yarn events-import + env: + GOOGLE_API_KEY: ${{ secrets.GOOGLE_API_KEY }} + - uses: EndBug/add-and-commit@v9 + with: + default_author: github_actions + message: "Update community events" diff --git a/README.md b/README.md index 305480f1611..8c4f4a5e53e 100644 --- a/README.md +++ b/README.md @@ -99,7 +99,7 @@ yarn dev - Explore scripts within `package.json` for more build options - Get **faster** local builds by building only one language. E.g. in your `.env` file, set `BUILD_LOCALES=en` to build the content only in English -By default the script will build all the languages (complete list in `data/translations.json`) and will ignore the `/docs` and `/tutorials` folders. To control this behavior you can play with the `BUILD_LOCALES` and `IGNORE_CONTENT` env variables. Check out `.env.example` to read more about them. +By default the script will build all the languages (complete list in `i18n.config.json`) and will ignore the `/docs` and `/tutorials` folders. To control this behavior you can play with the `BUILD_LOCALES` and `IGNORE_CONTENT` env variables. Check out `.env.example` to read more about them. 3. Commit and prepare for pull request (PR). In your PR commit message, reference the issue it resolves (see [how to link a commit message to an issue using a keyword](https://docs.github.com/en/free-pro-team@latest/github/managing-your-work-on-github/linking-a-pull-request-to-an-issue#linking-a-pull-request-to-an-issue-using-a-keyword)). @@ -371,7 +371,7 @@ Thanks goes to these wonderful people ([emoji key](https://allcontributors.org/d Yaz Khoury
Yaz Khoury

🖋 Yos Riady
Yos Riady

🖋 Andrew Cohen
Andrew Cohen

🐛 - Wesley van Heije
Wesley van Heije

🖋 + Wesley van Heije
Wesley van Heije

🖋 🚇 gr0uch0dev
gr0uch0dev

🖋 @@ -402,7 +402,7 @@ Thanks goes to these wonderful people ([emoji key](https://allcontributors.org/d Pooja Ranjan
Pooja Ranjan

🖋 - sassal
sassal

🖋 + sassal
sassal

🖋 Robert Zaremba
Robert Zaremba

🖋 Tas
Tas

🤔 🖋 Sylvain Pace
Sylvain Pace

💻 @@ -1409,8 +1409,8 @@ Thanks goes to these wonderful people ([emoji key](https://allcontributors.org/d Patoshi
Patoshi

📖 - June Clarke
June Clarke

📖 - 菲利
菲利

📖 + June Clarke
June Clarke

📖 + 菲利
菲利

📖 DamitusThyYeetus123
DamitusThyYeetus123

📖 matusame
matusame

🌍 Lohan
Lohan

💻 @@ -1730,6 +1730,56 @@ Thanks goes to these wonderful people ([emoji key](https://allcontributors.org/d Jen
Jen

💻 Eugene
Eugene

🖋 RimTaeX
RimTaeX

🖋 + Daniel Zarifpour
Daniel Zarifpour

🖋 + + + intldds
intldds

🖋 + Hodlon
Hodlon

🖋 + Leonardo Birardi
Leonardo Birardi

📖 + Parrot Iwai
Parrot Iwai

📖 🌍 + starwalker00
starwalker00

🐛 📖 + VItto Rivabella
VItto Rivabella

📖 + Andy Li
Andy Li

🐛 📖 + + + Max Ammann
Max Ammann

📖 + dswilson4
dswilson4

🖋 + Victor Baranov
Victor Baranov

📖 + drehuwann
drehuwann

📖 + junble
junble

🤔 + Vinicius de Morais
Vinicius de Morais

🌍 📖 + 0xhsy
0xhsy

🤔 + + + enjoyooor
enjoyooor

💻 + Jakub
Jakub

📖 🖋 🎨 + Yusuf Musleh
Yusuf Musleh

🖋 + acceptacross
acceptacross

📖 + Pierre Delagrave
Pierre Delagrave

🐛 + Blaine Malone
Blaine Malone

🖋 + Gareth Dwyer
Gareth Dwyer

🤔 + + + UNOFFICIALbgd
UNOFFICIALbgd

🐛 + Codex-Bugmenot
Codex-Bugmenot

🐛 + Jason Huang
Jason Huang

🐛 + dCRYPT
dCRYPT

🐛 + Sourab
Sourab

🛡️ + ykaravas
ykaravas

🐛 + Prince Allwin
Prince Allwin

🖋 + + + Ryan Waldon
Ryan Waldon

🖋 💻 + 4EVERLAND
4EVERLAND

🔧 + iepn
iepn

💻 + veridelisi
veridelisi

+ Reet Batra
Reet Batra

🐛 + Gonzalo D'Elia
Gonzalo D'Elia

🐛 + Riley Annon
Riley Annon

🐛 + + + Ogunsina Champion
Ogunsina Champion

🐛 + Ardis Lu
Ardis Lu

📖 diff --git a/docs/deploy-process.md b/docs/deploy-process.md index b470c12a867..bf11ef24675 100644 --- a/docs/deploy-process.md +++ b/docs/deploy-process.md @@ -94,3 +94,9 @@ staging O - - - - - - - O dev O - - O - - - - O ``` + +## More about the Release Candidate QA process + +The main idea behind the community QA process is to focus on the [current release changelog](https://github.com/ethereum/ethereum-org-website/releases) and check that new features or fixes applied are working as expected. During QA sessions, some notes could also be shared if we're looking for specific things to be tested. + +If you find any bug, please report it on the [#website-bugs](https://discord.com/channels/714888181740339261/727898649006309377) Discord channel. diff --git a/docs/header-ids.md b/docs/header-ids.md new file mode 100644 index 00000000000..78843772487 --- /dev/null +++ b/docs/header-ids.md @@ -0,0 +1,53 @@ +# Custom header IDs for markdown documents + +Html ID attributes are used to create links to specific sections of a document. In markdown, **custom header IDs** should be assigned to all header lines (lines that begin with one-or-more hash marks, `#`). + +## Markdown syntax + +A custom heading ID should follow these rules: + +- Placed at the end of a heading line, preceded by a space, followed by a line break +- Wrapped in curly braces +- Starts with a hash-mark +- Uses kebab-case string +- Unique for the current page + +For example: + +```markdown +## My heading {#my-heading} + +### A subheading {#a-subheading} + +#### Or a longer title that can be shortened {#long-heading} +``` + +Note that for short headers, simply lowercasing and using hyphens instead of spaces is sufficient. For longer headers, a shortened concise version of the header is encouraged. Must not repeat the same ID on the same page. + +## How are these used? + +When these headers are rendered, they come with a link icon attached to it that can be used to quickly link to that section of the document. + +Extending the above example, if we wanted to link to the `A subheading` section of the above document (for example living at path `/docs`), you could use the link`/docs#a-subheading` to link directly to that section. + +See a live example on ethereum.org: [https://ethereum.org/en/developers/docs/blocks/#block-anatomy](https://ethereum.org/en/developers/docs/blocks/#block-anatomy) + +## When to use custom header IDs + +### English content + +These should be created for header on every new English markdown document. + +### Translated content + +English files are uploaded to Crowdin for translation. Header ID's should be _inherited_ from the English version, and remain unchanged during translation. + +This is to ensure that the translated content can be linked to from other documents and external links, without breaking the path. This is similar to why path and filenames are not translated, but remain in English to simplify linking and referencing. + +See a live example on ethereum.org: [https://ethereum.org/es/developers/docs/blocks/#block-anatomy](https://ethereum.org/en/developers/docs/blocks/#block-anatomy) + +Notice the header ID is still in English (`#block-anatomy`), but links to the Spanish (`/es/`) version of the site, at the correct section. + +## When are these not needed? + +Markdown files in the repo `/docs` (such as this one) do not require custom header IDs, as they are not yet displayed on the website, and do not have translated versions. diff --git a/netlify.toml b/netlify.toml index 3e26ef59558..22bd377bb8e 100644 --- a/netlify.toml +++ b/netlify.toml @@ -22,4 +22,5 @@ "./src/intl/**/*", "!./public/**/*", "!./node_modules/@swc/core-linux-x64-musl/**/*", + "!./node_modules/@swc/core-linux-x64-gnu/**/*", ] \ No newline at end of file diff --git a/package.json b/package.json index 6561db6fbfb..e162c175408 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "ethereum-org-website", - "version": "8.0.0", + "version": "8.1.1", "private": true, "scripts": { "dev": "next dev", @@ -17,6 +17,7 @@ "chromatic": "chromatic --project-token fee8e66c9916", "crowdin-clean": "rm -rf .crowdin && mkdir .crowdin", "crowdin-import": "ts-node src/scripts/crowdin-import.ts", + "events-import": "ts-node -O '{ \"module\": \"commonjs\" }' src/scripts/events-import.ts", "markdown-checker": "ts-node -O '{ \"module\": \"commonjs\" }' src/scripts/markdownChecker.ts" }, "dependencies": { @@ -25,8 +26,8 @@ "@docsearch/react": "^3.5.2", "@emotion/react": "^11.11.1", "@emotion/styled": "^11.11.0", + "@radix-ui/react-navigation-menu": "^1.1.4", "@socialgouv/matomo-next": "^1.8.0", - "clipboard": "^2.0.11", "embla-carousel-react": "^7.0.0", "ethereum-blockies-base64": "^1.0.2", "focus-trap-react": "^10.2.3", @@ -36,7 +37,7 @@ "i18next": "^23.6.0", "lodash.merge": "^4.6.2", "lodash.shuffle": "^4.2.0", - "luxon": "^3.4.3", + "lodash.union": "^4.6.0", "next": "13.4.8", "next-i18next": "^14.0.3", "next-mdx-remote": "^3.0.8", @@ -49,7 +50,7 @@ "react-i18next": "^13.3.1", "react-icons": "^4.10.1", "react-lite-youtube-embed": "^2.4.0", - "react-select": "^4.3.0", + "react-select": "5.8.0", "reading-time": "^1.5.0", "recharts": "^2.7.3", "remark-gfm": "^3.0.1", @@ -66,7 +67,6 @@ "@storybook/testing-library": "0.2.2", "@svgr/webpack": "^8.1.0", "@types/hast": "^3.0.0", - "@types/luxon": "^3.3.2", "@types/node": "^20.4.2", "@types/react": "^18.2.15", "@types/react-dom": "^18.2.7", @@ -85,7 +85,7 @@ "storybook": "7.6.6", "storybook-react-i18next": "^2.0.9", "ts-node": "^10.9.1", - "typescript": "^5.1.6", + "typescript": "^5.4.2", "unified": "^10.0.0", "unist-util-visit": "^5.0.0" }, diff --git a/public/.well-known/security.txt b/public/.well-known/security.txt index 5be3832278f..f5633e95685 100644 --- a/public/.well-known/security.txt +++ b/public/.well-known/security.txt @@ -2,27 +2,26 @@ Hash: SHA256 Contact: mailto:security@ethereum.org -Expires: 2023-12-31T23:59:00.000Z +Expires: 2026-12-31T23:59:00.000Z Encryption: https://ethereum.org/security_at_ethereum.org.asc Acknowledgments: https://bounty.ethereum.org Preferred-Languages: en Canonical: https://ethereum.org/.well-known/security.txt Policy: https://bounty.ethereum.org Hiring: https://ethereum.org/en/community/get-involved/#ethereum-jobs - -----BEGIN PGP SIGNATURE----- -iQIzBAEBCAAdFiEErpbtlp5HmwCE8+F/6I0zNPpfagoFAmMV3bMACgkQ6I0zNPpf -agrOjhAAgMDS9RJUbJzcAybRfp/STq4Kf50TFd3iqx/t8ECw5UGazefieHesOhZ5 -9B9l6VAIHEGqbm+ukkhT+eBofhkAGEupiH/rUTy3hpFo1Ggp9QGi464Y8RyB0hID -BwjAsAVEdHyh8T6YrqxKRGvgELuEMZfuPfVhdIGU8CfEQozzuA9q3mChckXdTlSt -TvOKTMdnNPMlEhp4dT93iQaXDBAncE48TkUi/c8U4qolkskuDhZ4qJkc7xcv5Uk4 -TfF83Xs87AF9ZmABWawlCx7VHhp0HGljtGUpobf2DXV0TG77/dZzMQ4xdyqvDq+v -tm3djp3UHZVhOkDxMKpBzLnCkCvyvh/tvN4j/trdHHzXx6gEEkuiR5wPPoomCosi -95AGNFf0vpe2HucL/bOrBySxME+hifAnmkiaXltLbyUUTBQPfkHMHMoq1dmPokm2 -4RZaZ1A/K7rirZLC4w/RmxONVqvxT0baFTcZGyKzYm6gEZ9kCwWw1tyEl472yK0H -UR2cAhlo+Wa61cOTtwHVw0FMVyG0xZkR04y8WM3T8lE6imGLSmCDgPMZm8XnKdkY -SMGD3+TzLxe6mymmw+1dGXCPjjkImdrhBGxlwEU74vkFQKiWv/GftiDYYcilcQbS -OD1N7PTmpef+JEYXOpwxxUTSXu0SfVTSkx0wnHkqbib7Wwv5IwY= -=g+49 +iQIzBAEBCAAdFiEErpbtlp5HmwCE8+F/6I0zNPpfagoFAmXYslMACgkQ6I0zNPpf +agrlTA//Q1P+fzNaYtUUm7pg7Jz4VaEACaQZ5qNNmKl9VZ6yCS45pmqpPAAyDM2p +ZyFOUF3Q3UmHdwmVEGrHSREhoqx5I78KH4dmx4G38RG+4SMhSCZG0Ztf9Z3Dg0o2 +ZeO7vS7mp/STyxiG1Nnkg5Ivhuhq8sdQXF7hM+9JUVri7upEH0QtdAS/jZaoLCvx +GsWe8XnBru8aH9O2kCO4iigCphOpzaSORJH7rcuo/mo6jGvJER4J0RkjK2KMX7W/ +TFQmpR+8Sxaw+einVEQBDppcbBhOO7yAHq3TQOa01pxIQJ2togJ0Sl3pUiYeqPgf +aITyRfzhyh+zEb7V49QOIohvazZA7gnBmgUW8xF9cfTrChsxKV8TxovGc/cHroy9 +JI8XkJaZbX1GlbIUqTKgc/MF01gXXVTyjbnQ6HtCNG4BAq3hsWDnoziodGFojn/+ +PiY9cLok8Jxy6nzV0ANLunfbNF2usjPEDFxRviCSS3NoBXhq0+Ra/MXljKB46lb5 +qkfBdsAF9IJ8Bx7knrLbpVMe8tciXcXqorCfEBZONNk9RL5OkuDQgPQXi/2sRXXN +xxIpxkDf63104NIypjEjp5c8WkD+VF84BhNuhYsp50T2hfgtL39vOGaQ2593Rss1 +j8MNLO2xlwoHiJoTe3CFw/Yl7MtjJSxiaQ0v42JRxyjclLDX1Rc= +=CMMm -----END PGP SIGNATURE----- \ No newline at end of file diff --git a/public/_redirects b/public/_redirects index 14133acc971..192bb7626d4 100644 --- a/public/_redirects +++ b/public/_redirects @@ -148,8 +148,6 @@ /*/eth2 /:splat/upgrades/ 301! -/*/developers/docs/layer-2-scaling /:splat/developers/docs/scaling 301! - /*/developers/docs/scaling/layer-2-rollups /:splat/developers/docs/scaling 301! /*/about/web-developer /:splat/about/#open-jobs 301! @@ -173,3 +171,5 @@ /*/staking/withdraws /:splat/staking/withdrawals/ 301! /*/guides/how-to-register-an-ethereum-account /:splat/guides/how-to-create-an-ethereum-account/ 301! + +/*/deprecated-software /:splat/dapps/ 301! diff --git a/public/content/bridges/index.md b/public/content/bridges/index.md index 7dd48d74df5..9014083d7e9 100644 --- a/public/content/bridges/index.md +++ b/public/content/bridges/index.md @@ -6,32 +6,32 @@ lang: en # Blockchain bridges {#prerequisites} -_Web3 has evolved into an ecosystem of L1 blockchains and L2 scaling solutions, each designed with unique capabilities and trade-offs. As the number of blockchain protocols increases, so does [the demand to move assets across chains](). To fulfill this demand, we need bridges._ +_Web3 has evolved into an ecosystem of L1 blockchains and L2 scaling solutions, each designed with unique capabilities and trade-offs. As the number of blockchain protocols increases, so does the demand to move assets across chains. To fulfill this demand, we need bridges._ ## What are bridges? {#what-are-bridges} -Blockchain bridges work just like the bridges we know in the physical world. Just as a physical bridge connects two physical locations, a blockchain bridge connects two blockchain ecosystems. Bridges facilitate communication between blockchains through the transfer of information and assets. +Blockchain bridges work just like the bridges we know in the physical world. Just as a physical bridge connects two physical locations, a blockchain bridge connects two blockchain ecosystems. **Bridges facilitate communication between blockchains through the transfer of information and assets**. Let's consider an example: You're from the USA and are planning a trip to Europe. You have USD, but you need EUR to spend. To exchange your USD for EUR you can use a currency exchange for a small fee. -But, what do you do if you want to make a similar exchange to use a different blockchain? Let's say you want to exchange ETH on Ethereum Mainnet for ETH on [Arbitrum](https://arbitrum.io/). Like the currency exchange we made for EUR, we need a mechanism to move our ETH from Ethereum to Arbitrum. Bridges make such a transaction possible. In this case, [Arbitrum has a native bridge](https://bridge.arbitrum.io/) that can transfer ETH from Mainnet onto Arbitrum. +But, what do you do if you want to make a similar exchange to use a different [blockchain](/glossary/#blockchain)? Let's say you want to exchange [ETH](/glossary/#ether) on Ethereum Mainnet for ETH on [Arbitrum](https://arbitrum.io/). Like the currency exchange we made for EUR, we need a mechanism to move our ETH from Ethereum to Arbitrum. Bridges make such a transaction possible. In this case, [Arbitrum has a native bridge](https://bridge.arbitrum.io/) that can transfer ETH from Mainnet onto Arbitrum. ## Why do we need bridges? {#why-do-we-need-bridges} -All blockchains have their limitations. For Ethereum to scale and keep up with demand, it has required rollups. Alternatively, L1s like Solana and Avalanche are designed differently to enable higher throughput but at the cost of decentralization. +All blockchains have their limitations. For Ethereum to scale and keep up with demand, it has required [rollups](/glossary/#rollups). Alternatively, L1s like Solana and Avalanche are designed differently to enable higher throughput but at the cost of decentralization. -However, all blockchains develop in isolated environments and have different rules and consensus mechanisms. This means they cannot natively communicate, and tokens cannot move freely between blockchains. +However, all blockchains develop in isolated environments and have different rules and [consensus](/glossary/#consensus) mechanisms. This means they cannot natively communicate, and tokens cannot move freely between blockchains. Bridges exist to connect blockchains, allowing the transfer of information and tokens between them. -Bridges enable: +**Bridges enable**: - the cross-chain transfer of assets and information. -- dapps to access the strengths of various blockchains – thus enhancing their capabilities (as protocols now have more design space for innovation). +- [dapps](/glossary/#dapp) to access the strengths of various blockchains – thus enhancing their capabilities (as protocols now have more design space for innovation). - users to access new platforms and leverage the benefits of different chains. - developers from different blockchain ecosystems to collaborate and build new platforms for the users. @@ -57,7 +57,7 @@ If you have ETH on Ethereum Mainnet and you want to explore an alt L1 to try out ### Own native crypto assets {#own-native} -Let’s say you want to own native Bitcoin (BTC), but you only have funds on Ethereum Mainnet. To gain exposure to BTC on Ethereum, you can buy Wrapped Bitcoin (WBTC). However, WBTC is an ERC-20 token native to the Ethereum network, which means it’s an Ethereum version of Bitcoin and not the original asset on the Bitcoin blockchain. To own native BTC, you would have to bridge your assets from Ethereum to Bitcoin using a bridge. This will bridge your WBTC and convert it into native BTC. Alternatively, you might own BTC and want to use it in Ethereum DeFi protocols. This would require bridging the other way, from BTC to WBTC which can then be used as an asset on Ethereum. +Let’s say you want to own native Bitcoin (BTC), but you only have funds on Ethereum Mainnet. To gain exposure to BTC on Ethereum, you can buy Wrapped Bitcoin (WBTC). However, WBTC is an [ERC-20](/glossary/#erc-20) token native to the Ethereum network, which means it’s an Ethereum version of Bitcoin and not the original asset on the Bitcoin blockchain. To own native BTC, you would have to bridge your assets from Ethereum to Bitcoin using a bridge. This will bridge your WBTC and convert it into native BTC. Alternatively, you might own BTC and want to use it in Ethereum [DeFi](/glossary/#defi) protocols. This would require bridging the other way, from BTC to WBTC which can then be used as an asset on Ethereum. You can also do all of the above using a centralized exchange. However, unless your funds are already on an exchange, it would involve multiple steps, and you’d likely be better off using a bridge. @@ -73,7 +73,7 @@ Bridges have many types of designs and intricacies. Generally, bridges fall into | ------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------ | | Trusted bridges depend upon a central entity or system for their operations. | Trustless bridges operate using smart contracts and algorithms. | | They have trust assumptions with respect to the custody of funds and the security of the bridge. Users mostly rely on the bridge operator's reputation. | They are trustless, i.e., the security of the bridge is the same as that of the underlying blockchain. | -| Users need to give up control of their crypto assets. | Through smart contracts, trustless bridges enable users to remain in control of their funds. | +| Users need to give up control of their crypto assets. | Through [smart contracts](/glossary/#smart-contract), trustless bridges enable users to remain in control of their funds. | In a nutshell, we can say that trusted bridges have trust assumptions, whereas trustless bridges are trust-minimized and don’t make new trust assumptions beyond those of the underlying domains. Here’s how these terms can be described: @@ -126,9 +126,3 @@ Bridges are crucial to onboarding users onto Ethereum L2s, and even for users wh - [EIP-5164: Cross-Chain Execution](https://ethereum-magicians.org/t/eip-5164-cross-chain-execution/9658) _June 18, 2022 - Brendan Asselstine_ - [L2Bridge Risk Framework](https://gov.l2beat.com/t/l2bridge-risk-framework/31) _July 5, 2022 - Bartek Kiepuszewski_ - ["Why the future will be multi-chain, but it will not be cross-chain."](https://old.reddit.com/r/ethereum/comments/rwojtk/ama_we_are_the_efs_research_team_pt_7_07_january/hrngyk8/) _January 8, 2022 - Vitalik Buterin_ -- [What Are Blockchain Bridges And How Can We Classify Them?](https://blog.li.finance/what-are-blockchain-bridges-and-how-can-we-classify-them-560dc6ec05fa) _Feb 18, 2021 - Arjun Chand_ -- [What Are Cross-Chain Bridges?](https://www.alchemy.com/overviews/cross-chain-bridges) _May 10, 2022 - Alchemy_ -- [Blockchain Bridges: Building Networks of Cryptonetworks](https://medium.com/1kxnetwork/blockchain-bridges-5db6afac44f8) _Sep 8, 2021 - Dmitriy Berenzon_ -- [Bridges in Crypto-Space](https://medium.com/chainsafe-systems/bridges-in-crypto-space-12e158f5fd1e) _Aug 23, 2021 - Ben Adar Hyman_ -- [The Interoperability Trilemma](https://medium.com/connext/the-interoperability-trilemma-657c2cf69f17) _Oct 1, 2021 - Arjun Bhuptani_ -- [Secure The Bridge: Cross-Chain Communication Done Right](https://medium.com/dragonfly-research/secure-the-bridge-cross-chain-communication-done-right-part-i-993f76ffed5d) _Aug 23, 2021 - Celia Wan_ diff --git a/public/content/community/code-of-conduct/index.md b/public/content/community/code-of-conduct/index.md index 8f14a5f8c52..0d57d4a237c 100644 --- a/public/content/community/code-of-conduct/index.md +++ b/public/content/community/code-of-conduct/index.md @@ -4,6 +4,8 @@ description: The basic standards that we strive for across ethereum.org spaces. lang: en --- +# Code of conduct {#code-of-conduct} + ## Mission {#mission} To develop and maintain the most comprehensive and accessible knowledge hub for Ethereum. diff --git a/public/content/community/events/index.md b/public/content/community/events/index.md index 6f898d0d1f9..c8c972086c9 100644 --- a/public/content/community/events/index.md +++ b/public/content/community/events/index.md @@ -5,13 +5,13 @@ lang: en hideEditButton: true --- -## Upcoming events {#events} +# Upcoming events {#events} **Every month, there are major Ethereum events around the world.** Consider attending one near you to meet more people in the community, learn about employment opportunities, and develop new skills. -This is a non-exhaustive list maintained by our community. Know of an upcoming Ethereum event to add to this list? [Please add it](https://github.com/ethereum/ethereum-org-website/blob/dev/src/data/community-events.json)! +This is a non-exhaustive list maintained by our community. Know of an upcoming Ethereum event to add to this list? [Please add it](https://github.com/ethereum/ethereum-org-website/blob/dev/src/data/community-events.ts)! ## Ethereum meetups {#meetups} diff --git a/public/content/community/get-involved/index.md b/public/content/community/get-involved/index.md index ec658bedfa4..28bd6fbd953 100644 --- a/public/content/community/get-involved/index.md +++ b/public/content/community/get-involved/index.md @@ -16,7 +16,7 @@ Start by reading about the ethereum.org mission and values in our [code of condu - [Find a bounty on Gitcoin](https://gitcoin.co/), work on a small or large technical issue, earn crypto! - Attend an [ETHGlobal](http://ethglobal.co/) hackathon near you! - Check out [projects related to your area of expertise or programming language of choice](/developers/docs/programming-languages/) -- Watch or participate in the [Core Dev calls](https://www.youtube.com/playlist?list=PLaM7G4Llrb7zfMXCZVEXEABT8OSnd4-7w) +- Watch or participate in the [Core Dev calls](https://www.youtube.com/@EthereumProtocol) - [Ecosystem Support Program's wishlist](https://esp.ethereum.foundation/wishlist/) - tooling, documentation, and infrastructure areas where the Ethereum Ecosystem Support Program is actively seeking grant applications - [Web3Bridge](https://www.web3bridge.com/) - join the aspiring web3 community in their initiative to identify, train, and support hundreds of developers and community members throughout Africa - Join the [Ethereum Cat Herders Discord](https://discord.com/invite/Nz6rtfJ8Cu) diff --git a/public/content/community/grants/index.md b/public/content/community/grants/index.md index 0b69aac8c3a..188499e92ef 100644 --- a/public/content/community/grants/index.md +++ b/public/content/community/grants/index.md @@ -18,7 +18,6 @@ These programs support the broad Ethereum ecosystem by offering grants to a wide - [MetaCartel](https://www.metacartel.org/grants/) - _Dapp development, DAO creation_ - [Moloch DAO](https://www.molochdao.com/) - _Privacy, layer 2 scaling, client security, and more_ - [DAO Grants](https://docs.google.com/spreadsheets/d/1XHc-p_MHNRdjacc8uOEjtPoWL86olP4GyxAJOFO0zxY/edit#gid=0) - _Google spreadsheet of organizations offering grants_ -- [Crunchbase for Web3 Grants](https://www.cryptoneur.xyz/web3-grants) - _Filter and search for grants by category, use case, amount, and more. Contribute to help others find the right grant._ - [Academic Grants](https://esp.ethereum.foundation/academic-grants) - _Grants to support Ethereum-related academic work_ - [Blockworks Grantfarm](https://blockworks.co/grants/programs) - _Blockworks has compiled a comprehensive directory of all grants, RFPs, and bug bounties._ @@ -33,9 +32,9 @@ These projects have created their own grants for projects aimed at developing an - [Lido Ecosystem Grants Organisation (LEGO)](https://lido.fi/lego) – _[Lido](https://lido.fi/) finance ecosystem_ - [MetaMask Program](https://metamaskgrants.org/) - _[MetaMask](https://metamask.io/) employee-led grants DAO_ - [SKALE Network Grants Program](https://skale.space/developers#grants) - _[SKALE Network](https://skale.space/) ecosystem_ +- [Swarm Foundation Grants Program](https://my.ethswarm.org/grants) - _[Swarm Foundation](https://www.ethswarm.org/) ecosystem_ - [The Graph](https://thegraph.com/ecosystem/grants/) – _[The Graph](https://thegraph.com/) ecosystem_ - [Uniswap Grants Program](https://www.uniswapfoundation.org/grants) – _[Uniswap](https://uniswap.org/) community_ -- [Web3 Grants](https://web3grants.net) - _An extensive list of web3/crypto related grant programs_ ## Quadratic funding {#quadratic-funding} diff --git a/public/content/community/research/index.md b/public/content/community/research/index.md index 83da5297858..729935b7123 100644 --- a/public/content/community/research/index.md +++ b/public/content/community/research/index.md @@ -134,6 +134,10 @@ One particular area of layer 2 that requires more research and development is sa Sharding Ethereum's blockchain has long been part of the development roadmap. However, new scaling solutions such as "Danksharding" are currently taking center stage. +The precursor to full Danksharding known as Proto-Danksharding went live with the Cancun-Deneb ("Dencun") network upgrade. + +[More about the Dencun upgrade](/roadmap/dencun/) + #### Background reading {#background-reading-4} - [Proto-Danksharding notes](https://notes.ethereum.org/@vbuterin/proto_danksharding_faq) diff --git a/public/content/community/support/index.md b/public/content/community/support/index.md index 75d5a04a9a7..46694b18669 100644 --- a/public/content/community/support/index.md +++ b/public/content/community/support/index.md @@ -22,17 +22,33 @@ Understanding the decentralized nature of Ethereum is vital because anyone claim Despite the lack of official support, many groups, communities, and projects across the Ethereum ecosystem are happy to help, and you can find a lot of useful information and resources on this page. Still have questions? Join the [ethereum.org Discord](/discord/), and we'll try to help. -## Wallet support {#wallet-support} +## Frequently asked questions {#faq} + +### I've sent ETH to the wrong wallet {#wrong-wallet} + +A transaction sent on Ethereum is irreversible. Unfortunately, if you've sent ETH to the wrong wallet, there is no way to recover these funds. No one central organization, entity, or person owns Ethereum, which means no one can reverse transactions. Therefore, it is vital always to double-check your transactions before sending them. + +### How can I claim my Ethereum giveaway? {#giveaway-scam} + +Ethereum giveaways are scams designed to steal your ETH. Do not be tempted by offers that seem too good to be true — if you send ETH to a giveaway address, you will not receive a giveaway, and you will not be able to recover your funds. + +[More on scam prevention](/security/#common-scams) + +### My transaction is stuck {#stuck-transaction} + +Transactions on Ethereum can sometimes get stuck if you have submitted a lower transaction fee than is required due to network demand. Many wallets provide an option to resubmit the same transaction with a higher transaction fee to allow the transaction to be processed. Alternatively, you can cancel a pending transaction by sending a transaction to your own address and using the same nonce as the pending transaction. + +[How to speed up or cancel a pending transaction on MetaMask](https://metamask.zendesk.com/hc/en-us/articles/360015489251-How-to-speed-up-or-cancel-a-pending-transaction) + +[How to cancel pending Ethereum transactions](https://info.etherscan.com/how-to-cancel-ethereum-pending-transactions/) -Having trouble with your wallet? Most wallets have dedicated support teams that can help: +### How do I mine Ethereum? {#mining-ethereum} -- [MetaMask](https://metamask.zendesk.com/hc/) -- [Argent](https://support.argent.xyz/hc/) -- [MyEtherWallet](https://help.myetherwallet.com/) +Ethereum mining is no longer possible. Mining was switched off when Ethereum moved from [proof-of-work](/glossary/#pow) to [proof-of-stake](/glossary/#pos). Now, instead of miners, Ethereum has validators. Anyone may [stake](/glossary/#staking) ETH and receive staking rewards for running validator software to secure the network. -_This is not an exhaustive list. Need help finding support for a specific wallet? Join the [ethereum.org discord](https://discord.gg/ethereum-org) and we'll try to help._ +### How do I become a staker / run a validator? {#how-to-stake} -Looking for an Ethereum wallet? [Explore our full list of Ethereum wallets](/wallets/find-wallet/). +To become a validator, you must stake 32 ETH in the Ethereum deposit contract and set up a validator node. More information is available on our [staking pages](/staking) and at [the staking launchpad](https://launchpad.ethereum.org/). ## Building dapps {#building-support} @@ -86,31 +102,3 @@ Most of the teams building Ethereum clients also have dedicated, public-facing, - [Lodestar](https://discord.gg/aMxzVcr) You can also [learn how to run a node here](/developers/docs/nodes-and-clients/run-a-node/). - -## Frequently asked questions {#faq} - -### I've sent ETH to the wrong wallet {#wrong-wallet} - -A transaction sent on Ethereum is irreversible. Unfortunately, if you've sent ETH to the wrong wallet, there is no way to recover these funds. No one central organization, entity, or person owns Ethereum, which means no one can reverse transactions. Therefore, it is vital always to double-check your transactions before sending them. - -### How can I claim my Ethereum giveaway? {#giveaway-scam} - -Ethereum giveaways are scams designed to steal your ETH. Do not be tempted by offers that seem too good to be true — if you send ETH to a giveaway address, you will not receive a giveaway, and you will not be able to recover your funds. - -[More on scam prevention](/security/#common-scams) - -### My transaction is stuck {#stuck-transaction} - -Transactions on Ethereum can sometimes get stuck if you have submitted a lower transaction fee than is required due to network demand. Many wallets provide an option to resubmit the same transaction with a higher transaction fee to allow the transaction to be processed. Alternatively, you can cancel a pending transaction by sending a transaction to your own address and using the same nonce as the pending transaction. - -[How to speed up or cancel a pending transaction on MetaMask](https://metamask.zendesk.com/hc/en-us/articles/360015489251-How-to-speed-up-or-cancel-a-pending-transaction) - -[How to cancel pending Ethereum transactions](https://info.etherscan.com/how-to-cancel-ethereum-pending-transactions/) - -### How do I mine Ethereum? {#mining-ethereum} - -Ethereum mining is no longer possible. Mining was switched off when Ethereum moved from proof-of-work to proof-of-stake. Now, instead of miners, Ethereum has validators. Validators stake ETH and receive staking rewards for securing the network. - -### How do I become a staker/validator? {#become-validator} - -To become a validator, you must stake 32 ETH in the Ethereum deposit contract and set up a validator node. More information is available on our [staking pages](/staking) and at [the staking launchpad](https://launchpad.ethereum.org/). diff --git a/public/content/contributing/design/adding-design-resources/index.md b/public/content/contributing/design/adding-design-resources/index.md index 4666100ad8e..c04ff949870 100644 --- a/public/content/contributing/design/adding-design-resources/index.md +++ b/public/content/contributing/design/adding-design-resources/index.md @@ -4,6 +4,8 @@ description: Guidelines and requirements to ensure quality of design materials o lang: en --- +# Adding design resources {#adding-design-resources} + Anybody can suggest new design materials to the [Design and UX in web3 page](/developers/docs/design-and-ux/). Be aware that the focus of this page is on providing user value to aspiring web3 designers. The design section is not there to advertise your services, products, or platforms. diff --git a/public/content/contributing/style-guide/content-standardization/index.md b/public/content/contributing/style-guide/content-standardization/index.md index fb92e55c25f..1d52685f12a 100644 --- a/public/content/contributing/style-guide/content-standardization/index.md +++ b/public/content/contributing/style-guide/content-standardization/index.md @@ -4,6 +4,8 @@ description: Guide to use consistent terminology in content writing lang: en --- +# Content standardization {#content-standardization} + This style guide aims to standardize certain aspects of writing content to make the contribution process smoother. ## Use American English {#american-english} diff --git a/public/content/contributing/translation-program/content-buckets/index.md b/public/content/contributing/translation-program/content-buckets/index.md index 5a750136799..0efb15d79f3 100644 --- a/public/content/contributing/translation-program/content-buckets/index.md +++ b/public/content/contributing/translation-program/content-buckets/index.md @@ -23,6 +23,7 @@ Below is a breakdown of the website pages each content bucket contains. - [Get ETH](/get-eth/) - [Wallets](/wallets/) - [Find wallets](/wallets/find-wallet/) +- [Network fees](/gas/) ## 3) Exploring {#exploring} @@ -47,7 +48,8 @@ Below is a breakdown of the website pages each content bucket contains. - [Introduction to smart contracts](/smart-contracts/) - [Decentralized identity](/decentralized-identity/) - [Decentralized social networks](/social-networks/) -- [Decentralized science (DeSci))](/desci/) +- [Decentralized science (DeSci)](/desci/) +- [Regenerative finance (ReFi)](/refi/) ## 6) Staking pages {#staking-pages} @@ -57,6 +59,7 @@ Below is a breakdown of the website pages each content bucket contains. - [Staking as a service](/staking/saas/) - [Staking deposit contract](/staking/deposit-contract/) - [Staking withdrawals](/staking/withdrawals/) +- [Distributed validator technology](/dvt/) ## 7) Learn pages {#learn-pages} @@ -76,6 +79,7 @@ Below is a breakdown of the website pages each content bucket contains. - [How to revoke smart contract access to your crypto funds](/guides/how-to-revoke-token-access/) - [How to bridge tokens to layer 2](/guides/how-to-use-a-bridge/) - [How to swap tokens](/guides/how-to-swap-tokens/) +- [How to identify scam tokens](/guides/how-to-id-scam-tokens/) - [Learning quizzes](/quizzes/) ## 9) Upgrades {#upgrades} @@ -97,6 +101,7 @@ Below is a breakdown of the website pages each content bucket contains. - [Account abstraction](/roadmap/account-abstraction/) - [Verkle trees](/roadmap/verkle-trees/) - [Statelessness, state expiry and history expiry](/roadmap/statelessness/) +- [How The Merge impacted ETH supply](/roadmap/merge/issuance/) ## 10) Community pages {#community-pages} @@ -107,6 +112,7 @@ Below is a breakdown of the website pages each content bucket contains. - [Online communities](/community/online/) - [Ethereum support](/community/support/) - [Community hub](/community/) +- [Code of conduct](/community/code-of-conduct/#code-of-conduct) ## 11) Foundational developer docs {#foundational-docs} @@ -147,14 +153,15 @@ Below is a breakdown of the website pages each content bucket contains. - [Proof-of-stake rewards and penalties](/developers/docs/consensus-mechanisms/pos/rewards-and-penalties/) - [Gasper](/developers/docs/consensus-mechanisms/pos/gasper/) - [Weak subjectivity](/developers/docs/consensus-mechanisms/pos/weak-subjectivity/) +- [Proof-of-stake vs. proof-of-work](/developers/docs/consensus-mechanisms/pos/pos-vs-pow/) ## 14) Foundational docs - Proof-of-Work {#PoW} - [Proof-of-work](/developers/docs/consensus-mechanisms/pow/) - [Mining](/developers/docs/consensus-mechanisms/pow/mining/) -- [Mining algorithms](/developers/docs/consensus-mechanisms/pow/mining-algorithms/) -- [Dagger-Hashimoto](/developers/docs/consensus-mechanisms/pow/mining-algorithms/dagger-hashimoto/) -- [Ethash](/developers/docs/consensus-mechanisms/pow/mining-algorithms/ethash/) +- [Mining algorithms](/developers/docs/consensus-mechanisms/pow/mining/mining-algorithms/) +- [Dagger-Hashimoto](/developers/docs/consensus-mechanisms/pow/mining/mining-algorithms/dagger-hashimoto/) +- [Ethash](/developers/docs/consensus-mechanisms/pow/mining/mining-algorithms/ethash/) ## 15) Ethereum stack developer docs {#ethereum-stack-docs} @@ -220,6 +227,7 @@ Below is a breakdown of the website pages each content bucket contains. - [Oracles](/developers/docs/oracles/) - [Bridges](/developers/docs/bridges/) - [Data availability](/developers/docs/data-availability/) +- [Design and UX in Web3](/developers/docs/design-and-ux/) ## 21) Advanced developer docs - Scaling {#scaling-docs} @@ -239,12 +247,8 @@ Below is a breakdown of the website pages each content bucket contains. - [Recursive-length prefix (RLP) serialization](/developers/docs/data-structures-and-encoding/rlp/) - [Network addresses](/developers/docs/networking-layer/network-addresses/) - [Simple serialize](/developers/docs/data-structures-and-encoding/ssz/) -- [Mining algorithms](/developers/docs/consensus-mechanisms/pow/mining-algorithms/) -- [Dagger-Hashimoto](/developers/docs/consensus-mechanisms/pow/mining-algorithms/dagger-hashimoto/) -- [Ethash](/developers/docs/consensus-mechanisms/pow/mining-algorithms/ethash/) -- [Gasper](/developers/docs/consensus-mechanisms/pos/gasper/) -- [Weak subjectivity](/developers/docs/consensus-mechanisms/pos/weak-subjectivity/) - [Web3 secret storage definition](/developers/docs/data-structures-and-encoding/web3-secret-storage/) +- [The Portal network](/developers/docs/networking-layer/portal-network/) ## 23) Miscellaneous {#miscellaneous} @@ -253,6 +257,7 @@ Below is a breakdown of the website pages each content bucket contains. - [Private Ethereum](/enterprise/private-ethereum/) - [Brand assets](/assets/) - [About the Ethereum Foundation](/foundation/) +- [Bug bounty program](/bug-bounty/) ## 24) Contributing {#contributing} @@ -266,6 +271,9 @@ Below is a breakdown of the website pages each content bucket contains. - [Adding content resources](/contributing/content-resources/) - [Adding DeSci projects](/contributing/adding-desci-projects/) - [Adding wallets](/contributing/adding-wallets/) +- [Adding a quiz](/contributing/quizzes/) +- [Adding design resources](/contributing/design/adding-design-resources/) +- [Design contribution to ethereum.org](/contributing/design/) - [Design principles](/contributing/design-principles/) - [Translation Program](/contributing/translation-program/) - [Translation guide](/contributing/translation-program/translation-guide/) @@ -282,7 +290,6 @@ Below is a breakdown of the website pages each content bucket contains. - [How to write & deploy an NFT (Part 1/3 of NFT tutorial series)](/developers/tutorials/how-to-write-and-deploy-an-nft/) - [How to mint an NFT (Part 2/3 of NFT tutorial series)](/developers/tutorials/how-to-mint-an-nft/) - [How to view your NFT in your wallet (Part 3/3 of NFT tutorial series)](/developers/tutorials/how-to-view-nft-in-metamask/) -- [Transfers and approval of ERC-20 tokens from a solidity smart contract](/developers/tutorials/transfers-and-approval-of-erc-20-tokens-from-a-solidity-smart-contract/) - [Understand the ERC-20 token smart contract](/developers/tutorials/understand-the-erc-20-token-smart-contract/) - [Uniswap-v2 contract walkthrough](/developers/tutorials/uniswap-v2-annotated-code/) - Submit a tutorial @@ -299,11 +306,13 @@ Below is a breakdown of the website pages each content bucket contains. - [Sending tokens using ethers.js](/developers/tutorials/send-token-ethersjs/) - [The Graph: Fixing Web3 data querying](/developers/tutorials/the-graph-fixing-web3-data-querying/) - [Transfers and approval of ERC-20 tokens from a Solidity smart contract](/developers/tutorials/transfers-and-approval-of-erc-20-tokens-from-a-solidity-smart-contract/) +- [Understanding the Yellowpaper's EVM specifications](/developers/tutorials/yellow-paper-evm/) ## 27) Developer tutorials 3 {#tutorials-3} - [A guide to smart contract security tools](/developers/tutorials/guide-to-smart-contract-security-tools/) - [All you can cache](/developers/tutorials/all-you-can-cache/) +- [EIP-1271: Signing and verifying smart contract signatures](/developers/tutorials/eip-1271-smart-contract-signatures/) - [ERC-20 contract walkthrough](/developers/tutorials/erc20-annotated-code/) - [ERC-20 with safety rails](/developers/tutorials/erc20-with-safety-rails/) - [Getting Started with Ethereum Development](/developers/tutorials/getting-started-with-ethereum-development-using-alchemy/) diff --git a/public/content/contributing/translation-program/translatathon/index.md b/public/content/contributing/translation-program/translatathon/index.md index ea7a49adca1..94b42ca629f 100644 --- a/public/content/contributing/translation-program/translatathon/index.md +++ b/public/content/contributing/translation-program/translatathon/index.md @@ -4,6 +4,8 @@ description: Join the first ethereum.org Translatathon to contribute to ethereum lang: en --- +# Ethereum.org Translatathon {#introduction} + Welcome to the first ever ethereum.org Translatathon! A translatathon is a collaborative and competitive hackathon-style event where individuals and teams compete for prizes by translating ethereum.org content into different languages. diff --git a/public/content/dao/index.md b/public/content/dao/index.md index cc06869f051..b2f2aa98e87 100644 --- a/public/content/dao/index.md +++ b/public/content/dao/index.md @@ -14,11 +14,11 @@ summaryPoint3: A safe place to commit funds to a specific cause. ## What are DAOs? {#what-are-daos} -A DAO is a collectively-owned, blockchain-governed organization working towards a shared mission. +A DAO is a collectively-owned organization working towards a shared mission. DAOs allow us to work with like-minded folks around the globe without trusting a benevolent leader to manage the funds or operations. There is no CEO who can spend funds on a whim or CFO who can manipulate the books. Instead, blockchain-based rules baked into the code define how the organization works and how funds are spent. -They have built-in treasuries that no one has the authority to access without the approval of the group. Decisions are governed by proposals and voting to ensure everyone in the organization has a voice, and everything happens transparently on-chain. +They have built-in treasuries that no one has the authority to access without the approval of the group. Decisions are governed by proposals and voting to ensure everyone in the organization has a voice, and everything happens transparently [on-chain](/glossary/#on-chain). ## Why do we need DAOs? {#why-dao} @@ -40,25 +40,23 @@ This opens up so many new opportunities for global collaboration and coordinatio To help this make more sense, here's a few examples of how you could use a DAO: -- A charity – you could accept donations from anyone in the world and vote on which causes to fund. -- Collective ownership – you could purchase physical or digital assets and members can vote on how to use them. -- Ventures and grants – you could create a venture fund that pools investment capital and votes on ventures to back. Repaid money could later be redistributed amongst DAO-members. +- **A charity** – you could accept donations from anyone in the world and vote on which causes to fund. +- **Collective ownership** – you could purchase physical or digital assets and members can vote on how to use them. +- **Ventures and grants** – you could create a venture fund that pools investment capital and votes on ventures to back. Repaid money could later be redistributed amongst DAO-members. + +