The Cosmos SDK is written in Golang language and is fully based on certain design considerations to allow for the customization of modules, however, expanding across many programming languages is mandatory to increase developer adoption across the world and in the different crypto communities. June 2019 marked the first-ever Cosmos HackAtom Berlin and the beginnings of CosmWasm with a unique goal : Expand the tooling possibilities for developers interested in building on the Cosmos Network. CosmWasm, a project enabling WebAssembly (WASM) virtual machines (VMs) in the Cosmos SDK, was one of a number of projects to eventually receive a grant from the Interchain Foundation with regards to developer tooling.
A state-of-art technology for developers adoption
The first implementation of a WASM virtual machine running on top of a Cosmos SDK application has been designed by Ethan Frey from Confio (who is also the lead engineer at Regen Network). Cosmos team is thus glad to announce that it is now available for the entire Cosmos community. Now any rust developer can easily write smart contracts that can be uploaded to any Cosmos SDK based chain that includes the CosmWasm module. Adding WebAssembly to the Cosmos SDK allows software written in many languages to run securely on a blockchain.
WASM serves as an intermediate language that compiles the developer’s language of choice into a portable virtual machine. While the ecosystem is still nascent, the smart contract environment within CosmWasm is Turing complete. All developers now have the capability to perform any logic that could be implemented in Ethereum and execute it within the Cosmos SDK without modifying the underlying blockchain. The CosmWasm module includes a mature build and test environment and comes with an integrated development environment (IDE) thanks to Rust’s native programming features.
More information on CosmWasm can be read on the official site at https://cosmos.network/