Count down to CosmWasm lift off…

Ethan Frey
Aug 3, 2020 · 4 min read

300 days of development, 2 public testnets, and 1.0 release of CosmWasm

Photo by Terence Burke on Unsplash

At the end of July, we cut the 0.10 release of wasmd, which built on the nearly complete 0.9 release and added support for permissioned deployments of CosmWasm, as well as fixing some attack vectors where contracts could use too much gas. This means we are feature complete for the 1.0 release, focusing only polishing the code and any needed bugfixes. Welcome news for the projects looking to launch with the CosmWasm module later this year.

There is a technical-oriented overview of the governance proposals for those who wish to dive into the details, but the short is if you configure your chain as a permissioned system, you need a on-chain governance vote to upload code (generic token contract) and another to instatiate it (create one specific token). Execution is permissionless, but the on-chain governance holds the right to migrate your contract, which would replace the running code with other code (fixing bugs or bricking it). It also allows the on-chain governance to delegate powers like instantiate and migrate to multisigs of some specialists on a contract-by-contract basis. By default this is all disabled and we provide a permissionless environment. The actual controls enabled can be set up via build flags and genesis config options.

Much thanks to Reuven from Secret Network for reporting some errors in how we handled gas on contract to contract queries, and inventing an infinite query loop attack that could burn 10–100x the gas limit before stopping. Thanks to his reporting, these issues have now been fixed in 0.10 and the bar is even higher for bug hunters out there.

Permissionless Testnet

On August 11th, we will start coralnet, a permissionless network that we invite all aspiring CosmWasm developers to upload contracts to, see what they can build, and maybe see what they can break. We would love to see all projects planning to run on CosmWasm (or considering it) to join this network.

This is designed to be a place to learn and experiment. Not just for running dApps, but also for running validators, connecting block explorers and wallets, and experimenting with new CosmWasm-specific visualization tools. Everyone is encouraged to join in and bring their own ideas.

Permissioned Testnet

On August 18th, we will launch gaiaflex, a permissioned network, much like coralnet, but configured such that the on-chain governance must approve all contracts uploaded and instantiated (but not their execution). This will look like many other gaia testnets (cosmos prefix, muons, etc) and will be open to all Cosmos Hub token holders who voted on that proposal (we give voting addresses testnet tokens in genesis). In fact the binary is very much like gaia, except updated to launchpad and with the CosmWasm module added.

For Validators

Note that for sake of simplicity will be doing “centralized starts” on both networks, that means we will start with one node run by CosmWasm, but hope that soon many other nodes from the community join in and take over the majority of the voting power of the network. It means you don’t have to be ready at the minute we start, but can jump when you can during the first day or two, until we arrive at a stable network.

For Web Developers

For Everyone


Build your robust dApps on secure, multi-chain smart contracts