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.
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
- How to contribute
- Translation Program
- The ethereum.org website stack
- Website conventions / best practices
This project follows the all-contributors specification. Contributions of any kind are welcome!
- 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.
- If you're not sure, here's how to fork the repo.
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 git@github.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 package.json
file.
yarn
- Create new branch for your changes
git checkout -b new_branch_name
- Start developing!
yarn dev
- Open this directory in your favorite text editor / IDE, and see your changes live by visiting
localhost:3000
from your browser - Pro Tip:
- Explore scripts within
package.json
for more build options - Get faster production builds by building only one language. E.g. in your
.env
file, setBUILD_LOCALES=en
to build the content only in English - To build the site in other selected languages too, you need to set them in
BUILD_LOCALES
, eg:BUILD_LOCALES=en,es
if you also want to build only English (required) and Spanish. - To build all languages, simply comment this line out with a hash mark, eg:
# BUILD_LOCALES=
- Explore scripts within
By default the script will build all the languages (complete list in i18n.config.json
).
- 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
git push
- After your changes are committed to your GitHub fork, submit a pull request (PR) to the
dev
branch of theethereum/ethereum-org-website
repo - In your PR description, reference the issue it resolves (see linking a pull request to an issue using a keyword)
- ex.
Updates out of date content [Fixes #1234]
- ex.
- Netlify (our hosting service for build previews) deploys all PRs to a publicly accessible preview URL, e.g.:
- Confirm that your Netlify preview deploy looks and functions as expected
- Why not say hi and draw attention to your PR in our discord server?
- The website team reviews every PR
- See how decisions are made on content changes
- Acceptable PRs will be approved & merged into the
dev
branch
Learn more about how we review pull requests here.
master
is continually synced to Netlify and will automatically deploy new commits to ethereum.org- Learn more about how we deploy the site here
- You can view the history of releases, which include PR highlights
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.
- If you've made at least one contribution and that gets merged into ethereum.org, GitPOAP will also auto recognize it and let you mint a unique contributor POAP for the specific year. More on GitPOAP.
An Onchain Achievement Token (OAT) is a special badge on Galxe. It's a proof of your contribution to the ecosystem. More on OATs.
-
If you have committed any changes in 2024 so far that were merged into our repo or if you have translated a certain amount of words, you can claim your OATs!
-
There are OATs for GitHub, content, design and translation contributions.
-
π To claim your Contributor OATs, join our Discord server, create a post and paste links to your contributions in the
#π₯ | proof-of-contribution
channel -
Wait for a member of our team to assign you a role on Discord and send you links to your OATs.
-
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/OATs to show your loyalty to the Ethereum space, head over to the issues tab to get started! If you would like to contribute to translations check out our Translation Program.
Thanks goes to these wonderful people (emoji key):
This project follows the all-contributors specification. Contributions of any kind welcome!
We have a space to discuss all things ethereum.org β share your ideas or just say hi over on Discord.