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
This project follows the all-contributors specification. Contributions of any kind are welcome!
More information on the issue creation process, and expectations around creating issues can be found here.
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
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
git checkout -b new_branch_name
yarn start
localhost:8000
from your browserpackage.json
for more build options.env
file, set BUILD_LOCALES=en
to build the content only in EnglishBy 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.
git commit -m "brief description of changes [Fixes #1234]"
git push
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 .env
file.
To create a new function, you will need to create two files:
src/lambda
where the logic will live. These are the ones that will be deployed to Netlify. These functions follow this format.src/api
that will be just a wrapper around the previous one in order to be compatible with Gatsby functions. More on the Gatsby docs for the format they follow.Typically, you will develop and test functions in the Gatsby context, by running yarn start
.
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
.
dev
branch of the ethereum/ethereum-org-website
repoUpdates out of date content [Fixes #1234]
dev
branchLearn more about how we review pull requests here.
master
is continually synced to Netlify and will automatically deploy new commits to ethereum.orgThe 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 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 #π₯ | poaps
channel
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!
We have a space to discuss all things ethereum.org β share your ideas or just say hi over on Discord.