Skip to content
/ checkers Public

Long exercise demonstrating the use of Cosmos SDK and Ignite CLI

Notifications You must be signed in to change notification settings

b9lab/checkers

Repository files navigation

Checkers tutorial project

This is a companion project of the Cosmos SDK tutorials. Its object is to show various features of the Cosmos SDK and of Ignite, along with the progression of the code as elements and features are added.

The progression of the code is demonstrated via the help of branches and diffs.

Build steps taken

All the build steps were run inside the Docker container.

$ ignite scaffold chain github.com/b9lab/checkers

Progressive feature branches

The project is created with a clean list of commits in order to demonstrate the natural progression of the project. In this sense, there is no late commit that fixes an error introduced earlier. If there is a fix for an error introduced earlier, the fix should be squashed with the earlier commit that introduced the error. This may require some conflict resolution.

Having a clean list of commits makes it possible to do meaningful compares.

To make it easier to link to the content at the different stages of the project's progression, a number of branches have been created at commits that have Add branch the-branch-name as message. Be careful with the commit message as it depends on it matching the "Add branch [0-9a-zA-Z\-]*" regular expression.

The script push-branches.sh is used to extract these commits and force push them to the appropriate branch in the repository. After having made changes, you should run this script, and also manually force push to main.

Versions used here are:

  • Go: 1.18.3
  • Ignite (formerly Starport): 0.22.1
  • Cosmos SDK: v0.45.4

Branches:

Version 1 progressive tags

Versions used in version 1 are:

  • Go: 1.16.15
  • Ignite (formerly Starport): 0.17.3
  • Cosmos SDK: v0.42.6
  • NodeJs: 16.x

Tags: