Skip to content

Ethereum.org is a primary online resource for the Ethereum community.

Notifications You must be signed in to change notification settings

kvndlgs/ethereum-org-website

Β 
Β 

Repository files navigation

ethereum logo

πŸ‘‹ Welcome to ethereum.org!

Ethereum.org is a primary online resource for the Ethereum community. The purpose of the site is to β€œBe the best portal to Ethereum for our growing global community" - read more about what this means here.

Ethereum.org is improved and changed over time through the contributions of community members who submit content, give feedback, or volunteer their time to managing its evolution. If you’re interested in helping to improve ethereum.org, start here. This contribution guide will help you get started.


Ethereum.org’s design and content is guided by three core principles:

🌏 1. Ethereum.org is a portal to resources created by the community

  • It will never be β€œencyclopedia ethereum” - we can’t add every link, or cover every topic
  • Rather, its purpose is to direct people to community-built resources
  • Ethereum.org trends toward minimal native-content

πŸ›  2. Ethereum.org is a work in progress, because Ethereum is a work in progress

  • It will change over time, as Ethereum evolves and the community evolves with it
  • To accommodate long-term changes, the site has a simple design system & modular structure
  • Changes to the site are iterative, as we learn more about how people use it and what the community wants from it
  • Changes can be proposed by anyone, and we aim to cultivate a community of open-source contributors

πŸ¦„ 3. Ethereum.org is not a typical product website

  • Ethereum is multifaceted. It's a project, a platform, a product, a vision of the future, a set of ideologies, a community, and much more.
  • The site won't look like every other product site, because Ethereum isn't like every other product.

How can I contribute?

Keeping in mind the above core principles, there are many ways you can get involved in improving the website!

  • Check out our open issues and see if there are any you can help with!
  • Join our Translation Program!
  • Submit links to add to specific sections that are incomplete, by submitting a pull request
  • Identify out-of-date information on ethereum.org (or linked to from ethereum.org) and submit a pull request
  • Submit new designs for the front-page HERO image - find the specs here and contact us at [email protected]
  • Suggest ideas for new subpages, new content, or other ways to improve ethereum.org by opening an issue.

Learn how to submit a pull request in the Development Lifecycle section.

Translation Program

Ethereum is a global project, and it is critical that Ethereum.org is accessible to everyone, regardless of their nationality or language. Our community has been working hard to make this vision a reality. We're constantly working to add additional language support & to keep our existing translations up to date. You can view the progress of all our translations here.

Looking to get involved as a translator? Here's how:

  1. Follow this invite link to join our project on CrowdIn.
  2. You will need to create a CrowdIn account if you don't have one. Here's documentation on how to use CrowdIn.
  3. Find the language you want to participate in. If it's below 100%, please contribute! Don't see your langugae? Open an issue.

Once translation is completed (i.e. all files display 100%), our professional translation service will review (and potentially edit) the content. Once the review is complete, we will add it to the website.

Thank you for your particpation in the language program!

Notes on individual sub-pages:

If you want to suggest changes to particular sub-pages, keep in mind the purpose of each page:

πŸ›  Developers

  • The purpose of this page is to collect core technical resources helpful to someone building on Ethereum
  • Information should be kept as up to date as possible, as new tools appear, standards are adopted, or material is deprecated
  • This page will never be completely comprehensive: the goal is to list the most popular or widely used resources or tools.

Developer tool submissions will be assessed by the following criteria:

  • Is it meaningfully differentiated from tools already listed?
    • New categories or types of tools
    • New features compared to existing similar tools
    • Targeted at a distinct use-case not covered by existing similar tools
  • Is the tool well documented?
    • Does documentation exist?
    • Is it sufficient to use the tool?
    • Has it been recently updated?
  • Is the tool widely used?
    • We will consider metrics such as GitHub stars, download statistics, and whether it is used by known companies or projects.
  • Is the tool of sufficient quality?
    • Are there recurring bugs?
    • Is the tool reliable?

πŸ“š Learn

  • The purpose of this page is to collect educational material about Ethereum on a variety of topics
  • Some information will be technical in nature, but it will also include non-technical information, or articles that may serve as inspiration to community members

πŸ“± Use

  • This page is for the person who wants to get started using Ethereum, but doesn’t know how.
  • This page will stay limited to 3 sections: Dapps, Ether, and Wallets.
  • Useful contributions include: submitting suggestions for dapps to rotate onto this page, submitting suggestions for better links about Ether or Wallets.
  • We will rotate the list of dapps on this page frequently!

Dapp submissions will be assessed on the following criteria:

  • Is the dapp a "user" application? This page is targeted at the average user, which means it wouldn't be appropriate to list a dev tool or app targeted at sophisticated technical users.
  • Does the application have a good user on-boarding process, such that a user can follow the link, and find all the instructions they need to get started?
  • Does the application "round out" the list by adding a new kind of application not already present?
  • Is there evidence that the application is popular and well established?

πŸ‘‹ Beginners

  • The purpose of this page is to offer a coherent answer to the most basic questions about Ethereum: what is it, and why does it exist?
  • Because this page is very simple and does not contain much content, changes to the text will be limited.
  • Useful contributions include: suggesting better β€œbeginner” content to link at the bottom of the page, or suggesting images that could be added to the page to break up the text.

πŸ€” How are decisions about the site made?

Decisions about individual PRs, design evolution, and major upgrades to the website are made by a team of people from across the Ethereum ecosystem. This team includes project managers, developers, designers, marketing and communications, and subject matter experts. Community input informs every decision: raising questions in issues, submitting PRs, or contacting the team at [email protected] is helpful!

This team currently includes:

  • Anuj Gupta (Ethereum Foundation)
  • Amanda Gutterman (ConsenSys)
  • Hudson Jameson (Ethereum Foundation Devops)
  • Taeyeon Kim (Ethereum Foundation)
  • Jamie Pitts (Ethereum Foundation Devops)
  • Sam Richards (Ethereum Foundation)
  • Joseph Schweitzer (Ethereum Foundation)
  • Josh Stark (L4, ETHGlobal, Ethereum Foundation)
  • Charles St. Louis (MakerDAO & Ethereum Cat Herders)
  • Evan Van Ness (ConsenSys & Ethereum Foundation)
  • Alan Woo (Independent designer & developer)

Development

Unix/Mac

# In the root folder:
yarn global add vuepress
yarn
vuepress dev docs

Windows

  • Download node.js & npm
  • Download Yarn
  • Download Git Bash
  • Download the master branch
  • Navigate to the /ethereum-org-website folder
  • Right click and select Git Bash Here

Run the following commands:

npm install -g yarn
npm install -g vuepress
yarn
vuepress dev docs

Build

# In the root folder:
vuepress build docs

The build should be exported to /docs/.vuepress/dist which can be deployed to a static host. We are hosting the site on Netlify, which handles this for us.

Deployment Lifecycle

How updates are made to ethereum.org

Submit

  • Create a new issue
    • If you plan to submit a pull request to resolve the issue, assign it to yourself
    • If you begin work on the issue, label it as wip
  • Submit a pull request (PR) to the dev branch
  • Netlify deploys all PRs to a publicly accessible preview URL: Netlify deploy preview
  • Confirm the Netlify preview deploy looks & functions as expected

Review

Deploy

  • master is continually synced to Netlify and will automatically deploy new commits to etheruem.org
  • The website team will periodically merge dev into master (typically multiple times per week)

Structure

Site content is in /docs folder. Everything else in /docs/.vuepress

Test

We use Jest to create unit test for Vue components under /docs/.vuepress/component and /dosc/.vuepress/theme/components.

The unit tests are placed next to the Vue components under /docs/.vuepress/component/__tests__ and /dosc/.vuepress/theme/components/__tests__. And module mocks are created under /dosc/.vuepress/theme/utils/__mocks__ for @theme/utils module.

