Development of Ethereum DAPP
just like bitcoin, Ethereum is neither controlled nor owned by anyone - it is an open source project created by many people around the world. Different from bitcoin protocol, Ethereum's design is very flexible and adaptable. It is very easy to create new applications on the Ethereum platform. With the release of homestead, anyone can use the applications on this platform safely
Ethereum is a programmable blockchain. It does not give users a series of preset operations, but allows users to create complex operations according to their own wishes. In this way, it can be used as a platform for many types of decentralized blockchain applications
in a narrow sense, Ethereum refers to a series of protocols that define a decentralized application platform. The core of Ethereum is Ethereum virtual machine (EVM), which can encode any complex algorithm. In computer science terminology, Ethereum is "Turing complete.". Developers can use the existing JavaScript and python as the model of other friendly programming languages to create applications running on the Ethereum simulator.
Ethereum energy coin is not MLM
Ethereum is an open source public blockchain platform with smart contract function. Ethereum provides decentralized virtual machine (Ethereum virtual machine) to process point-to-point contract through its special cryptocurrency Ethereum
in 2013, vitalik buterin, 19, first mentioned the idea of Ethereum in a book entitled "Ethereum white paper: next generation intelligent connection and decentralized application platform". Then, in 2014, the algorithm and protocol of Ethernet coin were officially implemented, and $150 million was raised. The system itself was finally completed on July 30, 2015
as the representative of blockchain 2.0, the mainstream currency Ethernet is regarded as the wind vane of crypto digital currency market. However, over the past week, the price of ether currency has continued to fall. On August 14, 2018, the ethereal currency plummeted by 20%, reaching a record low of $257 this year. Compared with this year's peak of $1295, the price of Ethernet currency has shrunk by more than 80%. Affected by this, on August 15, 2018, none of the top ten mainstream currencies in the digital money market was spared, falling across the board, with a number of single day declines exceeding 10%
extended data
Ethereum started planning almost in 2013, and started to implement the project in 2015. Before that, there were many digital currencies imitating bitcoin in the market, and they made various modifications on the basis of bitcoin code. In this way, it is very difficult to develop a new blockchain application, to re deploy a new chain, and then to develop an application on this chain. Using a consensus mechanism of pow alone is a huge maintenance workload. It's like developing an app on a mobile phone and developing the Android system together
after Ethereum comes out, it is equivalent to the underlying operating system of the blockchain. On Ethereum, it is very convenient to develop various dapps without considering the underlying development, and it can also share the computing power and storage of Ethereum. For programmers, the threshold of blockchain development is lowered instantly. The emergence of Ethereum has played a very important role in the development and popularization of blockchain applications. That's why Ethereum is called blockchain 2.0
a total of 22 weeks, divided into five stages,
the first stage is 4 weeks, go language foundation and network concurrency, learning the introctory go language,
the second stage is 4 weeks, go language practical web development, crawler development, cryptography, consensus algorithm, realizing lightweight public chain, learning the website and crawler that can develop golang, Achieve lightweight blockchain
stage 3, 4-week Ethereum source code analysis and smart contract DAPP development, master Ethereum core and smart contract development, as well as blockchain,
stage 4, 4-week super ledger, bitcoin EOS, source code analysis and smart contract practice, master super ledger development, cat bitcoin, bifurcated EOS after learning, As well as DAPP development of smart contract
phase 5, 6-week project practice, five enterprise level projects, and one year of blockchain project experience after learning
from the characteristics of the language itself, go is a very efficient language, which highly supports concurrency. Go language itself pays more attention to distributed system, and concurrency processing is relatively good, such as advertising and search, That kind of high concurrency server
go language advantages:
excellent performance, can be directly compiled into machine code, does not rely on other libraries, go is extremely fast. Its performance is similar to Java or C + +
concurrency is supported at the language level, which is the biggest feature of go. It is born to support concurrency, and go is the concurrency supported in gene, which can make full use of multi-core and make it easy to use concurrency
the built-in runtime supports garbage collection, which is one of the features of dynamic language. Although GC is not perfect at present, it is enough to cope with most of the situations we can encounter, especially GC after go1.1
it's easy to learn. The authors of go language all have the gene of C, so go naturally has the gene of C. There are 25 go keywords, but the expressive ability is very strong. It almost supports most of the features you've seen in other languages: inheritance, overloading, object, etc
rich standard libraries, go has built a large number of libraries, especially the network library, which is also my favorite part< As like as two peas, br / > built-in powerful tools, Go language is built with many tools chain, the best should be gofmt tools, automatic formatting code, make team review become so simple, code format is exactly the same, it is very difficult to think differently.
cross platform compilation and fast compilation. Compared with the sluggish compilation speed of Java and C + +, the fast compilation time of go is a major efficiency advantage
disadvantages of go language:
package management: package management of go language is absolutely not perfect. By default, it has no way to make a specific version of the dependency library, nor can it create replicable builds. In contrast, python, node and Ruby all have better package management systems. However, with the right tools, the package management of go language can also perform well
lack of development framework: go language does not have a major framework, such as Ruby's rails framework, Python's Django framework or PHP's laravel. This is a heated discussion in the go language community, because many people think that we should not start with using frameworks. This is true in many cases, but if you just want to build a simple crud API, it's much easier to use Django / djrf, rails laravel, or Phoenix
exception handling: go language can help developers deal with compilation errors by simply returning errors (or call stack) through functions and expected calling codes. Although this method is effective, it is easy to lose the scope of the error, so it is difficult to provide meaningful error information to users. Error package can solve this problem by allowing us to add context and stack trace to return error
another problem is that we may forget to handle errors. Static analysis tools such as errcheck and megacheck can avoid these errors. Although these solutions are very effective, they may not be the right way.
Ethereum is an implementation of blockchain. In Ethereum network, many nodes are connected with each other to form Ethereum network:
Ethereum node software provides two core functions: data storage and contract code execution
in each Ethereum node, complete blockchain data is stored. Ethereum not only saves the transaction data on the chain, but also saves the compiled contract code on the chain
At the same time, a virtual machine is provided to execute the contract code Ethereum virtual machine
Ethereum blockchain not only stores data and code, but also contains a virtual machine (EVM) in each node to execute contract code - it sounds like a computer operating system
in fact, this is the core difference between Ethereum and bitcoin: the existence of virtual machine has brought blockchain into the era of 2.0 and made blockchain a friendly platform for application developers for the first time
the above content comes from the introction course of Ethereum DAPP development
1. Different network architectures:
decentralized application (DAPP) runs on the distributed network, the information of participants is protected (or anonymous), and the decentralized operation is carried out through different people in the network nodes. Distributed network is made up of node computers which are distributed in different places and have multiple terminals. When any line in the network fails, the communication can be completed through other links, which has high reliability
traditional app needs services provided by third-party service providers, and can achieve wireless network access through mobile communication network, which belongs to the centralized network architecture mode
2. Different from open source:
DAPP applications must be open source. Most of the tokens issued by DAPP run independently rather than controlled by an entity. All data and records must be encrypted and stored on a public and decentralized blockchain
traditional app software, games, navigation and other applications are generally provided by third-party service providers, which should solve the problems of right protection and economic interests, and their programs are not open source
extended data
in 2018, a large number of new DAPP projects were launched. According to the statistics, there are about two or three thousand dapps in the whole network. According to the DAPP survey of fluence labs, 72% of DAPP projects were launched in 2018. This means that in the past year, the number of dapps in the whole network has more than tripled
of all dapps, more than 80% are developed on Ethereum, about 20% on EOS and less than 10% on Tron. It is worth noting that about 10% of the projects are developed on multiple main chains at the same time, while the number of dapps developed on other main chains is relatively rare
there are about ten projects based on gxchain, mainly small applications in block city
install MIPS based Linux header file
$CD $prjroot / kernel
$tar - xjvf linux-2.6.38. Tar. Bz2
$CD linux-2.6.38
create an include folder under the specified path to store related header files< br />$ mkdir -p $TARGET_ Prefix / include
ensures that the Linux source code is clean
$make mrproper
generates the required header file< br />$ make ARCH=mips headers_ check
$ make ARCH=mips INSTALL_ HDR_ PATH=dest headers_ Install
all the files in dest folder to the specified include folder< br />$ cp -rv dest/include/* $TARGET_ Prefix / include
delete dest folder at last
$RM - RF dest
$LS - L $target_ PREFIX/include