Blockchain Development (Zero) How to Start Learning Ethereum and Blockchain

Source: Internet
Author: User
Tags blockchain technology blockchain applications blockchain open platform blockchain services blockchain solutions

First, the relationship between Ethereum and blockchain

From the history of blockchain, Bitcoin was first born. At that time, there was no blockchain technology and nouns. Then the industry extracted the technical architecture and system from Bitcoin, which was called blockchain technology. The blockchain technology extracted from Bitcoin is called the blockchain 1.0 era. At that time, the application was mainly based on electronic money and decentralized transactions, such as various altcoins. Ethereum brought the blockchain into the era of 2.0. Blockchain 2.0 did not overthrow 1.0, but realized block awareness, value awareness, Turing completeness, and detailed optimization based on 1.0. Blockchain 2.0 featuring smart contracts was formed. Bitcoin is targeted at an application, and Ethereum is positioned on the platform, where you can leverage smart contracts for a variety of applications.

So, learning the blockchain, it’s good to learn Ethereum directly.


Second, the method of getting started with Ethereum

For those who have not touched the blockchain, it is recommended to attend the daily application of Ethereum.


1. Using the client

There are a lot of tutorials here, recommend an Ethereum wallet tutorial


2. Mining

There are many tutorials for mining, which are generally distributed in various mining pools. Here is a tutorial for domestic mine pools, and you can join the clusters of each mine pool to exchange. The domestic mining pool has several large mining pools such as www.f2pool.com and www.bw.com.

http://pan.baidu.com/s/1c27DOCo


3. Browse the block information of the public chain

After experiencing the above, you can use the blockchain browser to view your own accounts and transactions, which is more intuitive.

Through the above operations, it is basically possible to have a preliminary understanding and perception of the blockchain.


Third, Ethereum project description

After the release of Ethereum, there are multiple clients and multiple platforms. Beginners are often confused by various clients. This article gives a detailed summary.

The Ethereum client is classified by language and is divided into different projects on github. The source code address is https://github.com/ethereum/. Although there are many Ethereum clients, there are two common features:

1. The use of clients in the same language on different platforms is identical.

2. Clients of different languages (mist, geth, eth, etc.) share the same application configuration on the same platform (Linux, Windows, or OSX), and the parameters that can be used on the command line are also consistent.



The following is a classification of the items on github to illustrate the purpose and characteristics of each client:

(1) Go-ethereum project

Development language: go language

Client file: Geth

Interface: Command line

Applicable platforms: windows, linux and OSX


Features and Features: This project is the most widely used Ethereum client. Most of the nodes are running this client. The tutorials and examples are also the most recommended. It can be used for mining, building private chains, managing accounts, deploying intelligence. Common functions such as contracts cannot compile smart contracts.


(2) webthree-umbrella project

This project contains 3 clients

Development language: c++

Client files: AlethZero, Mix, and Eth

Use the platform: windows, linux and OSX

Interface: Graphical interface

Features and Features: The project is strictly a shell of the cpp-ethereum project, written by Gavin Wood, the former CTO of the Ethereum Foundation, so it is also very popular and easy to use. AlethZero is a graphical wallet client that corresponds to Geth's functionality, but is fully graphical. However, with the launch of the graphical wallet Mist, which was mainly promoted by the Ethereum Foundation, it gradually declined. Mix is a development contract for smart contracts (called EAP in Ethereum) that supports the writing, debugging, deployment, and full graphical interface of smart contracts (DAPP), but has stopped development and the development team has moved to Remix. Eth is the command line client function written in C++ and is the same as Geth.


(3) Mist project

Development language: JavaScript

Client file: Mist (currently using the name of Ethereum-Wallet)

Use the platform: windows, linux and OSX

Interface: Graphical interface

Features and features: The project is the main project of the Ethereum Foundation. Mist is not only a wallet, but also a future DAPP (Intelligent Contract Application APP) market, similar to the Apple market, where you can have your account and can browse. , publish and trade E-shop applications in Ethereum. At present, because the development is not comprehensive enough, the name is temporarily displayed as Ethereum-Wallet, and the function is very simple, which is the function of a wallet. Highly recommended, the mainstream of the future client.


