Development process 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 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
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
EOS is a public chain system at the bottom of blockchain developed by block. One, which is specially designed to support decentralized application of Commerce, and its code is open source
bitcoin is called blockchain 1.0 because it opens up the world of digital cryptocurrency and takes a decisive step from 0 to 1
Ethereum is known as blockchain 2.0, because it provides Turing complete virtual machine that can run smart contracts, bringing unlimited possibilities
and EOS is called blockchain 3.0, why? Two words: performance
The positioning of EOS is the slogan of its home page:English: the most powerful infrastructure for decentralized applications
Chinese: the most powerful decentralized application infrastructure
EOS expects to be an enhanced version of Ethereum, a high-throughput intelligent contract platform
although Ethereum has complete functions, it is limited by its design choice. Due to the block output speed of 15 seconds, the transaction throughput is far from large-scale practical level, which is only about 30 ~ 40tps (transaction / s). EOS, on the other hand, has chosen a different technology route, with the goal of achieving a considerable million TPS, which is quite attractive considering visa's actual processing speed of 1700tps
consensus mechanism of EOS
the reason why the throughput of bitcoin and Ethereum is so low is that they are constrained by the application scenario they envision and the consensus mechanism they choose for the scenario - both of them assume that the environment in which the system runs is totally untrustworthy, so they both adopt the consensus mechanism of proof of work
consensus, as the name suggests, is to reach a unified understanding of something - for blockchain, something refers to the confirmation of the transaction - any node to submit a transaction needs everyone's approval
the pow mechanism currently adopted by bitcoin and Ethereum is the design of the legendary Nakamoto Tsung. Under this mechanism, in order to obtain the bookkeeping right and digital currency reward, miners need to constantly dig for the compliant hash value, and confirm and package the transaction data through the consensus of hash value. POW has no access threshold, and any node has equal rights to participate in bookkeeping. Of course, the probability of winning is related to computing power:
the price of ram is based on Bancor algorithm, that is, it is regulated by market supply and demand: if the supply of ram exceeds the demand, more EOS certificates are needed to buy ram, At this time, more EOS certificates can be obtained by selling ram
memory is a consuming resource, which cannot be redeemed and can only be bought and sold. Take the issue of currency on EOS as an example. At present, the issue of currency requires 20m of memory. An EOS can buy 20KB. According to the current storage price, issuing a currency will consume 1000 EOS. This is the source of EOS memory consumption
Course Overview
this course is for friends who are interested in the development of EOS decentralized application. The course covers the core concepts of EOS DAPP development, the development and deployment of smart contracts, and how the front page interacts with EOS blockchain. Finally, a complete DAPP development based on react and EOS is completed
Chapter 1: enter the world of EOS
to understand the core concepts of EOS, such as positioning and characteristics, consensus mechanism, payment computing model, etc
Chapter 2: Hi EOS
understand the overall framework of EOS node software and the functions of node server, wallet server and command-line tools, learn how to configure and start EOS node server and wallet server, and preliminarily understand the use of command-line tools
Chapter 3: wallet, key and account
understand the three core concepts related to personal identity in EOS: wallet, key and account, and learn how to use command-line tools to create wallet, key and account
Chapter 4: development and interaction of smart contracts
understand the concept and function of smart contracts, learn how to write and compile EOS smart contracts, and learn how to deploy and interact with contracts using command-line tools
understand the persistence mechanism of state in EOS smart contract, and learn to use multi index table to save contract state
Chapter 5: issue your own tokens
learn the principle and implementation mechanism of issuing tokens on EOS, and master how to use command-line tools to issue, transfer and view the balance of tokens through practical operation
Chapter 6: use code to interact with smart contract
understand the principle of interaction between application and EOS blockchain, and learn to use JSON RPC interface and eosjs encapsulation library to access EOS blockchain
Chapter 7: DAPP development of practical notes
comprehensively use EOS knowledge, use react to complete a decentralized application of EOS notes, and learn the complete process from requirement analysis to code implementation
The above course address is as follows: EOS tutorialwhat is Ethereum
Ethereum is often compared with bitcoin, but the situation is different. Bitcoin is a kind of cryptocurrency and distributed payment network, which allows bitcoin to be transferred between users
related: what is bitcoin? How does it work
Ethereum has a bigger goal. As Ethereum says, "Ethereum is a distributed platform running smart contracts.". These smart contracts run on "Ethereum virtual machine", a distributed computing network composed of all devices running Ethernet nodes
"distributed platform" means that anyone can set up and run an Ethereum node just as anyone can run a bitcoin node. Anyone who wants to run "smart contracts" on nodes must pay the operators of these nodes in ether, which is a cryptocurrency related to Ethereum. Therefore, the person running the Ethernet node provides computing power and gets paid in the Ethernet, which is similar to the way that the person running the bitcoin node provides hash power and pays in bitcoin
in other words, although bitcoin is only a blockchain and payment network, Ethereum is a distributed computing network, and its blockchain can be used for many other things. Details are provided in the Ethereum white paper
what is ether
Ethernet is a digital token (or cryptocurrency) related to Ethereum blockchain. In other words, Ethereum is the token and Ethereum is the platform. But now people often use these terms alternately. For example, coinbase allows you to buy Ethereum, which stands for Ethereum
this is technically "altcoin", which actually means a non bitcoin cryptocurrency. Like bitcoin, ether is supported by distributed blockchain - in this case, Ethereum blockchain
developers who want to create applications or Ethereum smart contracts on Ethereum blockchain need Ethernet token to pay for nodes to host it, while users of Ethereum based applications may need Ethernet to pay for services in these applications. People can also sell services outside the Ethereum network and accept Ethernet payments, or they can sell Ethernet tokens in cash - just like bitcoin
Ethereum specifies the JSON RPC API application development interface that each node needs to implement. This interface is transport independent. Applications can use this interface protocol to operate Ethereum nodes through HTTP, websocket or IPC and other communication mechanisms:

these dapps generally have many problems, such as less daily active users, weak foundation and so on. But in the instry, it is generally expected. Compared with the development process of app, instry insiders said that DAPP still needs to overcome several difficulties in the future, such as stable and efficient public chain, developer ecology and user threshold. DAPP is now regarded as an important way to promote blockchain to ordinary people. It is not realistic to replace app with the current development speed of DAPP
however, if DAPP gives full play to its advantages in some areas, it will still pose a certain threat to app, which also depends on the development of blockchain. Dappdiscovery is also based on the present, starting a series of DAPP reports, DAPP market analysis, and the most fun DAPP game evaluation, trying to bring interesting and informative content sharing to all users.
