Blockchain Development (Zero) How to start learning Ethereum and blockchain

Blockchain Development (Zero) How to start learning Ethereum and blockchain

Many people are confused about blockchain and Ethereum and don’t know how to learn. This article briefly talks about some methods and resources for learning.

1. The relationship between Ethereum and blockchain

From the history of blockchain, Bitcoin was born first. At that time, there was no technology or term for blockchain. Then the industry extracted the technical architecture and system from Bitcoin and called it blockchain technology. The blockchain technology extracted from Bitcoin is called the blockchain 1.0 era. At that time, the applications were mainly electronic currency and decentralized transactions, such as various altcoins. Ethereum brought blockchain into the 2.0 era. Blockchain 2.0 did not overthrow 1.0, but realized block awareness, value awareness, Turing completeness, and optimized details on the basis of 1.0, thus forming blockchain 2.0 featuring smart contracts. Bitcoin is positioned as an application, while Ethereum is positioned as a platform. You can use smart contracts on this platform to make various applications.

So, if you want to learn blockchain, just learn Ethereum directly.

2. How to get started with Ethereum

For those who have not been exposed to blockchain, it is recommended to first attend the daily applications of Ethereum.

1. Use the client

There are many tutorials here, I recommend an Ethereum wallet tutorial

2. Mining

There are many mining tutorials, which are generally distributed in various mining pools. Here is a tutorial from a domestic mining pool, and you can join the groups of various mining pools to communicate. Domestic mining pools include www.f2pool.com, www.bw.com and other major mining pools.

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

3. Browse the block information of the public chain

After experiencing the above, you can check your account and transactions through the blockchain browser for a more intuitive experience.

Through the above operations, you can basically have a preliminary understanding and perception of blockchain.

3. Description of Ethereum Projects

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

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

1. The same language client is used exactly the same on different platforms

2. Clients in different languages ​​(mist, geth, eth, etc.) share the same application configuration on the same platform (linux, windows or OSX), and the parameters available on their command lines are also the same.

The following is an explanation of the purpose and features of each client based on the projects on GitHub:

1. go-ethereum project

Development language: go language

Client file: Geth

Interface: Command line

Applicable platforms: Windows, Linux and OSX

Functions and features: This project is the most widely used Ethereum client. Most nodes are running this client. It has the most tutorials and examples. It is recommended for use. It can be used for mining, building private chains, managing accounts, deploying smart contracts and other common functions. Smart contracts cannot be compiled.

(2) webthree-umbrella project

This project includes 3 clients

Development language: C++

Client Files: AlethZero, Mix, and Eth

Platform: Windows, Linux and OSX

Interface: Graphical interface

Functions and features: Strictly speaking, this project is a shell of the cpp-ethereum project. It was written by Gavin Wood, the former CTO of the Ethereum Foundation, so it is very popular and easy to use. AlethZero is a graphical wallet client that corresponds to the functions of Geth, but it is fully graphical. However, with the launch of Mist, a graphical wallet promoted by the Ethereum Foundation, it gradually declined. Mix is ​​an IDE for the development of smart contracts (called DAPP by Ethereum), which can support the writing, debugging, deployment, and full graphical interface of smart contracts (DAPP), but it has been stopped and the development team has turned to Remix. Eth is a command line client written in C++ with the same functions as Geth.

3. Mist Project

Development language: JavaScript

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

Platform: Windows, Linux and OSX

Interface: Graphical interface

Functions and features: This project is promoted by the Ethereum Foundation. Mist is not just a wallet, but a future DAPP (smart contract application APP) market, similar to the Apple market, where you can have your account, browse, publish and buy and sell Ethereum DAPP applications. At present, because the development is not comprehensive enough, the name is temporarily displayed as Ethereum-Wallet, and the function is also very simple, that is, the function of a wallet. Highly recommended, the mainstream client of the future.

(IV) Solidity Project

Development language: C++

Client file: solc

Platform: Windows, Linux and OSX

Interface: Command Line Interface

