How many language versions does Ethereum have
I am in oyuan.com!!!
what is Ethereum:
Ethereum is an innovation based on the application of technologies and concepts in bitcoin to computers. Ethereum itself imitates a lot of bitcoin technology to maintain the computer platform. Blockchain technology is one of them
Ethereum platform can safely run any program users want
advantages of Ethereum over other competitive currencies before Ethereum appeared, some digital currencies imitated bitcoin. However, these projects have their own shortcomings, they can only support one or several specific applications at the same time< However, the reason why Ethereum can surpass the limitations of these projects in the past is because of the core idea of Ethereum
what Ethereum wants to implement is a blockchain protocol with built-in programming language. Since it supports programming language, in theory, any blockchain application can be defined with this language, and then run on Ethereum's blockchain protocol as an application
The design of Ethereum is very flexible and adaptable
Ethereum target sets the advantages of blockchain technology, in order to add the advantages of blockchain, such as decentralization, openness and security, to almost all computing fields
blockchain applications of Ethereum
Ethereum has many blockchain applications, such as digital applications of gold and stocks, financial derivatives applications, DNS and digital authentication, etc
Ethereum has achieved more than 100 blockchain applications by many start-ups
Ethereum has also been closely watched by some financial institutions, banking consortia (such as R3), as well as large companies like Samsung, Deloitte, RWE and IBM. As a result, a number of blockchain applications such as simplified and automated financial transactions, merchant loyalty index tracking, and gift cards designed to achieve decentralization of electronic transactions have emerged
the relationship between Ethereum and blockchain:
Ethereum is a programmable blockchain
Ethereum does not give users a series of preset operations (such as bitcoin transaction), but allows users to create complex operations according to their own wishes
in this way, Ethereum can be used as a platform for various types of decentralized blockchain applications, including but not limited to cryptocurrency
like other blockchains, Ethereum also has a peer-to-peer network protocol. Ethereum blockchain database is maintained and updated by many nodes connected to the network. Each network node runs the Ethereum simulator and executes the same instructions. Therefore, people sometimes call Ethereum "world computer"
Ethereum is an open source public blockchain platform with smart contract function. It provides decentralized virtual machine (Ethereum virtual machine) to process point-to-point contract through its special cryptocurrency ether (also known as "Ethereum")
The token on theblockchain is called ether, and the code is eth. It can be traded in many foreign exchange markets of cryptocurrency, and it is also the medium used to pay transaction fees and computing services on Ethereum
the concept of Ethereum was first proposed by vitalik buterin, a programmer, from 2013 to 2014, inspired by bitcoin, with the general meaning of "next generation cryptocurrency and decentralized application platform", and began to develop through ICO crowdfunding in 2014. As of February 2018, Ethernet is the second highest cryptocurrency in market value, second only to bitcoin
extended data:
Ethereum platform has no characteristics and value. Like programming languages, it's up to entrepreneurs and developers to decide what to use. However, it is clear that some application types benefit more from the functions of Ethereum than others. Ethereum is especially suitable for those applications that automatically interact directly between points or promote group coordination activities across networks
for example, coordinate the application of point-to-point market, or the automation of complex financial contracts. Bitcoin enables indivials to exchange money without the help of financial institutions, banks or governments. The impact of Ethereum may be more profound
in theory, any complex financial activities or transactions can be automatically and reliably carried out on Ethereum with coding. In addition to financial applications, any application scenario with high requirements for trust, security and persistence, such as asset registration, voting, management and Internet of things, will be affected by Ethereum platform on a large scale
-
about the variability of blockchain
-
eth, if most people agree to modify the chain, that is, variability, then they can modify the blockchain records and contracts
-
etc, blockchain records and contracts can't be modified, that is, they can't be tampered with
-
here are the advantages and disadvantages of the two methods
The advantage of -
variability is that people can make timely changes to make the right decisions. Therefore, modifying the specification is more practical than finding loopholes
-
non modifiability means that no matter how smart people are at that time, it is impossible not to make mistakes. Therefore, when problems arise in this scheme, it is best to find and solve the loopholes through the existing legal framework
-
differences in development
-
eth, whether it is intentionally arranged or since its birth, the core decisions of blockchain are made by Ethereum foundation with the participation of the community and most of them are developed by it
-
etc, the decision-making of blockchain is mainly decided by the feedback of three loose, collaborative teams with community participation
-
in any case, anyone can put forward improvement suggestions for the two kinds of blockchains. This is the benefit of open source, and it is also very common. You will find that developers of the two chains communicate with each other through GitHub and reddit. I hope to improve the frequency of communication in order to achieve the common goal
-
about compatibility
-
at present, the two kinds of blockchains are compatible with each other. Contracts or applications written by eth can be applied on etc, and vice versa
-
eth, focusing on ewasm, is committed to providing a platform for more and more developers, while the issue of contract security is secondary, such as viper
-
etc focuses on making developers create more secure contracts, such as viper, iohk research, at the cost of consuming the number of potential developers
-
it's obvious that both chains can accept each other, regardless of whether their wishes are the same or not. My view is that the number of developers is not necessarily related to the quality of the proct
-
about the transaction speed
-
eth, the average is 25 seconds, which will be shortened after upgrading
-
etc, with an average time of 14 seconds, maintained at 10-14 seconds after upgrade, according to ecip-1010 and ecip-1036 protocols
-
about the block capacity
-
eth, with the daily trading volume of eth graally reaching 5 million, the block capacity is graally saturated. This situation is similar to the recent transaction cost of bitcoin. This problem can be solved by expanding the block capacity by increasing the default fuel limit
ETC, At present, there is still a lot of room for block capacity. As more and more people accept etc, the block capacity will also increase, just like eth
-
about community
-
eth, mainly discuss on reddit
-
etc, mainly discuss on slack
-
about monetary policy
-
eth, the planned supply is growing steadily, resulting in an average inflation of 3% in eth blockchain in its life cycle
-
etc, before 2025, inflation will reach 3%, and then the total supply will reach 200 million etc, and then there will be deflation
As for the regional distribution of trading volume, China accounts for 20%, South Korea 25% and the United States 25% In etc, China accounts for 50%, South Korea 25% and the United States 10% About securities, at present, investors do not have the option to trade securities. Recently, one of eth's ETFs, trading open-end index funds, was denied by the regulators -
etc owns etc trading trust, which allows investors to own etc instead of the asset itself
etc (Ethereum Classic) is a bifurcated currency that Ethereum hard bifurcates after 1920000 blocks, and its function is very similar to Ethereum. Etc adheres to the concept of decentralization and supports the consensus mechanism of blockchain guarantee. Etc firmly believes that once the blockchain starts to run, its development direction will not be controlled by any central team, but will be determined by the consensus of the people participating in the whole network and the consensus of the computing power of the whole network
the Ethereum blockchain hard branching in July 2016 aims to transfer the Dao funds stolen by hackers to an account controlled by investors, and let the old transaction records be forgotten by history. Most Ethereum developers are involved in the reversal, as are exchanges, startups and other members of the ecosystem. A few days later, the project returned to normal. But not everyone wants to forget the old record. As a result, a small number of miners continued to use the original blockchain as a protest. They described the hard fork as a capital withdrawal for the abandoned project of the Dao. So Ethereum classic (etc) was born
2. Detailed parameters
Chinese Name: Ethereum classic English Name: Ethereum classic English abbreviation: etc
developer: Ethereum Classic team core algorithm: ethash consensus proof: POW
release date: 2016 / 7 / 20 block time: About 15-17 seconds / block
total currency: fixed at 210 million, up to 230 million, Every 5 million blocks decelerate by 20%, and the first proction rection is expected to be in December 2017
main features: independent cryptocurrency
compared with bitcoin, the biggest difference of Ethereum is that it can support a more powerful scripting language (technically speaking, Turing's complete scripting language), allowing developers to develop any application and implement any smart contract on it, which is also the most powerful point of Ethereum. As a platform, Ethereum can be compared with Apple's app store, on which any developer can develop applications and sell them to users. Each type of financial contract can be written as a smart contract in the form of program code<
the Xueshuo innovation blockchain Technology Workstation of Lianqiao ecation online is the only approved "blockchain Technology Specialty" pilot workstation of "smart learning workshop 2020 Xueshuo innovation workstation" launched by the school planning, construction and development center of the Ministry of ecation of China. Based on providing diversified growth paths for students, the professional station promotes the reform of the training mode of the combination of professional degree research, proction, learning and research, and constructs the applied and compound talent training system.
The idea of Ethereum was born in 2013. Vitalik buterin ˙ When he was a programmer in the bitcoin community, he suggested to the core developers of bitcoin to develop a language for application developers to facilitate the development of various applications. Bitcoin core developers disagree. So God V decided to develop a new platform for this purpose
V God wrote the white paper of etheric currency in 2013, in which he explained the goal of building a decentralized program. In 2014, we got development funds through crowdfunding, so we developed the Ethernet system< (better digital currency trading platform "currency exchange")
since its birth, it has carried out four hard bifurcations so far
for the first time, in order to adjust the difficulty
released a stable version of "homeland" for the second time
for the fourth time, in order to prevent DDoS and rece weight
there is only the third hard fork, because of the hacker attack, and forced to fork. This is the Dao event
On July 30, 2015, v-god and Ethereum Foundation created the first smart contract platform and designed the Dao Ethereum contracton April 30, 2016, the Dao smart contract was officially deployed, and the world's largest crowdfunding was completed, reaching an amazing $150 million As an aside, the biggest crowdfunding event in time is EOS crowdfunding, which has reached an even more amazing $5 billion!)
on June 17, 2016, the Dao was attacked by hackers, who stole about 50 million US dollars of Ethernet currency, and the price also plummeted from US $20 to US $15, causing great harm to Ethereum. In order to recover the loss of investors, the community finally decided to hard fork
therefore, on July 20, 2016, at the block height of 1920000, the hard branching was successful, and the new chain is called Ethereum eth, while the original chain is now Ethereum classic etc
go language is the second open source programming language released by Google in 2009
go language is specially optimized for the programming of multiprocessor system applications. The program compiled with go can be comparable to the speed of C or C + + code, and it is more secure and supports parallel processes. We can not only develop the web, but also develop the bottom layer. At present, we know that we can develop it with golang. The preferred languages of blockchain are go, Ethereum and super ledger, which are all based on go language, as well as btcd of go language version.
the goal of go is to improve the dependency management of existing programming languages, such as program libraries. These software elements will be repeatedly called by applications. Due to the existence of parallel programming mode, this language is also designed to solve multiprocessor tasks
Google has high hopes for go. Its design is to make the software give full play to the advantages of multi-core processor synchronous multitasking, and solve the trouble of object-oriented programming. It has modern programming language features, such as garbage collection, to help programmers deal with trivial but important memory management problems. Go is also very fast, almost as fast as C or C + + programs, and can make programs quickly
go's website is built with go, but Google has greater ambitions. The software is designed to build server software (such as Google's Gmail). Google believes that go can also be applied to other areas, including the execution of software in the browser, replacing the role of JavaScript
why should we learn go language? What are the advantages of go
1. What are the advantages of go
1: performance
2: language performance is very important
3: developer efficiency & don't be too innovative
4: concurrency & Channel
5: fast compile time
6: team building ability
7: powerful ecosystem
8: gofmt, Mandatory code format
9: grpc and protocol buffers
can be directly compiled into machine code, independent of other libraries. Glibc version has certain requirements, and deployment is completed by throwing a file
static type language has the feeling of dynamic language. Static type language can check out most hidden problems when compiling, while dynamic language has the feeling that there are many packages that can be used and the efficiency of writing is very high
the language level supports concurrency, which is the biggest feature of go. Naturally, it supports concurrency. I once said that there is a difference between natural genes and plastic surgery. Everyone is as beautiful, but do you like plastic surgery or natural gene beauty? Go is the concurrency supported by 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, if the go code you write does not contain CGO, then you can compile Linux applications in Windows system. How can you do that? Go refers to the code of plan9, which is system independent information
embedded C support. As mentioned earlier, the author is the author of C, so go can also directly include C code, making use of the existing rich C library
2. What is go suitable for
server programming? In the past, if you used C or C + + to do those things, go is very suitable, such as processing logs, data packaging, virtual machine processing, file system, etc<
distributed system, database agent, etc.
network programming is currently the most widely used, including web application, API Application, download application,
memory database, groupcache developed by Google some time ago, part of couchbase
cloud platform. At present, many foreign cloud platforms are developed by go, part of cloudfoundation, The former technical director of vmare came out to build apcera cloud platform< 3. Go's successful project
NSQ: bitly open source message queuing system has very high performance. At present, it processes billions of messages every day
docker: a virtual packaging tool based on LxC, which can realize the construction of PAAS platform
packer: used to generate image files of different platforms, such as VM, VBox, AWS, etc., written by vagrant
Skynet: distributed scheling framework
DOOZER: distributed synchronization tool, similar to zookeeper
Heka: mazila open source log processing system
CBFS: couchbase open source distributed file system
Tsuru: open source PAAS platform, SAE
groupcache:memcahe system. The
god: redis system is used for Google downloading system, but it supports distributed and extensible
gor: network traffic capture and replay tools
the import package of go doesn't support version, sometimes the project can't run e to upgrade, so I need to control the corresponding version information by myself.
once the goroutine of go is started, the switching between different goroutines is not controlled by the program, while the runtime is scheled, Strict logic is required. Otherwise, goroutine will sleep, the logic will end after a period of time, and it will suddenly appear and execute again, which will lead to logic errors
GC is a bit delayed, I developed a log system suck once, and concurrent large cases, processing large logs, GC is not so fast, memory recovery is not strong, and later improved after profile program improvement.
there are many bugs in the image processing library under PKG, so it's better to use mature procts. It's more reliable to call the interface of these mature libraries imagemagic
finally, I suggest you learn go, which is really worth learning, because it can do anything from the bottom to the front.
