Development of dapps Ethereum
a brief history of etheric Classics (etc)
etheric classics began with an unfortunate event
in May 2016, the decentralized autonomous organization (DAO) held a token sale with the goal of establishing a blockchain based venture capital to fund future decentralized applications (dapps) in the Ethereum ecosystem
basically, Dao is a complex smart contract that operates in a decentralized way - computer code that automatically performs tasks between multiple parties when conditions are met
despite its ambitious goals and successful token sales, Dao's code has a major vulnerability that allows attackers to steal eth from decentralized organizations
the attacker took advantage of this vulnerability in June 2016, triggering the infamous Dao hacking event, and maliciously stole eth worth about US $50 million
there is no doubt that Dao hacking has shocked Ethereum community and made eth price drop from $20 to $13
after the Dao hacking, the Ethereum community has to choose from three options
< UL >do nothing and try to bear the consequences of the attack; Or
start soft bifurcation to recover funds; Or
deploy a hard fork to recover the lost eth
both soft and hard bifurcations are significant network upgrades. However, soft fork allows users who are not upgraded to communicate with upgraded users, while hard fork is not backward compatible with previous versions
as developers realize that deploying soft forks will expose the network to distributed denial of service (DDoS) attacks, Ethereum community decides to initiate hard forks to recover the funds lost in Dao hacking attacks
although this scheme is supported by most people, a small number of people in Ethereum community oppose it. They think that "code is the law" and blockchain network should be unchangeable
the failure of both sides to reach an agreement on the solution eventually led to the fragmentation of Ethereum blockchain
those who tried to recover the lost eth chose the hard fork and opened the Ethereum (ETH) blockchain as we know it today, while another group stayed on the original Ethereum classic (etc) chain
what problems does ethereal classic solve
Ethernet classic (etc) is a blockchain platform that allows developers to deploy smart contracts and dapps
although this function is the same as Ethereum (ETH), etc blockchain has two main differences
first of all, Ethereum classic community opposes tampering with distributed ledger and supports the view that "blockchain network cannot and should not be modified"
secondly, although there is no rigid upper limit on the total supply of eth, it is allowed to create 230 million etc at most by adopting the monetary policy of constant supply
as a bonus item, ethereal classic launched Atlantis hard bifurcation last year to increase the interaction with Ethereum and improve the privacy protection of transactions through ZK snarks
the trading platforms recommended by etc
hot money, okex, AAX, etc
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.
java_ The home value is: the directory where JDK is installed, and mine is C: 92; Program Files\ Java\ jdk1.6.0_ 34
the classpath value is:;% JAVA_ HOME%\ lib\ tools.jar;% JAVA_ HOME%\ lib\ dt.jar;% JAVA_ HOME%\ bin;( Pay attention to the & quot& quot; To add)
Path: append at the beginning.;% JAVA_ HOME%\ bin;% JAVA_ HOME%\ jre\ bin;( Pay attention to the & quot& quot; To add)
after the installation, you can check whether the JDK is installed successfully. Open the CMD window and enter Java – version to view the version information of JDK.
Bitcoin is actually a string of data in the bitcoin network. Where should this data be stored? Just as our bank cards and cash can be stored in our wallets, bitcoin also has its special wallet, which is bitcoin wallet. In fact, bitcoin wallet does not contain bitcoin. Bitcoin wallet is a database composed of private key and public key. Bitcoin itself is stored in the blockchain. Users sign the transaction with their private key to prove that they have the transaction. Blockchain is a huge database ledger, so this transaction will remain in the blockchain database, and no one can tamper with it
with & lt; Multi signature & quot; With the application of multi signature technology in the field of wallet, a multi signature wallet emerges as the times require& ldquo; Multi signature & quot; What do you mean? Usually, a private key corresponds to a bitcoin address, and the assets on the address of bitcoin can be transferred with this private key. The process of encrypting with private key is signature. Multi signature means that before an address uses bitcoin, it needs multiple private keys to sign
in other words, a transaction needs two to three or more private key signatures to process bitcoin in the address. In this way, the security of our assets is greatly improved, and it is also applicable to the bitcoin transfer of institutions, without affecting its speed. Generally speaking, a light purse is enough for beginners, and it is convenient and easy to use. But we must pay attention to the security problem and keep the private key well
interface eth trunk? On the switch? It will prompt you with a numerical range
this numerical range is the number of supports. But are you sure you have so many ports to use
for example, you can use two ports for one aggregation. 24 port switching supports 12 aggregations at most< Moreover, link aggregation is the connection between switches. Generally, one uplink and one downlink are enough. Unless you're a core exchange or something special.
