baby is a blockchain built using Cosmos SDK and Tendermint and created with Ignite CLI.
Inspired by Jacob Gadikian old blockchain project aimed at teaching Cosmos. Baby blockchain is intended as a guide for people to learn Cosmos.
Baby is intended to be an open source interactive learning with CI/CD to confirm the work of leaners.
Baby learning path includes:
- deploying a local testnet Specs here
- writing claims module Specs here (building)
Purpose: Chain interaction serves as cornerstone in helping a person get familiar with Cosmos SDK
- Group 1: Starting a chain
- Group 2: Interacting with a chain through cli
- Lesson 2: Keyring
- Lesson 3: Making a transaction through CLI
- Lesson 4: Making a query through CLI
- Lesson 5: Monitoring your node (version, status)
- Group 3: Interacting with a chain through API
- Lesson 6: Making a transaction through API
- Lesson 7: Making a query through API
- Group 4: Chain configuration
- Lesson 8: Introduction to app.toml
- Lesson 9: Introduction to client.toml and "chaind config"
- Lesson 10: Configuration of chain ports
- Lesson 11: Introduction to genesis.json (genesis_time, chain_id, app_state)
- Lesson 12: Dive deeper into app_state module configuration (auth, bank, gov)
- Lesson 13: Dive deeper into app_state module configuration (mint, staking, vesting)
- Group 5: Setting up a validator
- Lesson 14: Setting up validator for new chain (add-genesis-account, tendermint, gentx, validate-genesis)
- Lesson 15: Chapter 1 practice
- Group 1: Protobuf
- Lesson 1: Write a protobuf struct in Cosmos
- Lesson 2: Generate protobuf struct
- Group 2: Write a chain module
- Lesson 3: Integrate module into app.go
- Lesson 4: Add new chain module data structure
- Lesson 5: Add new chain module logic
- Lesson 6: Add chain module CLI interaction
- Lesson 7: Add handling for chain module logic genesis state
- Lesson 8: Expose new chain module logic in module.go
- Lesson 9: Integrate new chain module logic to app.go
- Group 3: Testing
- Lesson 10: Add unit testing
- Lesson 11: Add system testing
- Group 4: Scripts
- Lesson 12: start node and local-net script
- Lesson 13: development script in Makefile
- Group 5: Capstone project
- Lesson 14: Practice building a simple text module part 1
- Lesson 15: Practice building a simple text module part 2