Go Programming Language of QuarkChain will be Launched and Open-source with Performance Five Times Better
On November 2nd (PST Time), after 10 months of painstaking development by the QuarkChain engineer team, we are pleased to announce that the “Go” version of QuarkChain mainnet is launching and open-sourced. The “Go” version of QuarkChain has higher performance, which allows more developers to participate in mainnet. The release is a major step towards the maturation of the QuarkChain mainnet. We invite developers and miners to use our new code version and interact with us on GitHub.
- QuarkChain’s focus and solid technologies enable Go version go live and open-sourced on schedule.
- A more stable network that prevents the single point of failure due to vulnerabilities of any single version.
- Existing Python and Go versions are connected at the same time
- Encourage more open-source communities to participate and help build QuarkChain mainnet.
- Execution of the “Go” version is more efficient and its TPS can be 5 times higher than that of the Python version. Achieving millions TPS down the road is not a dream.
- In the future, we will hold another TPS competition, please follow the official channel for the announcement.
Address for Go version:https://github.com/QuarkChain/goquarkchain
In this competitive industry where every second matter, why did we choose to develop other language versions? Here are some of our thoughts.
A Bright Future Comes From Dedication in Developing Superior Technical Capabilities
QuarkChain has always held the core technology close to the chest, and adhere to the principle of self-dependent innovation. The team does not waver between fluctuations of the industry environment and always focuses on technology development. Since inception, QuarkChain launched and open-sourced testnet, released mainnet, opened transaction function, and added smart contract features. After all these, in order to encourage more developers to participate, improve the stability of the network and optimize the performance of QuarkChain’s mainnet, after 10 months developing, we are launching the Go version today as scheduled. Once again, it reflects the technical strength, engineering strength, and delivery capability of the QuarkChain team.
Layout mature system
In addition to demonstrating technical capabilities, the launch and open-source of the multilingual version ties back to the strategic layout of QuarkChain for the future development of the blockchain industry. More programming languages means that QuarkChain can be able to reach more developers, and allow developers to take advantage of different programming languages. In the meanwhile, being multilingual also help provide a more stable network and prevent the single point of failure incurred by one single version.
In the current industry, only QuarkChain and Ethereum are using multiply programing language at the very beginning. Therefore, in the future we will also be working on the implementation of the QuarkChain in more languages.
Confident and Open-minded
The boom in Bitcoin and blockchain technology is a community-based innovation that is closely related to community collaboration and open source. From the beginning, QuarkChain carries this open-source spirit and encourages community participation. Understandable, improved and reproducible code is the key to drive the industry, we strive to keep our code open-sourced for the community to inspect and participate in optimization.
The launch and open-source of the Go version does not only reflects the superior technical capabilities of QuarkChain, but also demonstrate QuarkChain’s openness and willingness to contribute to the innovation of the wider blockchain industry. We are willing to work with the whole community and the entire industry to create a better blockchain world.
Technical Values of Launching the “Go” Version
Besides benefiting the wider community for development, the project also provides strong technical advantages:
1. High security: two versions use identical interface, and can achieve perfect interoperability.
2: Dual version of code means “double insurance”: Two versions of the code can make up for each other and the network can backup for each other providing extra security.
3. The multilingual codebase is more developer-friendly and more developers can participate in optimizing projects.
4. Significant improvement in performance: in recent internal testing, relying only on Go code for execution, its processing speed is 3 to 5 times higher than that of the Python version. We expect that after optimization, QuarkChain can reach the million TPS and become a public chain system with the capability to carry existing VISA card transactions and the central bank’s digital currency DCEP.
5: Prototype for enterprise services: QuarkChian Go can be used as the basic version for enterprise and it can support alliance chain or private chain after simple modification.
In order to let everyone better understand high performance of Go version, in addition to open source, we also decided to hold the prize-bearing second QuarkChain TPS competition. We want to incentivize more people to join us and experience high performance and more flexible features of our technology. Please follow our official channel for more detailed announcements.
QuarkChain Go Q&A
Q1: Why did we develop the Go version and what is the value of this version?
A: The Go version has better performance than that of the Python version. Multiple versions can verify each other and provide security to each other. If one code has an error or a vulnerability, and developers can use the other version. It can be fixed based on the normal operation of the network, and the new version will remain synchronized after fixing, which is better for security. More languages version can attract more programmers to use and in turn bring more influence. Developing Python version is faster, but the Go version performs better. In addition, QuarkChain is the only multilingual project at the very beginning other than Ethereum.
Q2: What’s the difference between the Python version and Go Version?
A: The outer function is exactly the same, including consensus mechanism and JSON-RPC but the Go version is more efficient. The code schema of the two versions are relatively consistent, but the code structure of the two are different.
Q3: Can these two versions coexist? How did you achieve coexistence?
A: Yes, because the consensus interface and JSON-RPC interface is the same. The same consensus interface enables the Python version and the Go version to communicate and recognize each other. The same JSON-RPC interface enables external users, such as wallet users, to operate just the same.
Q4: Since interoperability is possible, is it possible that the Go version will replace the Python version?
A: The Go version is currently unstable and it will be continuously maintained and upgraded. Besides that, to ensure that the mainnet would not crash due to one single version, we are retaining the Python version. We will also continue to maintain and upgrade the Python version.
Q5: How can developers use this version？
A: Developers can download the code to run. https://github.com/QuarkChain/goquarkchain
Q6: How it affects the general user and miners?
A: Miners who use this version can package and synchronize faster, and if they can start packing blocks and synchronizing in advance, that means they will have increased their hash power. For miners, the JSON-RPC interface remains the same; one just needs to run the docker of goquarkchain for deployment.