Launchpad — A pre-stargate stable version of the Cosmos SDK

Gautier MARIN
Interchain Ecosystem Blog
3 min readJul 20, 2020

--

Note: The Cosmos ecosystem is constantly growing and expanding. This article’s content is now outdated. For the latest content, see https://cosmos.network/.

Introducing Launchpad, a release series of the Cosmos SDK that aims to be a stable milestone for Cosmos SDK-based blockchains to use until they upgrade to Stargate.

Stargate, the biggest upgrade to the Cosmos ecosystem, is coming later this year. Most of the Stargate upgrades will affect the Cosmos SDK in substantial ways, making the upgrade process more involved than for previous versions. To make this process easier for module developers, blockchain builders and client providers, we are releasing a version series of the SDK called Launchpad. It will allow SDK developers to enjoy a stable version of the framework until they are ready to upgrade.

What it Contains

Launchpad will be released as v0.39.x (starting with v0.39.0) of the Cosmos SDK. In short, it is a stabilized version of v0.38. The main addition is a fix to the IAVL pruning functionality, following the introduction in v0.13.0 of a bug whereby the state was flushed only periodically. The fix reverts IAVL to its pre-v0.13.0 behaviour where every state is committed and flushed to the disk. Launchpad also contains a number of small improvements and performance fixes. To see all the updates in v0.39.0, see the changelog.

Note: If you are currently using Cosmos SDK v0.37.xor v0.38.x for your project, you should plan to upgrade to either Launchpad (v0.39.x) or Stargate, given that they contain important stability fixes for issues introduced in the aforementioned version.

A migration path to Stargate

Stargate will introduce significant breaking changes to the core SDK framework (most notably the switch from amino to protobuff as the main SDK codec) as well as many of the most widely used modules. It will also introduce new features and modules such as light clients and the upgrade module that will significantly affect the way people run full-nodes and interact with them. As a result, the upgrade process to Stargate will be more challenging than usual for SDK-based projects. To help smooth this process, the Stargate team will provide well-tested and documented migration paths from the Launchpad releases to the Stargate release.

Importantly, the Launchpad series will be maintained even after the release of Stargate. Intended to be a stable release series, no new features will be introduced, but additional stability fixes and non-breaking upgrades may be incorporated if needed. This will allow projects using the Cosmos SDK to have all the time they need to upgrade to Stargate.

How to upgrade to Launchpad

The first version in the Launchpad series is released as v0.39.0 of the Cosmos SDK, a breaking upgrade from previous versions. Be sure to check the changelog in order to be aware of all the changes you might need to take into consideration when upgrading your chain to Launchpad.

As for upgrading full-nodes, you can find a guide here.

Next Steps

Going forward, Launchpad will be primarily managed by Ethan Frey (Confio), Cory Levinson (Regen Network) and Alessio Treglia (Tendermint). It is already being used in testnets by IRISnet, Ethermint, Commerc.io, IOV and more.

If you would like to suggest any addition for following releases, please open an issue on the Cosmos SDK repository with the 0.39 Launchpad tag. If you have any other questions, feel free to join the Launchpad channel on the Cosmos Community Discord.

--

--