|1 day ago|
|.github||2 days ago|
|.storybook||2 weeks ago|
|docs||2 weeks ago|
|i18n||4 months ago|
|plugins/gatsby-remark-fix-static-urls||7 months ago|
|src||1 day ago|
|static||3 days ago|
|.all-contributorsrc||3 weeks ago|
|.env.example||2 months ago|
|.eslintignore||8 months ago|
|.gitattributes||1 year ago|
|.gitignore||4 weeks ago|
|.prettierignore||10 months ago|
|.prettierrc||3 years ago|
|CONTRIBUTING.md||1 year ago|
|GC-preview-deploy.png||1 year ago|
|LICENSE||3 years ago|
|README.md||2 weeks ago|
|eth-transparent.png||2 years ago|
|eth.png||2 years ago|
|gatsby-browser.tsx||4 months ago|
|gatsby-config.ts||4 weeks ago|
|gatsby-node.ts||1 day ago|
|gatsby-ssr.tsx||3 weeks ago|
|github.json||1 year ago|
|graphql.config.js||10 months ago|
|netlify.toml||1 year ago|
|overrides.d.ts||2 months ago|
|package.json||1 day ago|
|redirects.json||2 weeks ago|
|tsconfig.json||8 months ago|
|webpack.lambda.js||6 months ago|
|yarn.lock||3 days ago|
This is the repo for the ethereum.org website, a resource for the Ethereum community. The site's purpose is to “Be the best portal to Ethereum for our growing global community" - read more about what this means here.
ethereum.org is being improved and changed over time through the contributions of community members who submit content, give feedback, or volunteer their time to manage its evolution. If you’re interested in helping to improve ethereum.org, find out how to contribute.
Looking for the Ethereum blockchain's code?
If you're looking for the Ethereum blockchain itself, there is no single repo. Instead, Ethereum has multiple implementations of the protocol written in different programming languages for security and diversity. Check out the different implementations
Table of contents
- How to contribute
- Translation Program
- The ethereum.org website stack
- Website conventions / best practices
How to contribute
This project follows the all-contributors specification. Contributions of any kind are welcome!
1. Submit an issue
- Create a new issue.
- Comment on the issue (if you'd like to be assigned to it) - that way our team can assign the issue to you.
More information on the issue creation process, and expectations around creating issues can be found here.
2. Fork the repository (repo)
- If you're not sure, here's how to fork the repo.
3. Set up your local environment (optional)
If you're ready to contribute and create your PR, it will help to set up a local environment so you can see your changes.
Clone your fork
If this is your first time forking our repo, this is all you need to do for this step:
git clone email@example.com:[your_github_handle]/ethereum-org-website.git && cd ethereum-org-website
If you've already forked the repo, you'll want to ensure your fork is configured and that it's up to date. This will save you the headache of potential merge conflicts.
git remote add upstream https://github.com/ethereum/ethereum-org-website.git
To sync your fork with the latest changes:
git checkout dev git fetch upstream git merge upstream/dev
- Install dependencies
We recommend using a node manager to use multiple node versions in your system. We use Volta. In case you don't use a manager or you use
nvm, you can check the currently supported versions under the
"volta" section on our
4. Make awesome changes!
- Create new branch for your changes
git checkout -b new_branch_name
- Start developing!
- Open this directory in your favorite text editor / IDE, and see your changes live by visiting
localhost:8000from your browser
- Pro Tip:
- Explore scripts within
package.jsonfor more build options
- Get faster local builds by building only one language. E.g. in your
GATSBY_BUILD_LANGS=ento build the content only in English
- Explore scripts within
By default the script will build all the languages (complete list in
data/translations.json) and will ignore the
/tutorials folders. To control this behavior you can play with the
IGNORE_CONTENT env variables. Check out
.env.example to read more about them.
- 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).
git commit -m "brief description of changes [Fixes #1234]"
- Push to your GitHub account
5. Local development with lambda functions
There may be times where you develop features that make external API requests to other services. For these we write lambda functions to obfuscate API keys.
To use an existing function locally you don't need to do anything. Just check that you have set the necessary ENV variables in the
To create a new function, you will need to create two files:
- One in
src/lambdaswhere the logic will live. These are the ones that will be deployed to Netlify. These functions follow this format.
- One in
src/apithat will be just a wrapper around the previous one in order to be compatible with Gatsby functions. More on the Gatbsy docs for the format they follow.
Typically, you will develop and test functions in the Gatsby context, by running
In case you want to test them as if you were in a Netlify env, you can install the Netlify CLI and run
netlify dev --framework=gatsby.
6. Submit your PR
- After your changes are committed to your GitHub fork, submit a pull request (PR) to the
devbranch of the
- In your PR description, reference the issue it resolves (see linking a pull request to an issue using a keyword)
Updates out of date content [Fixes #1234]
- Gatsby Cloud (our hosting service for build previews) deploys all PRs to a publicly accessible preview URL, e.g.:
- Confirm your GC preview deploy looks & functions as expected
- Why not say hi and draw attention to your PR in our discord server?
7. Wait for review
- The website team reviews every PR
- See how decisions are made on content changes
- Acceptable PRs will be approved & merged into the
Learn more about how we review pull requests here.
masteris continually synced to Netlify and will automatically deploy new commits to ethereum.org
- The website team will create deploys and merge
master. This happens on Tuesdays and Thursdays every week. More info on deploys and review process here.
- You can view the history of releases, which include PR highlights
Claim your POAP!
What is POAP?
The Proof of Attendance Protocol is a dapp that distributes badges in the form of ERC-721 tokens to prove you participated in an event. More on POAPs.
ethereum.org 2022 Contributor POAP
If you have committed any changes in 2022 so far that were merged into our repo, you have a POAP waiting!
This includes our dedicated translators on Crowdin
👆 To claim your Contributor POAP, join our Discord server and paste a link to your contribution in the
#🥇 | poapschannel
A member of our team will verify the request and DM you with a personalized link to claim your own freshly minted POAP collectible!
To help with verification we request GitHub contributors connect their GitHub account with their Discord account (Discord > Settings > Connections > GitHub). Crowdin contributors will be verified directly through Crowdin by our team.
If you haven't contributed yet and would like to earn a POAP to show your loyalty to the Ethereum space, head over to the issues tab to get started!
Thanks goes to these wonderful people (emoji key):
This project follows the all-contributors specification. Contributions of any kind welcome!
Join our Discord server
We have a space to discuss all things ethereum.org – share your ideas or just say hi over on Discord.