title | description | published | date | tags |
---|---|---|---|---|
Frequently Asked Questions |
true |
2019-06-16 17:45:14 UTC |
There are several ways to answer this question, such as here, as well as the dedicated What is Ethereum wiki page, which was made at the time of the Frontier release, so it is outdated.
If you prefer to learn by watching videos, see:
- Introducing Ethereum (Video, 10mi)
- Vitalik Buterin reveals Ethereum at Bitcoin Miami 2014 (Video, 28min)
- Singularity 1 on 1: Ethereum is a Decentralized Consensus Platform (Video, 69min)
- Our second Reddit "Ask Me Anything" for community selected questions (not actually a video)
Read this.
- Main site: https://www.ethereum.org
- Forums: https://forum.ethereum.org
- Github: https://github.com/ethereum
- Blog: https://blog.ethereum.org
- Wiki: http://ethereum.wiki (this wiki)
- Twitter: https://twitter.com/ethereum
- Meetups: http://ethereum.meetup.com
- Whitepaper: https://github.com/ethereum/wiki/wiki/White-Paper
- Yellow Paper: https://ethereum.github.io/yellowpaper/paper.pdf
- Facebook: https://www.facebook.com/ethereumproject
- Youtube: http://www.youtube.com/ethereumproject
- Google+: http://google.com/+EthereumOrgOfficial
- IRC Freenode: #ethereum (http://bitly.com/IRC_ethereum for weblink)
- Stack Exchange: https://ethereum.stackexchange.com
- go-ethereum (@obscuren, @maran)
- Parity
- cpp-ethereum (@gavofyork, @programmerTim, @caktux)
- pyethereum (@vbuterin, @heikoheiko, @chenhouwu)
- ethereumj (@romanman, @nicksavers)
- ethereumjs-lib (@ethers, @wanderer)
- more repositories are in the Ethereum organisation on Github
If you have an issue with your wallet, an exchange or other matters relating to using the Ether cryptocurrency or making transactions, see this MyEtherWallet knowledge base. It answers many FAQs such as:
- transaction is not showing up or is pending forever
- ETH or Tokens sent to or from exchange haven't shown up / Transaction says complete, but funds haven't shown up yet
- Phish, Hacks, Thefts & stolen funds due to phishing messages on Slack / Reddit / Google Ads
Clients:
- Releases for Geth (Go)
- Releases for Parity (Rust)
- Releases for eth (C++)
- Releases for Pyethereum (Python)
- Releases for Ethereumj (Java)
- Releases for EthereumJS (Javascript)
Other:
- Releases for Mist (wallet and browser for dapps)
- Releases for Pyethapp (Python)
- Releases for Py-EVM (Python)
- Homebrew
- Guides
- Builds
- Building eth/AlethZero (C++)
- Building Mist (Go)
- Installing Pyethereum (Python)
- Installing EthereumJ (Java)
- Installing Ethereumjs-lib (JavaScript for Browser and Node)
With eth/AlethZero
- To process transactions
- Disable "Debug" > "Force Mining"
- Click "Mine"
- To force mine (Use sparingly, unless stress testing)
- Enable "Debug" > "Force Mining"
- Click "Mine"
With the eth client
# Only force mine to acquire ether or stress test
$ eth --force-mining --mining on [YOUR OPTIONS...]
- Articles
- Videos
- Specifications
- Examples
- Tutorials
- Videos
- Specifications
- Examples
- Videos
-
Documentation
-
Tutorials
- Serpent
- LLL
Official
- eth/AlethZero GUI client (C++)
- Eth command-line client (C++)
- LLLC Compiler (C++)
- Ethereum command-line client (Go)
- Mist Browser (Go)
- Pyeth command-line client (Python)
- Serpent Compiler (Python)
Community
- Emacs LLL Mode (@robmyers)
- Emacs Serpent Mode (@robmyers)
- EVM-Sim (@EtherCasts)
- MintChalk (@mintchalk)
- dapp-bin (@ethereum)
- GavCoin (@gavofyork)
- JeffCoin (@obscuren)
- Make It Rain (@EtherCasts)
- Chronos (@mquandalle)
- Artworld-Ethereum (@robmyers)
- CryptoCoinWatch (@EtherCasts)
- Occam's Run (@d11e9)
- TrustDavis (@EtherCasts)
Ethereum is a decentralized smart contracts platform that is powered by a cryptocurrency called Ether. A good starting point to learn more about its workings would be the “What is Ethereum?” page.
- Geth: This is the Go implementation of an Ethereum node, and is the basis for any interactions with the Ethereum blockchain. Running this locally will allow you to easily interact with the Ethereum blockchain. Read the go-ethereum installation instructions.
- Ethminer: A standalone miner. This can be used to mine or benchmark a mining set-up. It is compatible with eth, geth, and pyethereum. Check out the Mining page for more information.
- Remix: The integrated development environment for DApp authoring. Quickly prototype and debug decentralised applications on the Ethereum platform. More information can be found at the Mix GitHub Page.
In general you do not want to store large files or pieces of data in the Ethereum blockchain because of the high cost of storage. You will need to use a third party storage solution, such as Swarm or IPFS. Swarm is an Ethereum-specific project for distributed file storage. IPFS is an non-Ethereum project which has close ties to Ethereum; it will be used independently and may be used as an added layer underlying Swarm in the future. See this Ethereum StackExchange post on the topic for more information.
Only in the sense that it uses a blockchain, which Bitcoin pioneered. Ethereum has a separate blockchain that has several significant technical differences from Bitcoin’s blockchain. See this Ethereum StackExchange answer for a detailed explanation.
Ethereum developers are planning a switch from a Proof-of-Work consensus model to a Proof-of-Stake consensus model in the future. They are also investigating scalability solutions and how to store secrets on the blockchain.
An account is your public / private key pair file that serves as your identity on the blockchain. See “account” in the glossary. A “wallet contract” is an Ethereum contract that secures your ether and identity with features such as multisignature signing and programmed deposit/withdrawal limits. A wallet contract can be easily created in the Mist Ethereum Wallet GUI client.
No, you are welcome to export or move the keyfile, but always remember to backup your keyfiles and be aware of which computers you store your keyfile on.
The Ethereum blockchain is constantly growing, and is nearing 10GB as of March 2016. The amount of time it will take to download depends on the amount of peers you are able to connect to, your internet connection speed, and other factors. See the download-the-blockchain-faster section for tips on syncing the blockchain more quickly.
You would have to pull the transactions manually out of the blockchain to achieve this. Alternatively, you can rely on third party explorers’ API’s like Etherchain. For contract execution transactions however, you can filter the contract logs to achieve this.
No this is not possible. The gas for the execution must be provided by the address submitting the execution request.
Yes, this is possible, read about interactions between contracts.
Yes, you can refer to the solution from Icebox.
See Test Networks.
Technically yes, but there is an important restriction as opposed to bitcoin signed transactions: in ethereum the transaction has a nonce (more precisely, each account increases a counter when sending a transaction based on how many transactions total have been sent. If 3 transactions have ever been sent from the account, the account nonce would be 3).
No, Ethereum contracts cannot pull data from external information sources in this way. It is however possible to push data from external sites (e.g. weather sites, stock prices) to Ethereum contracts through transactions. There are “oracle” services that are compatible with the Ethereum network that will pull/push data to the Ethereum network for a fee.
Data and contracts on the Ethereum network are encoded, but not encrypted. Everyone can audit the behavior of the contracts and the data sent to them. However, you are always free to encrypt data locally before broadcasting it to the network.
All data on Ethereum is public. It is not possible to store secrets or passwords in Ethereum contracts without it being seen by all. There is work being done to make this a possibility through code obfuscation and other techniques. A good read would be “Privacy on the Blockchain” by Vitalik Buterin.
There are two primary ways that the Ethereum PoW based consensus algorithm combats mining centralisation (Source). * The first is by reducing losses due to orphaned blocks, which independent miners are more likely to experience. This portion of the Ethereum mining algorithm, a technique referred to as GHOST, includes the headers only of recently orphaned blocks in return for a reduced reward to both the block producer and the includer of the (otherwise orphaned) block. These included orphans from “grandparent” or earlier blocks are frequently referred to as “uncle” blocks because the gender neutral term “ommer” isn’t widely known or understood. * The second way that the Ethereum PoW consensus algorithm combats mining centralisation is by its use of a Proof of Work function that is ASIC resistant. By preventing mining from becoming dominated by specially designed and produced hardware, independent miners are kept competitive or even given an advantage in terms of their profits and/or levels of hardware investment, because they can make use of readily available commodity hardware (i.e. consumer graphics cards).
There are many discussions around blockchain scalability. This questioned has been partially answered on this Ethereum StackExchange post and this blog post from Vitalik Buterin.
Ethereum is planning on implementing a proof-of-stake consensus protocol change during the Serenity phase of their development roadmap. More information on the likely Ethereum PoS candidate and how it may increase transactions-per-second can be found here.
TODO
Ask the community on Ethereum StackExchange.