Functions and features: This project is the programming language of Ethereum smart contracts (DAPP), using solc as the compiler. The project is mainly used for compilation. Strictly speaking, it is a basic compilation platform. MIX can be used as a substitute for general development.

(V) browser-solidity project

Development language: C++

Client file: Displayed in the browser

Platform: Windows, Linux and OSX

Interface: Browser interface

Functions and features: This project is a development environment for the browser version of the smart contract, which can support direct development, debugging and compilation in the browser. For beginners, it can be quickly started without installation, which is very convenient. You can directly access the address: https://ethereum.github.io/browser-solidity/

(VI) Pyethereum Project and EthereumJ Project

The pyethereum project is an Ethereum client written in Python, and the ethereumj project is an Ethereum client written in JAVA. They are just different in language, but their functions are exactly the same as the client Geth written in GO.

7. Etheminer Project

Development language: C++

Client file: ethminer

Platform: Windows, Linux and OSX

Interface: Command line

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

4. Commonly used Ethereum websites (including smart contracts)

There are many useful websites for Ethereum that are distributed abroad and are difficult to find. Here is a summary

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

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

2. All source code addresses of Ethereum (official): https://github.com/ethereum/

This github is the source code 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

This website is a detailed introduction document of Ethereum, covering basically 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 comprehensively display the network status, including nodes, difficulty, computing power, etc., which is very intuitive.

5. Ethereum resource website (official): http://ether.fund/

The website provides many application resources of Ethereum, such as market conditions, contract auxiliary tools, published smart contracts, Ethereum network, DAAP, etc., to facilitate development and release.

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

This website provides a comprehensive reference manual for the Ethereum Solidity language, which is essential for learning the Solidity language.

7. Ethereum network scan (official): http://etherscan.io/

The website provides various status 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

Here are white papers, yellow papers and development guides, which are quite comprehensive.

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

This website was spontaneously established by domestic Ethereum enthusiasts. It has relatively complete content and the information is updated very quickly.

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

This website is the gitter chart website of Ethereum. It is divided into many rooms according to the projects. As long as you ask questions, most of them will be answered, which is very good, but you can only communicate in English.

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

There is nothing much to say about the official forum. I found the answers to several questions I encountered here.

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

This is a Solidity IDE released by a third party. I took a look at it and it is very powerful, but so powerful that I don’t quite know how to use it. Its goal is to be an enterprise-level IDE and is mostly used by foreigners.

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

The manual for Truffle, a popular development framework for Ethereum. This framework is quite popular.

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

I saw this development framework on the gitter chart. I don't think many people use it. Let's observe it first.

16. Ethereum officially recommends the development framework Meteor specification: https://github.com/ethereum/wiki/wiki/Dapp-using-Meteor

This development framework is officially recommended by Ethereum and is included in the official wiki of Ethereum. It is worth learning. Of course, the official Ethereum often changes direction, so it is possible that it will change to something else in the future.


<<:  Blockchain investments accounted for half of all fintech funding in 2015

>>:  How can blockchain really change the insurance industry?

Recommend

Facial features of a very narcissistic person

There are always many very narcissistic people ar...

Very mean man

Very mean man There are many kinds of men in life...

What kind of man loves his wife?

What kind of man loves his wife? The best man who...

What is a full forehead?

I believe many people are familiar with the phras...

Judging from your ears whether you have good fortune in this life

It is said that eyes are the windows to the soul,...

What are the facial features of men who are best at lying?

Facial features of men who are good at lying 1. N...

Face analysis explains these blessed faces for you

The reason why people in ancient times looked at ...

Fox eyes facial features

Fox Eye Charm Characteristics of fox eyes <br ...

Your ears can tell whether you can live a long and healthy life

Your ears can tell whether you can live a long an...

How to understand your palm lines

How to understand your palm lines First of all, m...

The influence of palm lines on luck

The influence of palm lines on luck 1. Understand...

Mole position and destiny - what kind of mole should you never marry a man

As the saying goes: Women are afraid of marrying ...

What does it mean when your eyes are protruding and you have a hard time living?

Through some facial features, we can not only see...