<100 subscribers
Share Dialog
Share Dialog
Smart contract platforms act as decentralized virtual machines run by untrusted nodes that are financially incentivized to validate transactions or run open source applications called smart contracts. While leading blockchains have deployed thousands of applications serving millions of users, the development environment and user experience has yet to be optimized.
Gnoland uses a new language called Gnolang, which is an offshoot of Golang. Golang has a clear advantage over other languages when it comes to handling concurrency. While most programming languages such as C++ or Java use multithreading to run concurrent programs, Go uses Goroutines.
Multithreading is running multiple threads in parallel in a single process. This could be your browser playing music and running a search engine at the same time, or your word processing software displaying your input while checking syntax. The problem with multithreading is that it requires context switching, where the operating system scheduler manages the switch between processes and threads. This usually leads to overhead and consumes excessive resources. Goroutine, on the other hand, eases the burden on the operating system by implementing a runtime native scheduler, Go Scheduler. Goroutines seem to consume less memory for creation and destruction (down to 0.2% of threads) and take advantage of all the cores of the hardware.
Almost all existing blockchains are single-threaded, which means that processing multiple transactions at the same time will lead to conflicts between double flowers or states.
Gnoland offers the most viable solution for this, namely integrating goroutine by supporting Golang as a smart contract language.
The most common languages used in current blockchain development environments are Solidity for EVM-compatible networks and Rust for Solana and Cosmos SDK networks; both Solidity and Rust are inspired by C++. While these are both excellent languages, Gnolang inherits Golang's faster compilation speed, cleaner syntax, and resource-efficient concurrency.
Smart contract platforms act as decentralized virtual machines run by untrusted nodes that are financially incentivized to validate transactions or run open source applications called smart contracts. While leading blockchains have deployed thousands of applications serving millions of users, the development environment and user experience has yet to be optimized.
Gnoland uses a new language called Gnolang, which is an offshoot of Golang. Golang has a clear advantage over other languages when it comes to handling concurrency. While most programming languages such as C++ or Java use multithreading to run concurrent programs, Go uses Goroutines.
Multithreading is running multiple threads in parallel in a single process. This could be your browser playing music and running a search engine at the same time, or your word processing software displaying your input while checking syntax. The problem with multithreading is that it requires context switching, where the operating system scheduler manages the switch between processes and threads. This usually leads to overhead and consumes excessive resources. Goroutine, on the other hand, eases the burden on the operating system by implementing a runtime native scheduler, Go Scheduler. Goroutines seem to consume less memory for creation and destruction (down to 0.2% of threads) and take advantage of all the cores of the hardware.
Almost all existing blockchains are single-threaded, which means that processing multiple transactions at the same time will lead to conflicts between double flowers or states.
Gnoland offers the most viable solution for this, namely integrating goroutine by supporting Golang as a smart contract language.
The most common languages used in current blockchain development environments are Solidity for EVM-compatible networks and Rust for Solana and Cosmos SDK networks; both Solidity and Rust are inspired by C++. While these are both excellent languages, Gnolang inherits Golang's faster compilation speed, cleaner syntax, and resource-efficient concurrency.
No comments yet