Welcome to the Ethereum Wiki

This is the community 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.

Other versions: Chinese and Japanese.

Documentation chat

Basics R&D Infrastructure
Home Sharding introduction & R&D Compendium,
FAQs & roadmap
Chain Spec Format
Ethereum Whitepaper Casper Proof-of-Stake compendium and FAQs Inter-exchange Client Address Protocol
Ethereum Introduction Alternative blockchains, randomness,
economics, and other research topics
NatSpec Determination
Uses: DAOs and dapps Hard Problems of Cryptocurrency Network Status
Getting Ether Governance Raspberry Pi
Releases Ethereum Virtual Machine (EVM) Mining
FAQs Ethereum clients, tools, wallets, dapp
browsers and other projects
Design Rationale ÐApp Development URL Hint Protocol
EVM intro: Ethereum Yellow Paper
Beige Paper and Py-EVM
Consortium Chain Development
Wiki for (old) website

ÐΞV Technologies Ethereum Technologies Ethash/Dashimoto Whisper
RLP Encoding Patricia Tree Ethash Whisper Proposal
Node Discovery Protocol Wire protocol Ethash Yellow Paper appendix Whisper Overview
ÐΞVp2p Wire Protocol Light client protocol PoC-2 Whitepaper PoC-1 Wire protocol
ÐΞVp2p Whitepaper (WiP) Subtleties PoC-2 Wire protocol
Web3 Secret Storage Solidity Documentation
libp2p NatSpec Format
Contract ABI
Bad Block Reporting
Bad Chain Canary

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.

All pages can be edited via the web-interface. For more controversial changes, please submit Pull Requests at https://github.com/ethresearch/en-ethereum-wiki. The github and the site are synced every five minutes.

Contribution guidelines

Page titles

Careful with changing page titles!, 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.

License and contributor license agreement

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-->.

Getting started

For an introduction targeted see Ethereum introduction. 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. If you are interested in being a core developer, find a project that interests you, and start contributing to that (maybe pro-bono initially, until maintainers like you and decide to hire you). 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


See here.

Other Wikis

If you get lost

Check the FAQ and Glossary.