Skip to content

Latest commit

 

History

History
129 lines (86 loc) · 14 KB

Home.md

File metadata and controls

129 lines (86 loc) · 14 KB

Welcome to the Ethereum Wiki!

Documentation chat standard-readme compliant

Ethereum wiki covering all things related to Ethereum

This is the community maintained wiki covering all sorts of information on the next-generation peer-to-peer technology platform built by the Ethereum Foundation, including Ethereum, the generalized blockchain for smart contract development, as well as sister protocols like Whisper, the private low-level datagram communication platform, and Swarm, a distributed storage platform and content distribution service. See here for an introduction, and other pages in the sidebar.

Contents

Issues and pull requests

If you have a technical issue with a specific client, application or tool, e.g. those listed here, please ask in the Gitter room of that project, and if your issue is still not resolved, post an issue in the repo for that project. Please only create an issue if you can't fix it by editing yourself, it doesn't get resolved via the Gitter documentation room (including pinging someone who knows how to handle the issue, or asking/finding out who knows then pinging them) and only if it is related to the wiki.

If you had an issue that has been closed, and feel that it could be reopened after following the above steps, feel free to request to reopen it. Do not make a pull request; chances are that all PRs will be ignored, since any content in the codebase can be in this wiki instead. About 180 issues and 30 PRs were closed on May 29 2018, due to deleting the codebase and referring people to this wiki, in order to reduce the burden on maintenance by following the above steps. This fits well with Ethereum's ethos of decentralization, which includes minimising bureaucracies, and gives contributors more time to build Ethereum and satisfy the long-term interests of current and future users. If you had an issue or PR that was closed without explanation, I apologize, but it is time-consuming to reply to every one; I'm hoping that people will see the updated readme and this section.

While having good documentation is certainly important to help onboard new people including users and contributors of all kinds, there is a lot to do at the moment in terms of design and implementation, and editing documentation is something that seems best to be done when you are reading or learning about something, using something, building upon something, etc., not usually just for the sake of reading and editing for other users, although reviewing one's own writing is certainly a good practice.

Contribution guidelines

Introduction

For a practical introduction to GitHub wikis, see here. See also the basic strategies to contribute.

Fixing vandalism

If you notice that a page is vandalized, such as the footer (which has been frequently vandalized), this home page, or the sidebar, please view the page history (which is the link of a page with a /_history appended), and revert to the last known good version (which are listed below for convenience for the above pages), by ticking it and the most recent revision, selecting "Compare revisions", and then "Revert changes":

Page titles

Avoid changing the title of a page, as the link for it will change. In particular, if you change the title for a page, any link to it will just direct to a blank page. (In the case of this page, also the Wiki tab in the header of this repo, as well as any link to the Home page, will just direct to a list of pages.) If you really want to change the title, then create a new page with the new title, move the contents of the old page to the new page, and update the old page with a redirect link to the new page. If you want to translate a page, create a new page and translate the original there. Consider previewing your changes before saving them, and if you detect any errors, fix them. If you happen to get directed to a page that doesn't exist with a prompt to create a new page, do that, without changing the title. Then check the history of the newly created page. It may be that there is a history of changes to the page that you just created, with the second most recent change (second to you creating the page) being that someone renamed the page. If so, please fix the page (restore it to the revision before the title was changed or redirect to the new page) and tag the person who renamed the page in this issue here or on Gitter.

Wikipedia pillars

Wikipedia has five pillars which provide a good standard for contributing that we can adapt for our needs. If you have experience with editing on Wikipedia, then that will help with knowing how to edit this wiki, although the contribution rules are less strict. Referencing facts is a key writing and proofreading task, as well as checking that information is up-to-date (and updating it if otherwise), correcting grammar, typos, and spelling; and making the wiki comprehensive and easy to understand. Other rules, such as a neutral point of view and no original research are desirable, but may be hard to maintain. Notability is less relevant, this wiki is about all things Ethereum.

Translating

The title of the page should start with [Language]: title, e.g. "[German] White Paper" or "[中文] 以太坊Wiki目录". Then add a Table of Contents (ToC) page linking for the language, linking to all pages of that language, and add a link to it in the footer.

Please permit your contributions to be under the CC0 license [1], which makes your contributions have no rights reserved, putting them in the public domain. This will help to allow for the dissemination of information about Ethereum, the Ethereum ecosystem and Web 3 to the public, in a completely permissive manner. To state that you accept your contributions to be under a CC0 license, please add yourself to the list of external contributors here. Otherwise, without adding yourself to the list, your contributions will be all rights reserved. Some previous contributions may have all rights reserved (by contributors that have not agreed to a CC0 license at pull request 528), since no copyright permission was stated explicitly. Until all previous contributors agree to a CC0 license, and to provide clarity of licensing, you may also wish to add a HTML comment to the top of pages or sections that you contribute to, like so: <!--*Name Surname*, Github username, **email@domain** and/or other contact methods-->.

Editing locally (requires access permission)

Users signed in with GitHub can edit and add pages using a browser or locally. To view the wiki locally, scroll to the bottom of the sidebar, and get the link to clone the wiki, (posting here for convenience: https://github.com/ethereum/wiki.wiki.git), then open a terminal (CTRL+ALT+T is a typical keyboard shortcut), run git clone https://github.com/ethereum/wiki.wiki.git and then view the files from a file explorer or using cd wiki.wiki; ls; // Enter a command to open a file from a terminal, e.g. gedit Home.md.

If you change the headers of the page then it's a good idea to update the contents to reflect that change, using doctoc, but you will need to have access permissions to push changes to this repo; you could ask in https://gitter.im/ethereum/documentation, and if there's no response from anyone in the EF after a couple of days, you could ping @Souptacular.

Setup

Use a package manager to install NPM or go to https://www.npmjs.com/get-npm. Then run:

npm install -g doctoc

Usage

# Open wiki folder in a terminal or cd to it.
git pull; # run this if you haven't just cloned or there are any upstream changes, or copy anyway just in case
doctoc --title "**Contents**" .; # it may take a while
git add .;
git commit -m "Update contents by running doctoc --title **Contents**";
git push;

Getting started

To get the basic concepts of Ethereum visit http://ethereum.org. For another introduction targeted for end users but also for developers and others, see here. If you want to get a deeper understanding, start by reading the whitepaper and the design rationale. For a more formal review, read the yellow paper or the Jello Paper. If you are interested in being a core developer, find a project such as these ones that interests you, and start contributing to that (maybe pro-bono initially, until maintainers like you and decide to hire you). If you start your own project, tell the world about it e.g. on Twitter, Peepeth, Status, and Akasha and see https://gitcoin.co/grants/quickstart and https://blog.ethereum.org/2018/10/15/ethereum-foundation-grants-update-wave-4/. For Ethereum research and protocol architecture, visit https://ethresear.ch as well as https://github.com/ethereum/wiki/wiki/R&D. If you are interested in developing smart contracts you can see here, as well as under ÐApp Development (which is also in the sidebar).

For getting started guides, see here

Downloads

See here.

Status / Releases / Development timeline / Roadmap

See here.

Don't get lost

If you have any question, check the FAQS and Glossary.

There are separate wikis for some implementations, as follows:

A proposal to move the content in this wiki to a Wikipedia-style wiki site

See this issue.

See also