Wen CosmWasm 1.0?

Simon Warta
CosmWasm
Published in
3 min readAug 9, 2021
Photo by Thomas Park on Unsplash

Before we answer the question of release dates, let’s recap what CosmWasm 1.0 actually is. The CosmWasm smart contracting stack consists of many different components that expose all kinds of APIs. The crate cosmwasm-std is used by contract developers to write contracts, cosmwasm-vm is the host environment to execute contracts and wasmvm/wasmd is the integration into Cosmos SDK based blockchains. As we progress each of those components will develop its own versioning and stability policies. E.g. there can be upgrades of wasmd that does not affect contract developers at all but are breaking the chain integration. Or a semver breaking version of cosmwasm-std is released that makes changes to the contract source necessary but compiles to fully compatible Wasm bytecode.

CosmWasm 1.0 is an umbrella term, that provides one main promise:

Contracts compiled once continue to run as on day one in any CosmWasm 1.x environment.

At the end of the day, this is what you expect from an immutable smart contract, right?

Feature complete for CosmWasm 1.0

The release series CosmWasm 0.16 / wasmd 0.18 / CosmJS 0.26 marks the feature completion for CosmWasm 1.0. It includes everything we want to see in there and is a great platform to test your ideas for CosmWasm. The gab between this release series and 1.0 will be very small, ideally not noticeable for most. But we keep the option open to include breaking changes if testing reveals places where this is necessary.

Pebblenet

The release series CosmWasm 0.16 / wasmd 0.18 / CosmJS 0.26 can be tested on the upcoming CosmWasm testnet Pebblenet.

To keep it focused, this network is for contract developers only and does not invite external validators. There are plenty of opportunities to validate CosmWasm chains in the various communities that make use of it. Many of those are listed on our website: https://cosmwasm.com/

CosmWasm 1.0 beta

In this context 1.0 beta means: done but not audited. Starting with CosmWasm 1.0 beta there will be an upgrade path to future versions of CosmWasm. This is possible as we do not expect any changes necessary that cannot be fixed in a non-breaking fashion.

When all those things?

Next steps are as follows with some anticipated timings:

  1. Tag CosmWasm 0.16.0 and wasmvm 0.16.0
  2. Tag wasmd 0.18.0 (pre-release is available)
  3. Spawn Pebblenet (~ mid August)
  4. Tag CosmJS 0.26 (pre-release is available; ~ mid August)
  5. Tag cosmwasm-plus 0.8.0 (pre-release is available; ~mid August)
  6. Test on Pebblenet; run your own testnet; test test test. Let’s test together using IBC. Test. (~ mid August to mid September)
  7. Release CosmWasm 1.0 beta (~ mid September)
  8. Time for audits (~ September/Ocotober)
  9. Tag CosmWasm 1.0 (~ November)

How can I help?

CosmWasm is a piece of Open Source software developed by Confio. It was heavily Interchain Foundation sponsored in 2020 but is not right now. In order to make CosmWasm a success, we need all stakeholders to contribute to it. We are looking for engagement in the following areas:

  • Write contracts using the latest CosmWasm 0.16
  • Help out other community members in the CosmWasm Discord server
  • Join the conversation on GitHub; contribute code or documentation to any of our repos.
  • Prepare for spawning your own CosmWasm 0.16 / wasmd 0.18 testnet
  • Let’s test contract-to-module and contract-to-contract IBC
  • Join community calls
  • Find a way to get CosmWasm audited
  • Sponsor Confio or Wasmer for their Open Source work
  • Be nice to those who work hard to make excellent software freely available to everyone

Together we can make CosmWasm great for everyone.

--

--

Simon Warta
CosmWasm

Building CosmWasm and CosmJS at Confio | Ex IOV | Co-Founder of Kullo | Board member prolina Foundation