(4) Solidity project

Development language: C++

Client file: solc

Use the platform: windows, linux and OSX

Interface: Command line interface

Functions and features: The project is a programming language of Ethereum Smart Contract (DAPP), which uses Solc as a compiler. This project is mainly used for compilation. Strictly speaking, it is a basic compilation platform. Generally, MIX can be used instead.


(5) Browser-solidity project

Development language: C++

Client file: displayed in the browser

Use the platform: windows, linux and OSX

Interface: browser interface

Features and Features: This project is a development environment for smart contract browser version. It can support direct development, debugging and compilation in the browser. For beginners, it can be quickly started, no need to install, very convenient, direct access address :https://ethereum.github.io/browser-solidity/


(6) Pyethereum project and ethereumj project

The pyethereum project is an Ethereum client written in Python. The ethereumj project is an Ethereum client written in Java, but the language is different, and the functionality of the client Goh written in the GO language is exactly the same.


(7) Etheminer project

Development language: C++

Client file: ethminer

Use the platform: windows, linux and OSX

Interface: Command line

Features and Features: This project is part of the cpp-ethereum project. It is used in conjunction with Geth for GPU mining. It is more than 100 times more efficient than CPU mining and can also be used for mine mining.


Fourth, Ethereum commonly used website (including smart contracts)

There are many useful websites in Ethereum that are distributed abroad. It is very hard to find.


1. Ethereum official website: https://ethereum.org/

The website is the official website of Ethereum, with detailed Ethereum introduction and various connection addresses. It is recommended to take a closer look.

2. Ethereum all source code (official): https://github.com/ethereum/

The github is the source address of all Ethereum projects, as well as updates and releases.

3. Ethereum Homestead Document Address (Official): http://www.ethdocs.org/en/latest/index.html

The website is a detailed introduction document of Ethereum, which basically covers all aspects of Ethereum. If there are any unclear principles and applications, you can basically find answers and clues here.

4. Ethereum network status address (official): https://ethstats.NET/

The website can fully display the network status, including nodes, difficulty, computing power, etc., very intuitive

5. Ethereum Resources Website (official): http://ether.fund/

The website provides many application resources for Ethereum, such as market conditions, contract assistance tools, published smart contracts, Ethereum network, DAAP, etc., for easy development and release.

6. Solidity programming documentation (official): http://solidity.readthedocs.io/en/latest/

The site provides a comprehensive reference manual for the Ethereum Solidity language, which is a must for the Solidity language.

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, and block details, which is very convenient and intuitive.

8. Ethereum Official Blog: https://blog.ethereum.org/

9. Ethereum wiki encyclopedia address: https://github.com/ethereum/wiki/wiki

There are white papers, yellow books and development guides here.

10. Ethereum Chinese enthusiasts website: http://ethfans.org/

The website is a self-developed website for domestic Ethereum enthusiasts. The content is relatively comprehensive and the information is updated very quickly.

11. Either's gitter real-time communication website: https://gitter.im/orgs/ethereum/rooms

The website is the website of the Gitter Chart of Ethereum. According to the project, there are a lot of rooms. As long as you ask questions, most of them answer, very good, but only English communication.

12. The official forum of Ethereum: https://forum.ethereum.org/

The official forum, there is nothing to say, I have encountered several questions, are the answers found here.

13. A powerful third-party IDE in Ethereum: https://live.ether.camp/

This is a Solidity IDE released by a third party. I looked at it, it is very powerful and powerful, and it is not very useful. His goal is enterprise-level IDE, and it is used by foreigners.

14. Ethereum development framework Truffle manual: http://truffle.readthedocs.io/en/latest/

The framework of Truffle, the current development framework of Ethereum, is quite popular.

15. Ethereum development framework dapple manual: http://dapple.readthedocs.io/en/master/

This development framework is seen on the gitter chart. I don’t think there are many people to use.

16. Ethereum official recommendation development framework Meteor manual: https://github.com/ethereum/wiki/wiki/Dapp-using-Meteor

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.