Lihe August 28, 2016
Many people are puzzled by the blockchain and Ethereum, do not know how to learn, this article briefly discussed some of the learning methods and resources.
I. The relationship between Ethereum and blockchain
From the blockchain history, Bitcoin was first born, there was no blockchain technology and terminology, and the industry extracted the technology architecture and system from Bitcoin, called Blockchain technology. Blockchain technology from Bitcoin is called the Blockchain 1.0 era, when the application is mainly electronic money and to focus on transactions, such as a variety of counterfeit coins. And Ethereum to the blockchain into the 2.0 era, Blockchain 2.0 is not overturned 1.0, but on the basis of 1.0 to realize the block awareness, value awareness, Turing complete, and the details of the optimization, thus forming a smart contract with the characteristics of the Blockchain 2.0. Bitcoin is positioned in one application, and Ethereum is positioned on the platform where you can use smart contracts for a variety of applications.
So, learn the blockchain, just learn the ether. second, the way to get started in Ethereum
For those who have not contacted the blockchain, it is recommended to attend the daily use of Ethereum.
1. Using the client
Here's a lot of tutorials, recommended an ethereum wallet tutorial
2. Mining
Mining a lot of tutorials, generally distributed in the various mineral pools, here recommended a domestic mine pool tutorial, and can join the pools of the group to exchange. The domestic mine pond has www.f2pool.com,www.bw.com and so on several big ore pond.
Http://pan.baidu.com/s/1c27DOCo
3, browse the public chain block information
After experiencing these things, you can view your account and transactions through the blockchain browser, and feel more intuitively.
Through the above operation, the basic can be counted on the blockchain has a preliminary understanding and perception. three, the ether square each item description
After the Ethereum release, there are a number of clients, but also support multiple platforms, beginners are often confused by a variety of clients, this article is a detailed summary.
The Ethereum client is categorized by language and is divided into different projects on GitHub, source code address: https://github.com/ethereum/, although the Ethereum client is numerous, but there are two common features:
1, the same language of the client on different platforms use is exactly the same
2, different languages of the client (mist, Geth, ETH, etc.) between the same platform (Linux, Windows or OSX) share the same application configuration, and its command line can use the same parameters.
The following is a breakdown of the purpose and characteristics of each client using the project on GitHub:
(i) Go-ethereum project
Development language: Go language
Client Files: Geth
Interface: Command line
Applicable platforms: Windows, Linux, and OSX
Features and features: The project is the most widely used Ethereum client, most of the nodes are running the client, tutorials and examples are also the most, recommended, can be used for mining, the formation of private chain, manage accounts, deployment of smart contracts and other common functions, can not compile smart contracts.
(ii) Webthree-umbrella project
This project consists of 3 clients
Development language: C + +
Client files: Alethzero, mix, and ETH
Using platforms: Windows, Linux, and OSX
Interface: Graphical interface
Features and features: The project is strictly a shell of the Cpp-ethereum project, written by the former Cto,gavin Wood of the Ethereum Foundation, so the popularity is high and the usability is good. Alethzero is a graphical wallet client, which corresponds to the function of Geth, but is completely graphical. But with the introduction of the Graphic wallet mist, which was pushed by the Ethereum Foundation, is fading. Mix is the development IDE for smart contracts (Ethereum called Dapp) that supports the authoring, commissioning, deployment, and full graphical interface of smart Contracts (DAPP), but has stopped developing and the development team has turned to remix. The ETH is a command-line client feature written in C + + and Geth.
(iii) Mist Project
Development language: JavaScript
Client files: Mist (currently using the Ethereum-wallet name)
Using platforms: Windows, Linux, and OSX
Interface: Graphical interface
Features and features: The project is the main project of the Ethereum Foundation, Mist is not just a wallet, but the future of Dapp (application app for smart contracts) market, similar to the Apple market, where you can have your account, you can browse, publish and sell Ethereum Dapp applications. At present, because the development is not comprehensive, the name temporarily displayed as Ethereum-wallet, the role is very simple, is a wallet function. Strongly recommended for future mainstream clients.
(iv) solidity project
Development language: C + +
Client Files: Solc
Using platforms: Windows, Linux, and OSX
Interface: Command line interface
Features and features: The project is the Ethereum Smart Contract (DAPP) programming language, using SOLC as a compiler, the project is mainly used for compiling, strictly speaking is a basic compiler platform, general development can be used to replace the mix.
(v) browser-solidity Project
Development language: C + +
Client files: Display in browser
Using platforms: Windows, Linux, and OSX
Interface: Browser interface
Features and features: The project is a smart contract browser version of the development environment, can support in the browser directly development, debugging and compilation, for beginners, can quickly get started, do not need to install, very convenient, direct access to address use: https://ethereum.github.io/ browser-solidity/
(vi) Pyethereum project and ETHEREUMJ project
The Pyethereum project is an Ethereum client written in the Python language, and the ETHEREUMJ project is an Ethereum client written in the Java language, except that the language is different and the functionality of the client Geth written in the previous go language is exactly the same.
(vii) Etheminer project
Development language: C + +
Client Files: Ethminer
Using platforms: Windows, Linux, and OSX
Interface: Command line
Features and Features: This project is part of the Cpp-ethereum project, used for GPU mining with geth, more than 100 times higher than the CPU mining efficiency, can also be used for mining pool mining Four, Ethereum common site (including smart contracts)
Ethereum has a lot of useful sites are distributed abroad, find it very laborious, here summarize
1. Ethereum Official website: https://ethereum.org/
The site is the official Ethereum website, with detailed Ethereum introduction and various connection addresses, recommend a detailed look at
2, Ethereum all Source address (official): https://github.com/ethereum/
This github is the source address for all ethereum projects, as well as updates and releases.
3. Ethereum Homestead Document Address (official): http://www.ethdocs.org/en/latest/index.html
This site is a detailed introduction to the Ethereum document, which basically includes all aspects of ethereum, if there are any unclear principles and applications, the basic can be found here and clues.
4, Ethereum network status address (official): https://ethstats.net/
The website can display the network status comprehensively, including node, difficulty, calculation force and so on, very intuitive
5. Ethereum Resources website (official): http://ether.fund/
The site provides many of Ethereum's application resources, such as market conditions, contract AIDS, published smart contracts, Ethereum networks, DAAP, etc. to facilitate development and release.
6. Solidity Programming Document (official): http://solidity.readthedocs.io/en/latest/
This website provides a comprehensive reference manual of the Ethereum solidity language, learning the solidity language prerequisites.
7, Ethereum Network Scan (official): http://etherscan.io/
The website provides various statuses of the Ethereum network, such as account details, token details, difficulty details, block details, very convenient and intuitive.
8, Ethereum official blog: https://blog.ethereum.org/
9, Ethereum wiki encyclopedia address: Https://github.com/ethereum/wiki/wiki
Here are the white papers, the Yellow Book and the development Guide, more comprehensive.
10, Ethereum Chinese enthusiasts website: http://ethfans.org/
The site for the domestic Ethereum enthusiasts spontaneously set up the site, the content of the whole, the information updated quickly.
11, Ethereum gitter Real-time exchange website: https://gitter.im/orgs/ethereum/rooms
The site is the Ethereum gitter Chart website, according to the project divided a lot of rooms, as long as you ask questions, most people answer, very good, but only English communication.
12. Ethereum Official forum: https://forum.ethereum.org/
The official forum, there is nothing to say, I met a few questions, are here to find the answer
13, Ethereum third-party powerful ide:https://live.ether.camp/
This is a third-party release of the solidity IDE, I looked at a bit, very powerful, strong enough to not be used, his goal is enterprise-class IDE, foreigners use more.
14, Ethereum Development Framework Truffle Manual: http://truffle.readthedocs.io/en/latest/
Ethereum is currently a popular development framework for the truffle, which is more prevalent in this framework.
15, Ethereum Development Framework Dapple Manual: http://dapple.readthedocs.io/en/master/
This development framework was seen on the Gitter chart, with few people feeling
16, Ethereum official recommended development Framework Meteor manual: Https://github.com/ethereum/wiki/wiki/Dapp-using-Meteor
This development framework is officially recommended by Ethereum and is written into the official Ethereum wiki, which is worth learning, and of course, ethereum officials often change direction, and later, they may be different.