Starport v0.13: Launch Stargate chains in minutes

Denis Fadeev
Tendermint Blog
Published in
3 min readDec 21, 2020

We’re thrilled to announce the release of Starport v0.13. With this release, we’re bringing exciting new features to Starport that will allow developers to launch Stargate chains in a decentralized way in minutes.

We’ve also significantly improved support for Stargate. Since late September, Starport has supported two versions of the Cosmos SDK: “Launchpad” and “Stargate.” In October, we released an IBC update for “Stargate,” which featured interchain token transfers. With Starport v0.13, we’ve switched to using Stargate by default for new chains, deprecating support for “Launchpad” and giving our full attention to “Stargate.”

Launching a chain

Launching a Cosmos SDK chain in a decentralized way has always been a challenge. Manually setting up a node, creating PRs on Github with gentxs, finalizing a genesis file, sending it back to validators, specifying peers, and finally launching a node, hoping that no one made a mistake. We saw an opportunity to improve this process and make it as simple as possible.

Launching a blockchain using Starport

A launch starts from a coordinator (someone who wants to launch a chain) running the following command:

starport network chain create [chainID] [sourceURL]

Chain ID is a name that uniquely identifies the chain. To check if a name is available, run starport network chain list (there is a --search flag). Source URL points to a repository with a Stargate chain. Validators propose their candidacy by running:

starport network chain join [chainID]

This sets up a validator node and sends proposals to the coordinator. A coordinator can view a table of all proposals:

starport network proposal list [chainID]

And approve the right ones (numbers match proposal IDs from the table):

starport network proposal accept [chainID] 2,3,4,5

Once proposals are accepted, validators can start their nodes:

starport network chain start [chainID]

As soon as enough validators go online, the chain will launch and start generating blocks.

Watch “A Million Blockchains” presentation with a demo of launching a chain live with 13 validators!

Disclaimer: functionality for launching chains is under active development. Information about blockchain launches persists between updates to the source code (roughly once a week).

Bringing CRUD to Stargate

Starport has always supported scaffolding data types that allow developers to start building custom modules quickly. With this update, we’ve brought create, read, update, and delete (CRUD) operations to Stargate.

Starport automatically generates proto files necessary for Stargate for each scaffolded module and datatype.

By default, Starport `app` now scaffolds a Stargate blockchain and the Launchpad version is available with the --sdk-version launchpad flag.

More config options

With the new init top-level property in config.yml it has become easier to configure parameters in app.toml and config.toml inside a blockchain’s data directory. By default, Starport’s serve command deletes the data directory on file change, and with init it’s easy to set specific values.

For example, changing a moniker of a node or setting a halt height for testing purposes.

Starport & HackAtom V

HackAtom V, the premiere Cosmos hackathon of the year, ended in early November. We’ve been elated to watch hackers make use of Starport during this event. We want to thank the participants of HackAtom V for testing out this new tool — which was only released in July! As maintainers of this project, we’ve received a lot of actionable feedback, and we’ve been working on making the developer experience even better.

--

--