Below commands will be helpful when you develop or test the Vue components.

  1. Run all the Jest unit tests,
yarn test
  1. Run unit tests for the changed file,
yarn test -o
  1. Update the snapshot if you're sure the old results are obselete,
yarn test --update-snapshot

Contributors ✨

Thanks goes to these wonderful people (emoji key):

ExodusActual
ExodusActual

🌍
Anna KarpiΕ„ska
Anna KarpiΕ„ska

🌍
8bitp
8bitp

πŸ–‹
Rousos Alexandros
Rousos Alexandros

πŸ–‹
EvanVanNessEth
EvanVanNessEth

πŸ–‹
JesseAbram
JesseAbram

πŸ–‹
Lililashka
Lililashka

🎨
vrde
vrde

πŸ–‹
Richard McSorley
Richard McSorley

πŸ’»
Alejandro Santander
Alejandro Santander

πŸ–‹
Jason Carver
Jason Carver

πŸ–‹
Chaitanya Potti
Chaitanya Potti

πŸ–‹
chriseth
chriseth

πŸ–‹
Craig Williams
Craig Williams

πŸ–‹
Damian Rusinek
Damian Rusinek

πŸ–‹
Danny Ryan
Danny Ryan

πŸ–‹
Franco Zeoli
Franco Zeoli

πŸ–‹
Guy Lando
Guy Lando

πŸ–‹
James Connolly
James Connolly

πŸ–‹
Jacob Burden
Jacob Burden

πŸ–‹
joshorig
joshorig

πŸ–‹
mariapaulafn
mariapaulafn

πŸ–‹
MartΓ­n
MartΓ­n

πŸ–‹
Mattias Nystrom
Mattias Nystrom

πŸ–‹
nabetse
nabetse

πŸ–‹
Nick Savers
Nick Savers

πŸ–‹
Nina Breznik
Nina Breznik

πŸ–‹
Ven Gist
Ven Gist

πŸ–‹
Paul Fletcher-Hill
Paul Fletcher-Hill

πŸ–‹
Phil
Phil

πŸ–‹
RΓ©mi PrΓ©vost
RΓ©mi PrΓ©vost

πŸ–‹
Shane
Shane

πŸ–‹
Andrey Petrov
Andrey Petrov

πŸ–‹
Santiago Palladino
Santiago Palladino

πŸ–‹
Tim Beiko
Tim Beiko

πŸ–‹
Wanseob Lim
Wanseob Lim

πŸ–‹ 🌍
Wil Barnes
Wil Barnes

πŸ–‹
Aniket
Aniket

πŸ–‹
Chris Chinchilla
Chris Chinchilla

πŸ–‹
George Spasov
George Spasov

πŸ–‹
Pierrick TURELIER
Pierrick TURELIER

πŸ’»
Solexplorer
Solexplorer

πŸ–‹
Sunghee Lee
Sunghee Lee

πŸ–‹
awallendahl
awallendahl

πŸ–‹
Boris Mann
Boris Mann

πŸ–‹
carumusan
carumusan

πŸ–‹
econoar
econoar

πŸ–‹
Gustavo Esquinca
Gustavo Esquinca

πŸ–‹
Javier Tarazaga
Javier Tarazaga

πŸ–‹
Kendall Cole
Kendall Cole

πŸ–‹
Brendan Lee
Brendan Lee

πŸ–‹
Mahesh Murthy
Mahesh Murthy

πŸ–‹
Patrick Gallagher
Patrick Gallagher

πŸ–‹
Ali Abbas
Ali Abbas

πŸ–‹
wtf
wtf

πŸ’» πŸ‘€ πŸš‡
 Aleksandr Sobolev
Aleksandr Sobolev

πŸ–‹
Zak Cole
Zak Cole

πŸ–‹
Bogdan Habic
Bogdan Habic

πŸ–‹
Nick Sawinyh
Nick Sawinyh

πŸ–‹
Miguel Angel GordiΓ‘n
Miguel Angel GordiΓ‘n

