Starport v0.0.10 is here! Simple genesis config, improved verbose output, better error handling, and a note about Stargate

Denis Fadeev
Tendermint Blog
Published in
3 min readAug 31, 2020

A month ago we launched Starport, the open-source rapid prototyping tool that lets developers quickly build blockchain apps in two commands. We also created this short three-minute Starport tutorial that walks you through the simple process of building your first Cosmos SDK blockchain app.

Since then, we’ve been busy making sure you can configure your blockchain application as easily as possible, added a starport serve option for verbose output, highlighted common build errors and improved overall stability.

Here is what to expect from this new Starport v0.0.10 release:

Much easier genesis configuration

With the new version of Starport, we’ve introduced a YAML configuration file that makes it easier to define new tokens, assign tokens to accounts, and modify the genesis file.

Configuration file

The “accounts” property contains a list of user accounts that are generated for your application and added to genesis. The “genesis” property contains an object that maps directly to your application’s genesis.json file. Overwriting a parameter for an existing module or creating a new param for your custom module is as easy as adding a new line to this genesis object. Modifying this file also triggers a reinitialization of the app, so your blockchain’s genesis file is always up-to-date with your configuration file.

For example, you can now change the denomination of the token used for staking, add new tokens to existing users, add new users, and select one of them to be the validator.

Improved verbose output

Running the starport servecommand with the --verbose flag now outputs prefixed color-coded log messages to make sure that you get all of the details about the running processes — with highlighted output!

Verbose output of the serve command

Better error handling

If Starport encounters an error when building an application, it will now stop the build process, print out the error, and wait for file changes before retrying the build. For each build, the application state gets cleared and reinitialized using your config.yml file to ensure that your code and the application state is always in sync.

Error handling

Vastly improved stability

We’ve added logic to check if you have already imported modules (like CosmWasm) to prevent accidentally importing them twice. Starport now initializes a Git repository by default when scaffolding a new blockchain application, making it easier to track changes. Starport now also checks if Go is installed correctly, and it will print out a notice if $GOPATH isn’t configured.

Coming soon: Stargate & IBC support

The next point release of Starport, v0.11.0, enables first-class support for Stargate. Stargate is the next major release of the Cosmos SDK (v0.40.0), that will enable IBC, otherwise known as the inter-blockchain communication protocol. We will be preparing clear and simple migration guides for those of you who have started building blockchain applications with Starport v0.0.9/v0.0.10. We’re extremely excited to help you connect your blockchain app to every other blockchain app in the Cosmos.

Get started with Starport v0.0.10

To try out Starport, go to https://github.com/tendermint/starport and start building your first blockchain. Starport is the developer-friendly interface to the Cosmos SDK, the world’s most widely used blockchain application framework.

Also, check out https://tutorials.cosmos.network and browse through the tutorials we have prepared for you to understand how Starport works and what you can build with it.

Have questions or want to share some feedback? We would love to hear from you! Find us in the #Starport discord channel.

--

--