区块链技术是什么编程语言类型,区块链技术是什么编程语言的
请查看相关英文文档
『一』What is blockchain technology
Blockchain is a new application model of computer technology such as distributed data storage, point-to-point transmission, consensus mechanism, and encryption algorithm.
Blockchain is an important concept of Bitcoin. It is essentially a decentralized database. At the same time, as the underlying technology of Bitcoin, it is simply a series of associated cryptographic methods. Each data block contains a batch of Bitcoin network transaction information, which is used to verify the validity of the information (anti-counterfeiting) and generate the next block.
The original English version of the Bitcoin white paper does not actually appear in the word blockchain, but uses chain of blocks. In the earliest Chinese translation of the Bitcoin white paper, chain of blocks was translated into blockchain. This is the earliest time when the Chinese word "blockchain" appeared.
The Cyberspace Administration of China issued the "Blockchain Information Service Management Regulations" on January 10, 2019, which will come into effect on February 15, 2019.
In a narrow sense, blockchain is a chain data structure that combines data blocks in a sequential manner in chronological order, and is distributed cryptographically to ensure that it cannot be tampered with or forged. Account book.
Broadly speaking, blockchain technology uses block chain data structures to verify and store data, uses distributed node consensus algorithms to generate and update data, and uses cryptography to ensure the security of data transmission and access. , a new distributed infrastructure and computing method that uses smart contracts composed of automated script codes to program and operate data.
『二』 Introduction to blockchain technology, which programming languages are involved
Go language
Go language (Golang) is a new language launched by Google in 2009 A programming language that reduces code complexity without sacrificing application performance. Rob Pike, chief software engineer at Google, said: "We developed Go because the difficulty of software development over the past 10 years or so has been frustrating."
In addition to Bitcoin being developed in C, At present, the clients of most mainstream workshops are developed with Go language, which is enough to show the status of Go language in the entire blockchain industry.
C
C further expands and improves the C language and is an object-oriented programming language. C runs on a variety of platforms, such as Windows, MAC operating systems, and various versions of UNIX. C is a very widely used computer programming language. It is a general programming language that supports multiple programming patterns, such as procedural programming, data abstraction, object-oriented programming, generic programming, and design patterns.
Most blockchain companies choose to use CWriting the bottom layer of the blockchain, the most famous ones are Bitcoin, Ripple, etc., which mainly reflect strong computation.
Java
Java is different from general compiled languages or interpreted languages. It first compiles the source code into bytecode, and then relies on virtual machines on various platforms to interpret and execute the bytecode, thereby achieving the cross-platform feature of "write once, run anywhere". The development of blockchain projects has obvious dependence on Java.
Others include Python, system architecture, Ethereum, Linux, hyperledger, JavaScript, etc. will be covered.
『三』How to learn blockchain technology
Recently there has been an endless stream of news about various digital currencies. Bitcoin is the one that everyone is most familiar with. Hu Ce has been using it a long time ago. It's stir-fried. There are many people who make a lot of money from this. Of course, different countries have different recognitions of Bitcoin, but no matter what the future trend of Bitcoin is. Knowledgeable people should see more than just digital currencies such as Bitcoin, because these are temporary hot spots after all, and it is still a matter of speculation as to which currency will make it to the end.
Bitcoin is just an application product brought about by new technological innovation, and what really changes future technology is not the digital currency, but the blockchain technology behind it. Recently, whenever blockchain technology is mentioned, it will become a hot topic. However, as everyone knows, some well-known Internet companies such as Internet, Tencent, Xiaomi, and Xunlei have been unconsciously conducting research in the field of blockchain for a long time.
While ordinary netizens are still obsessed with hyping various virtual currencies, smart people have already begun research and study on blockchain technology. Of course, since it is a new technology, not many people know how to show it, and even fewer people study it in depth. But in any case, blockchain technology has deeply entered the research scope of various large companies. As more powerful companies invest in research in this area, the demand for blockchain technology talents will increase.
Things are rare and valuable, but the same is true for people. When the market demand for blockchain technology becomes greater and greater, and even when new product applications created by blockchain technology appear in the future, the demand for blockchain talents in the entire Internet community will far exceed that of iOS back then. The scene in heat. Of course, for those who understand blockchain technology, the objective salary will also become the envy of other technical professionals.
Go language is the second open source programming language released by Google in 2009.
The Go language is specially optimized for programming multi-processor system applications. Programs compiled using Go can be as fast as C or C++ code, are more secure, and support parallel processes. Not only can you develop the web, but you can also develop the underlying layer. Currently, Zhihu is developed using golang. The preferred language for blockchain is go, Ethereum, and Hyperledger are all based on go language, as well as the go language version of btcd.
The goal of GoIt is hoped to improve the management of dependencies such as program libraries in existing programming languages. These software elements will be called repeatedly by applications. This language is also designed to solve multi-processor tasks due to the existence of parallel programming models.
Google has high hopes for Go. Its design is to allow the software to take full advantage of the simultaneous multitasking of multi-core processors and to solve the troubles of object-oriented programming. It has modern programming language features, such as garbage collection, to help programmers deal with trivial but important memory management issues. Go is also very fast, almost as fast as C or C++ programs, and can quickly create programs.
Go's website was built using Go, but Google has greater ambitions. The software is specifically designed for building server software (such as Google's Gmail). Google believes that Go can also be applied to other areas, including executing software within the browser and replacing the role of JavaScript.
『四』 If I want to get started with blockchain technology, which programming languages should I learn
Go language + blockchain training course:
Why should I learn GO language, What are the advantages of GO?
1. What are the advantages of Go
Advantages of Go
1: Performance
2: Language performance is very important
3: Developer efficiency & don’t be too innovative
>4: Concurrency & Channels
5: Fast compile time
6: The ability to build a team
7: Strong ecosystem
8: GOFMT, mandatory code format
/>9: gRPC and Protocol Buffers
It can be directly compiled into machine code without relying on other libraries. The version of glibc has certain requirements. Deployment is just a matter of throwing a file up.
A statically typed language, but with the feeling of a dynamic language. A statically typed language can detect most hidden problems during compilation. The feeling of a dynamic language is that there are many packages that can be used, and it is very efficient to write. high.
『五』 If you want to get started quickly with blockchain technology, what programming languages are generally involved
Any computer language can achieve different applications in a specific field. Blockchain technology;
Which language to use depends entirely on the technical requirements of our enterprise projects in the corresponding fields, and more importantly: effective connection with existing information systems.
The "Dharma Master" that we are familiar with (although the name is not very nice, and even sounds a bit confusing at first), it also has otherReal is preparing to use the latest blockchain technology to re-architect; the contract platform using blockchain technology will become more trustworthy and make it easier for people to sign various business contracts in the Internet era.
There are also "credit reporting systems" like ours, which are also very suitable for transformation with blockchain technology. This can make it more convincing and avoid the situation where a unit or even any key technical personnel can add "credit tainted data" to it at will.
There are also P2P loans like ours, if they can be restructured with blockchain technology, they can also become more trustworthy and avoid such breaches of trust as defaults and running away with money.
『Lu』 Introduction to blockchain technology, which programming languages are involved
Theoretically, if technology is not related to programming languages, then Just like different languages can express the same meaning, blockchain can be implemented through multiple languages. If you want to learn blockchain technology, you can check out some technical information, technical manuals, etc. If you want to learn programming language, I suggest you read some programming language stuff. I hope it can help you.
『撒』 What can the go language do
1. Server programming: If you used C or C++ to do those things in the past, it is very suitable to use Go to do them, such as processing logs, Data packaging, virtual machine processing, file systems, etc.
2. Distributed systems, database agents, middleware: such as Etcd.
3. Network programming: This area is currently the most widely used, including Web applications, API applications, download applications, and Go’s built-in net/http package basically implements all the network functions we usually use. .
4. Development of cloud platforms: Currently, many foreign cloud platforms are developed using Go. The well-known Qiniu Cloud, Huawei Cloud, etc. have products developed using Go and are open source.
5. Blockchain: There is currently a saying that technical practitioners call Go language the development language of the blockchain industry. If you study blockchain technology, you will find that many blockchain systems and applications are developed using Go. For example, ehtereum is currently the most well-known public chain, and fabric is currently the most well-known. Alliance chains, both have go language versions, and go-ehtereum is also the officially recommended version of Ethereum.
Many later projects were re-implemented natively using the Go language. This process was simpler than other languages, which also contributed to the emergence of a large number of native development projects using the Go language. .
『8』 What is blockchain
[Definition]
Blockchain refers to the The way trust is maintained collectivelyA technical solution for maintaining a reliable database. This technical solution allows any number of nodes participating in the system to calculate and record all information exchange data in the system over a period of time into a data block (block) through cryptographic algorithms, and generate the fingerprint of the data block for linking ( chain) and check the next data block, all participating nodes in the system jointly determine whether the record is true.
Blockchain is a general term for technical solutions similar to NoSQL (non-relational database). It is not a specific technology and can be implemented through many programming languages and architectures. There are also many ways to implement blockchain. Common ones currently include POW (Proof of Work), POS (Proof of Stake), DPOS (Delegate Proof of Stake), etc.
The concept of blockchain was first proposed in the paper "Bitcoin: A Peer-to-Peer Electronic Cash System", written by the self-proclaimed Satoshi Nakamoto ( Satoshi Nakamoto). Therefore, Bitcoin can be regarded as the first application of blockchain in the field of financial payments.
[Popular explanation]
No matter how big the system or how small the website, there is usually a database behind it. So who will maintain this database? Under normal circumstances, whoever is responsible for operating the network or system will maintain it. If it is a WeChat database, it must be maintained by Tencent's team, and Taobao's database must be maintained by Alibaba's team. Everyone must think that this approach is natural, but this is not the case with blockchain technology.
If we imagine the database as a ledger: for example, Alipay is a typical ledger, and any change in data is accounting. We can think of database maintenance as a very simple accounting method. The same is true in the world of blockchain. Everyone in the blockchain system has the opportunity to participate in accounting. The system will select within a period of time, maybe within ten seconds, or maybe ten minutes, to select the person with the fastest and best accounting during this period. This person will do the accounting, and he will combine the changes in the database during this period with Changes in the ledger are recorded in a block. We can imagine this block as a page of paper. After confirming that the record is correct, the system will link (chain) the data fingerprint of the past ledger to this paper, and then This piece of paper is sent to everyone else in the entire system. Then the cycle starts over and the system looks for the next person who can do the accounting quickly and well, and everyone else in the system gets a copy of the entire ledger. This means that everyone in this system has exactly the same ledger. This technology is called blockchain technology, also known as distributed ledger technology.
Since everyone (computer) has exactly the same ledger, and everyone (computer) has completely equal rights, the entire system will not collapse due to a single person (computer) losing contact or going down. Since there are exactly the same ledgers, it means that all data is open and transparent, and everyone can see the digital changes in each account. Its very interesting feature is that the data in it cannot be tampered with. Because the system will automatically compare, it will consider the account books with the largest number of the same number as the real account books, and the small number of account books with different numbers as others are false account books. In this case, it makes no sense for anyone to tamper with their own ledger, because unless you can tamper with most of the nodes in the entire system. If the entire system has only five or ten nodes, it may be easy to do, but if there are tens of thousands or even hundreds of thousands of nodes, and they are distributed in any corner of the Internet, unless someone can control most of the computers in the world , otherwise it would be unlikely to tamper with such a large blockchain.
- 上一篇: sku区块链,skill区块链游戏
- 下一篇: 扣币是什么?,抠抠集团会上市吗