ICONLOOP released V1.0.0 of the new “Goloop” blockchain engine on Tuesday.
You can find the latest version at Goloop’s Github repository. Feel free to verify the code and technology at your own leisure.
The engine powering ICON 2.0, Goloop is “a smart contract enabled enterprise-grade blockchain software written in Go with many unique features providing a secure, immutable and scalable environment to develop decentralized applications.”
ICONLOOP — the ICON network’s primary technology partner — initially designed Goloop for use in its enterprise blockchain solutions. Work on the engine has been ongoing since 2019.
A dedicated team within the company, however, has been hard at work modifying the engine for use in open, permissionless environments.
Go is an open source programming language designed by Google. It is fast and remarkably easy to learn and use.
Go also provides better reliability over Python, the language in which ICON 1.0’s engine “Loopchain” was written.
“One of the main reasons for rewriting is that Python, while being a very convenient and easy programming language to work with, is not very reliable at execution,” says Nym, an engineer at ICONLOOP. “Performance was also not that great, an issue when it comes to decentralized systems like ICON.”
“Goloop does similar things as Loopchain,” he adds. “It just does it in a more efficient and reliable way.”
Go is growing increasingly popular, especially in the cryptocurrency space. A compiled language, it executes faster. It’s scalable and offers many built-in features like concurrency and memory management.
Learning from experience
ICONLOOP also drew on its experience with Loopchain, allowing developers to avoid some of the pitfalls that befell the previous engine.
“Old software tends to accumulate technical debt,” says Nym. “Being able to restart from scratch is a good opportunity to get rid of it and build on a better design.”
Goloop also adopts a new data structure for storing blockchain data similar to Ethereum, namely, the Merkle Patricia Trie.
Nym says, “While it requires more storage space, it makes that data faster to retrieve and process.”