Super ledger Ethereum
blockchain includes public blockchain, joint (instry) blockchain and private blockchain. Public chain point-to-point e-cash system: bitcoin, smart contract and decentralized application platform: Ethereum
blockchain is a new application mode of distributed data storage, point-to-point transmission, consensus mechanism, encryption algorithm and other computer technologies
blockchain is an important concept of bitcoin. In essence, it is a decentralized database. At the same time, as the underlying technology of bitcoin, it is a series of data blocks generated by using cryptographic methods. Each data block contains a batch of bitcoin network transaction information, Used to verify the validity of its information (anti-counterfeiting) and generate the next block
extended data
according to the different degree of blockchain network centralization, three kinds of blockchains under different application scenarios are differentiated:
1. The blockchain with the whole network open and without user authorization mechanism is called public chain
2. The authorized nodes are allowed to join the network, and the information can be viewed according to the authority. It is often used in the inter agency blockchain, which is called alliance chain or instry chain
3. All the nodes in the network are in the hands of one organization, which is called private chain
alliance chain and private chain are also called licensing chain, and public chain is called non licensing chain
blockchain features
1, decentralization. Blockchain technology does not rely on additional third-party management institutions or hardware facilities, and there is no central control. In addition to the self-contained blockchain itself, each node realizes information self verification, transmission and management through distributed accounting and storage. Decentralization is the most prominent and essential feature of blockchain
2. Openness. Blockchain technology is based on open source. In addition to the private information of all parties involved in the transaction is encrypted, the data of blockchain is open to everyone. Anyone can query blockchain data and develop related applications through the open interface, so the information of the whole system is highly transparent
3. Independence. Based on consensus specifications and Protocols (similar to various mathematical algorithms such as hash algorithm used by bitcoin), the whole blockchain system does not rely on other third parties, and all nodes can automatically and safely verify and exchange data in the system without any human intervention
4. Safety. As long as 51% of all data nodes cannot be controlled, the network data cannot be arbitrarily manipulated and modified, which makes the blockchain itself relatively safe and avoids subjective and artificial data changes
5. Anonymity. Unless there are legal requirements, technically speaking, the identity information of each block node does not need to be disclosed or verified, and the information can be transferred anonymously
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.
The public chain is open to all, the private chain is open to indivials who meet specific conditions, and the alliance chain is open to authorized organizations or institutions
public chain, also known as public blockchains, refers to a consensus blockchain that can be read by anyone in the world, sent by anyone, and effectively confirmed
private chain, also known as fully private blockchains, refers to the blockchain in which the write permission is completely in the hands of an organization, and all nodes participating in the blockchain will be strictly controlled
alliance chain, or alliance blockchains, refers to a blockchain that is managed by several organizations or institutions. Each organization or institution controls one or more nodes and records transaction data together. Only these organizations and institutions can read, write and send transaction data in the alliance chain
< H2 > extended data:
blockchain has three types: public chain, private chain and alliance chain
blockchain is a new application mode of distributed data storage, point-to-point transmission, consensus mechanism, encryption algorithm and other computer technologies
blockchain is an important concept of bitcoin. It is essentially a disintermediated database. At the same time, as the underlying technology of bitcoin, it is a series of data blocks generated by using cryptographic methods. Each data block contains the information of a bitcoin network transaction, Used to verify the validity of its information (anti-counterfeiting) and generate the next block
< H2 > reference: blockchain networkin the bitcoin system, the number of bitcoins issued by each block decreases with time. Each block from Genesis block will issue 50 bitcoins to the bookkeeper of the block, and then the number of bitcoins issued by each block will be reced by half every four years (210000 blocks), and so on, until the number of bitcoins is stable at the upper limit of 21 million [19]. There will be a service charge in the process of bitcoin transaction. At present, the default service charge is one in ten thousand bitcoins, which will also be recorded in the block and rewarded to bookkeepers
with the soaring price of bitcoin, more and more people join the bitcoin mining instry. How long does it take to dig a bitcoin? How amazing is the power consumption of bitcoin mining machine? First of all, let's take a look at the "blockchain". The core principle of bitcoin is "blockchain". Each block corresponds to a bill. Linking all blocks is a blockchain. Any transaction information and transfer records are recorded in the blockchain. It should be noted that the blockchain exists in the whole Internet, so no bitcoin holder is worried about the loss of bitcoin
blockchain is probably such a structure. Let's explain it briefly. Taking the bitcoin blockchain as an example, the blockchain is not only bitcoin blockchain. As early as 2009, there was only one blockchain, bitcoin blockchain. In recent years, there have been other blockchains. In a moment, I will also introce the blockchain of Ethereum, or bitstock, as well as various blockchains. After the development of blockchain, Now it has entered the public chain and private chain. Just like bitcoin, the public chain is an account in the world. Bitcoin has only one blockchain in the world, which is owned in the world. Later, it developed to some financial institutions, which want to use blockchain to do things. It can't do things on a blockchain without national boundaries. Bitcoin blockchain is global, There is no sovereignty to manage it, no central organization to manage it, and almost no one can harm it. Not only hackers can't harm bitcoin blockchain, but also the government can't harm bitcoin blockchain.
there is no central server in Ethereum. Instead, there are many equal nodes connected by P2P protocol, which store all the data in many nodes. When a user initiates a transaction, the transaction will be broadcast out through P2P protocol. The miner node verifies, packages and further broadcasts the transaction to the whole network. After confirmation in the blockchain, the operation is considered to be unchangeable
in the articles on blockchain on the Internet, the two words distributed and decentralized are mentioned, sometimes slightly different, sometimes mixed. The author thinks that if we want to distinguish accurately, the distributed system emphasizes that multiple components work together by sending messages, and the decentralized system emphasizes that there is no central node to control the operation of the whole system. Therefore, we think that Ethereum is both decentralized and distributed, or running a decentralized program on a distributed platform.
go full stack + blockchain course:
a total of 22 weeks, divided into five stages,
the first stage is four weeks, go language foundation and network concurrency, learning the introctory go language,
the second stage is four weeks, go language practical web development, crawler development, cryptography, consensus algorithm, realizing lightweight public chain, learning the website of golang, crawler, 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, And the intelligent contract DAPP development
phase V 6-week project actual combat, 5 enterprise level projects, after learning, you can have 1 year of blockchain project experience
offline training is about 4-6 months of full-time teaching, and the benefits of offline training are just like what you said. If you have any questions, you can ask the teacher to help you solve them in time. The online efficiency is relatively low, so I hope you can adopt it