πŸ’»
Eswara Sai
Eswara Sai

πŸ’»
ethers
ethers

πŸ–‹
Felipe Faraggi
Felipe Faraggi

πŸ–‹ 🌍
Maurelian
Maurelian

πŸ’» πŸ‘€ πŸ–‹
CPSTL
CPSTL

πŸ–‹ πŸ‘€ πŸ“–
Hudson Jameson
Hudson Jameson

πŸ–‹ πŸ“–
Shayan Eskandari
Shayan Eskandari

πŸ’» 🌍
Lukas SΓ€gesser
Lukas SΓ€gesser

πŸ’»
Virgil Griffith
Virgil Griffith

πŸ–‹
Eugene Aseev
Eugene Aseev

πŸ–‹
Jannis Pohlmann
Jannis Pohlmann

πŸ–‹
think-in-universe
think-in-universe

πŸ’» πŸ–‹
Josh Stark
Josh Stark

πŸ–‹ πŸ‘€ πŸ“†
Alan Woo
Alan Woo

πŸ’» 🎨
Manank Patni
Manank Patni

πŸ–‹
RogΓ©rio AraΓΊjo
RogΓ©rio AraΓΊjo

🌍
Natacha Souza
Natacha Souza

🌍
sorumfactory
sorumfactory

🌍 πŸ“†
Sam Richards
Sam Richards

πŸ’» πŸ–‹ πŸ“– πŸ“†
Antonio Della Porta
Antonio Della Porta

πŸ’»
Abhimanyu Shekhawat
Abhimanyu Shekhawat

πŸ–‹
William Entriken
William Entriken

πŸ–‹
Sangphil Kim
Sangphil Kim

🌍
peijie
peijie

🌍
Jokyash
Jokyash

🌍
Pedro Rivera
Pedro Rivera

🌍
Gabriele Rigo
Gabriele Rigo

🌍
Tilen DrΕΎan
Tilen DrΕΎan

🌍
jJosko1986
jJosko1986

🌍
ECN
ECN

🌍
Damiano Azzolini
Damiano Azzolini

🌍
matteopey
matteopey

🌍
Hun Ryu
Hun Ryu

🌍
nake13
nake13

🌍
alexiskefalas
alexiskefalas

🌍
Behrad Khodayar
Behrad Khodayar

🌍
Frankaus
Frankaus

🌍
hacktar
hacktar

πŸ’» 🌍
Jaroslav Macej
Jaroslav Macej

🌍
Eman Herawy
Eman Herawy

🌍 πŸ’»
Bellinas
Bellinas

🌍
Alexander Cherkashin
Alexander Cherkashin

🌍
Enoch Mbaebie
Enoch Mbaebie

🌍
inlak16
inlak16

🌍
Bob Jiang
Bob Jiang

🌍
Suhun Kim
Suhun Kim

🌍
Jean Zundel
Jean Zundel

🌍
Hachemi
Hachemi

🌍
hanzoh
hanzoh

🌍
Vincent Le Gallic
Vincent Le Gallic

🌍
Enigmatic331
Enigmatic331

πŸ–‹
Ganesh Prasad Kumble
Ganesh Prasad Kumble

πŸ–‹ 🌍
Pandiyaraja Ramamoorthy
Pandiyaraja Ramamoorthy

πŸ–‹ 🌍
Archan Roychoudhury
Archan Roychoudhury

πŸ–‹ 🌍
SAI PRASHANTH VUPPALA
SAI PRASHANTH VUPPALA

πŸ–‹ 🌍
Sayid Almahdy
Sayid Almahdy

🌍
jeedani
jeedani

🌍
Akira
Akira

🌍
karansinghgit
karansinghgit

πŸ’»
Marc Garreau
Marc Garreau

πŸ–‹

This project follows the all-contributors specification. Contributions of any kind welcome!

About

Ethereum.org is a primary online resource for the Ethereum community.

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages

  • JavaScript 100.0%