• Stars
    star
    495
  • Rank 88,974 (Top 2 %)
  • Language
    Go
  • License
    Apache License 2.0
  • Created about 6 years ago
  • Updated 3 months ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Tutorials for building modules for the Cosmos SDK
layout main order hideResources tools articles intro overview customModules
ModuleLandingPage
true
0
true
title description links image
Cosmos SDK
A framework for building public blockchains.
name url
Learn more
name url
Documentation
/cosmos-sdk-icon.svg
title description links image
CometBFT
Blockchain consensus engine using the Tendermint algorithm.
name url
Learn more
name url
Documentation
/tendermint-icon.svg
title description links image
Ignite CLI
All-in-one platform to build, launch, and maintain apps on a sovereign and secured blockchain.
name url
Learn more
name url
Documentation
/ignitecli-icon.svg
title description links image
IBC
Industry standard protocol for inter-blockchain communication.
name url
Learn more
name url
Documentation
/ibc-icon.svg
title description links image
CosmWasm
Smart contracting platform built for the Interchain Ecosystem.
name url
Learn more
name url
Documentation
/cosmwasm-icon.svg
title description links image
Cosmos Hub
Software powering Cosmos Hub, the heart of the Interchain network, and home of the ATOM token.
name url
Documentation
/generic-star-icon.svg
title date time url image
Move From Web2 to Web3 in 7 Weeks With the Interchain Developer Academy
Thursday, August 30
4
/article-banner-02.png
title date time url image
The Mind, Body, and Soul of Cosmos.
Friday, May 27
6
/article-banner-01.png
title date time url image
ELI5: What is IBC?
Tuesday, Nov 15
7
/article-banner-04.jpg
overline title image description action secondtext
Begin Your Interchain Journey
Developer Portal
/graphics-sdk-course.png
The Interchain is a network of interoperable blockchains built on BFT consensus.<br/><br/> The ever-expanding ecosystem provides an SDK, tokens, wallets, applications, and services. Discover the Cosmos SDK to develop application-specific blockchains.<br/><br/> Ready to begin your journey?
label url
Start
/academy/1-what-is-cosmos/index.html
This is a beta version of the Developer Portal that will help you take your first steps with the Cosmos SDK. <br>We would be grateful for your feedback. At the end of each are three icons to rate the page and a small box where you can give us feedback about things to improve. Enjoy your journey through the portal and good luck with the HackAtom!
overline title items
Frequently Asked Questions
FAQ
title description
Is this portal for me?
This portal offers an overview of the Interchain Stack (the Cosmos SDK, Ignite, CosmJS, etc.), as well as examples and exercises to help developers get a quick start.
title description
How should I go through the portal?
The portal content unfolds the Interchain universe, beginning with a big-picture perspective and getting into how to create your application-specific blockchain with the Cosmos SDK. The introductory chapters give you a solid overview of the Cosmos SDK, its concepts, and dApps built on the Interchain Stack, while the hands-on exercises put theory into practice – showcasing how to address application concerns when developing such as managing gas fees, working with Ignite CLI, running a node, and making a chain IBC-enabled. A look into all chapters is recommended, as a basic understanding helps when things get tricky. <br/> You can follow your own path or go through the content chronologically. To follow your own path, select the tags for the subjects you are interested in and all the chapters and sections relating to that subject will be displayed. <br/> Additionally, you can select a version of the portal if you want to explore the content in a specific Interchain Stack version. For more information on which stack version is used in the different versions of the portal, please <a href="/versions.html">go to the page on Platform Versions</a>. In general, we do recommend using the most current version.
title description
What do I need to know?
For the conceptual, high-level sections, you should have a solid understanding of blockchain technology and be familiar with decentralized applications. The deep dives are specially designed for experienced developers.
title description
How long will it take?
With the concept sections, you will gain a solid understanding of Cosmos and the Interchain Stack. This might be a matter of just a couple of hours. The time you spend on the other chapters and the hands-on exercise depends on you – there are endless possibilities to discover. <br/><br/> Welcome to the Interchain!
title description useNarrowCards hideFilter image imageLightMode sections
All there is to discover
The portal has three different sections, with content to take you through the fundamentals of the Interchain, dive deeper in the tutorials, and apply your conceptual knowledge in the hands-on exercise chapters.
true
true
/lp-images/planets-15-gradient.jpg
/lp-images/universe.svg
image title href description tags
Introduction to the Interchain
/academy/1-what-is-cosmos/
From a high-level overview of the Interchain Ecosystem to the main concepts of the Cosmos SDK and IBC, take a look at these more conceptual introductions to begin your journey.
concepts
image title href description tags
Hands-on Exercise
/hands-on-exercise/1-ignite-cli/
Work with the full Interchain Stack while developing a checkers game blockchain with Ignite CLI, CosmJS and IBC, and preparing your chain to run in production.
guided-coding
image title href description
Tutorials
/tutorials/1-tech-terms/
Dive into these tutorials to help get you started and to take a more detailed look at IBC, CosmJS, and some of the other SDK modules. The tutorials walk you through code examples to translate Interchain concepts into practice.
title description sections
Introduction to the Interchain
Discover the Interchain Ecosystem, Cosmos SDK, and IBC. Feel free to start with the first chapter, or select one or more tags to filter the available content.
image title href description links
/lp-images/cosmos_dev_portal_module-02-lp.png
What is the Interchain?
/academy/1-what-is-cosmos/
Get a fast overview of:
title path
Blockchain technology and the Interchain
/academy/1-what-is-cosmos/1-blockchain-and-cosmos.html
title path
The Interchain Ecosystem
/academy/1-what-is-cosmos/2-cosmos-ecosystem.html
title path
Getting ATOM and staking it
/academy/1-what-is-cosmos/3-atom-staking.html
image title href description links
/lp-images/cosmos_dev_portal_module-03-lp-new.png
Interchain Concepts
/academy/2-cosmos-concepts/
This chapter includes an introduction to the main concepts underlying the Interchain Stack and Cosmos SDK:
title path tags
Blockchain app architecture
/academy/2-cosmos-concepts/1-architecture.html
concepts
cometbft
cosmos-sdk
title path
Accounts
/academy/2-cosmos-concepts/2-accounts.html
title path
Transaction, messages, and modules
/academy/2-cosmos-concepts/3-transactions.html
title path
Protobuf
/academy/2-cosmos-concepts/6-protobuf.html
title path
Multistore and keepers
/academy/2-cosmos-concepts/7-multistore-keepers.html
title path
BaseApp
/academy/2-cosmos-concepts/8-base-app.html
title path
Queries, events, and context
/academy/2-cosmos-concepts/9-queries.html
title path
Testing
/academy/2-cosmos-concepts/12-testing.html
title path
Relaying with IBC
/academy/2-cosmos-concepts/13-relayer-intro.html
title path
Interchain Security
/academy/2-cosmos-concepts/14-interchain-security.html
title path
Bridges
/academy/2-cosmos-concepts/15-bridges.html
title path
Migrations
/academy/2-cosmos-concepts/16-migrations.html
image title href description links
/lp-images/planet-collection.svg
Introduction to IBC
/academy/3-ibc/
This chapter will give you an understanding of the Inter-Blockchain Communication Protocol including:
title path
What is IBC?
/academy/3-ibc/1-what-is-ibc.html
title path
IBC/TAO - connections, channels, and clients
/academy/3-ibc/2-connections.html
title path
Light client development
/academy/3-ibc/5-light-client-dev.html
title path
Solo machine client
/academy/3-ibc/6-solomachine.html
title path
IBC token transfer
/academy/3-ibc/7-token-transfer.html
title path
Interchain accounts
/academy/3-ibc/8-ica.html
title path
IBC middleware
/academy/3-ibc/9-ibc-mw-intro.html
title path
IBC tooling
/academy/3-ibc/12-ibc-tooling.html
title description sections
Tutorials
Get started and explore IBC, CosmJS, and Cosmos SDK modules. Feel free to start with the first chapter, or select one or more tags to filter the available content.
image title href description links
Good-to-know dev terms
/tutorials/1-tech-terms/
From gRPC to Protobuf - a brief overview of dev terms you encounter in the Interchain Ecosystem.
image title href description
Set up your work environment
/tutorials/2-setup/
Find out what you should install on your machine to work with the Cosmos SDK and work on the hands-on exercises.
image title href description
Run a node, API, and CLI
/tutorials/3-run-node/
Take your first steps with simapp and get your first node for a Cosmos blockchain running.
image title href description
Golang introduction
/tutorials/4-golang-intro/
Take your first steps with Go to discover the basics, including a look at Go interfaces, structures, arrays, slices, and much more.
image title href description
Docker introduction
/tutorials/5-docker-intro/
Learn enough about Docker so as to conveniently do the hands-on exercises.
image title href description
IBC developers
/tutorials/6-ibc-dev/
Want to become an IBC developer? Take a closer look at IBC denoms.
image title href description links
/lp-images/planet-pod.svg
Introduction to CosmJS
/tutorials/7-cosmjs/
Want to integrate frontend user interfaces and backend servers with your Cosmos chain? Take a closer look at:
title path
What is CosmJS?
/tutorials/7-cosmjs/1-cosmjs-intro.html
title path
Your first CosmJS actions
/tutorials/7-cosmjs/2-first-steps.html
title path
Compose complex transactions
/tutorials/7-cosmjs/3-multi-msg.html
title path
Learn to integrate Keplr
/tutorials/7-cosmjs/4-with-keplr.html
title path
Create custom CosmJS interfaces
/tutorials/7-cosmjs/5-create-custom.html
image title href description links
/lp-images/planets-large.svg
Understand SDK modules
/tutorials/8-understand-sdk-modules/
Discover several tutorials on specific SDK modules:
title path
The authz module
/tutorials/8-understand-sdk-modules/1-authz.html
title path
The feegrant module
/tutorials/8-understand-sdk-modules/2-feegrant.html
title path
The group module
/tutorials/8-understand-sdk-modules/3-group.html
title path
The gov module
/tutorials/8-understand-sdk-modules/4-gov.html
image title href description links
/universe.svg
The Path to Production
/tutorials/9-path-to-prod
Prepare your blockchain to run in production:
title path
Run in production
/tutorials/9-path-to-prod/1-overview.html
title path
Prepare the software to run
/tutorials/9-path-to-prod/2-software.html
title path
Prepare a validator and keys
/tutorials/9-path-to-prod/3-keys.html
title path
Prepare where the node starts
/tutorials/9-path-to-prod/4-genesis.html
title path
Prepare and connect to other nodes
/tutorials/9-path-to-prod/5-network.html
title path
Configure, run, and set up a service
/tutorials/9-path-to-prod/6-run.html
title path
Prepare and do migrations
/tutorials/9-path-to-prod/7-migration.html
title description sections
Hands-on Exercise
From zero to hero - work with the full Interchain Stack while developing a checkers game blockchain. Feel free to start with the first chapter, or select one or more tags to filter the available content.
image title href description links
/lp-images/cosmos_dev_portal_module-05-lp.png
Ignite CLI - Basics
/hands-on-exercise/1-ignite-cli/
Get started with Ignite CLI and begin developing a checkers blockchain:
title path
Introduction to Ignite CLI
/hands-on-exercise/1-ignite-cli/1-ignitecli.html
title path
First steps for your checkers blockchain
/hands-on-exercise/1-ignite-cli/2-exercise-intro.html
title path
Store object
/hands-on-exercise/1-ignite-cli/3-stored-game.html
title path
Create custom messages
/hands-on-exercise/1-ignite-cli/4-create-message.html
title path
Create and save a game
/hands-on-exercise/1-ignite-cli/5-create-handling.html
title path
Add a way to make a move
/hands-on-exercise/1-ignite-cli/6-play-game.html
title path
Emit game information
/hands-on-exercise/1-ignite-cli/7-events.html
title path
Record the winners
/hands-on-exercise/1-ignite-cli/8-game-winner.html
image title href description links
/lp-images/moving-objects.svg
Ignite CLI - Advanced
/hands-on-exercise/2-ignite-cli-adv/
Continue developing your checkers blockchain with Ignite by:
title path
Keep an up-to-date game deadline
/hands-on-exercise/2-ignite-cli-adv/1-game-deadline.html
title path
Keep track of moves being played
/hands-on-exercise/2-ignite-cli-adv/2-move-count.html
title path
Put your games in order
/hands-on-exercise/2-ignite-cli-adv/3-game-fifo.html
title path
Enforce auto-expiring of games
/hands-on-exercise/2-ignite-cli-adv/4-game-forfeit.html
title path
Let players set a wager
/hands-on-exercise/2-ignite-cli-adv/5-game-wager.html
title path
Handle wager payments
/hands-on-exercise/2-ignite-cli-adv/6-payment-winning.html
title path
Integration tests
/hands-on-exercise/2-ignite-cli-adv/7-integration-tests.html
title path
Incentivize players
/hands-on-exercise/2-ignite-cli-adv/8-gas-meter.html
title path
Help find a correct move
/hands-on-exercise/2-ignite-cli-adv/9-can-play.html
title path
Play with cross-chain tokens
hands-on-exercise/2-ignite-cli-adv/10-wager-denom.html
image title href description links
/lp-images/green-planet.svg
CosmJS - Advanced
/hands-on-exercise/3-cosmjs-adv/
Apply your knowledge of CosmJS to the checkers blockchain exercise. You will:
title path
Create custom objects
/hands-on-exercise/3-cosmjs-adv/1-cosmjs-objects.html
title path
Create custom messages
/hands-on-exercise/3-cosmjs-adv/2-cosmjs-messages.html
title path
Get an external GUI
/hands-on-exercise/3-cosmjs-adv/3-external-gui.html
title path
Integrate CosmJS and Keplr
/hands-on-exercise/3-cosmjs-adv/4-cosmjs-gui.html
title path
Use CosmJS for game indexing
/hands-on-exercise/3-cosmjs-adv/5-server-side.html
image title href description links
/lp-images/universe.svg
From Code to MVP to Production
/hands-on-exercise/4-run-in-prod/
Show your checkers blockchain to investors and progressively the world:
title path
Simulate a production setup with Docker Compose
/hands-on-exercise/4-run-in-prod/1-run-prod-docker.html
title path
Tally player info after production
/hands-on-exercise/4-run-in-prod/2-migration-info.html
title path
Add a leaderboard as a module
/hands-on-exercise/4-run-in-prod/3-add-leaderboard.html
title path
Migrate the leaderboard module after production
/hands-on-exercise/4-run-in-prod/4-migration-leaderboard.html
title path
Simulate a migration in production with Docker Compose
/hands-on-exercise/4-run-in-prod/5-migration-prod.html
image title href description links
/lp-images/cosmos_dev_portal_module-04-lp.png
IBC - Advanced
/hands-on-exercise/5-ibc-adv/
Test your IBC knowledge by developing your checkers blockchain further:
title path
Go relayer
/hands-on-exercise/5-ibc-adv/1-go-relayer.html
title path
Hermes relayer
/hands-on-exercise/5-ibc-adv/2-hermes-relayer.html
title path
IBC app development introduction
/hands-on-exercise/5-ibc-adv/3-ibc-app-intro.html
title path
Make a module IBC-enabled
/hands-on-exercise/5-ibc-adv/4-ibc-app-steps.html
title path
Add packet and acknowledgement data
/hands-on-exercise/5-ibc-adv/5-ibc-app-packets.html
title path
Extend the checkers game with a leaderboard
/hands-on-exercise/5-ibc-adv/6-ibc-app-checkers.html
title path
Create a leaderboard chain
/hands-on-exercise/5-ibc-adv/7-ibc-app-leaderboard.html

This repo contains the code and content for the Developer Portal and the Interchain Developer Academy.

Note: The layout metadata at the top of the README.md file controls how the tutorial page is published. Write permissions are limited to preserve the structure and contents.

These tutorials guide you through actionable steps and walk-throughs to teach you how to use the Interchain Stack. The Interchain Stack is the world’s most popular framework for building application-specific blockchains, it consists of several products:

  • Cosmos SDK, a modular framework to build blockchain applications
  • IBC, the Inter-Blockchain Communication protocol that allows blockchains to communicate
  • Tendermint, the algorithm that provides the consensus and networking layer for your blockchain application through CometBFT

The Developer Portal contains three types of content:

  • Concepts, informational content explaining the how the Interchain Stack functions
  • Individual Tutorials, short tutorials to get you up to speed with individual components
  • Checkers Game, a modular tutorial that covers the full stack and teaches you every element from set-up to launching in production with a front-end application attached.

Going through the entire content will teach you about:

  • Blockchain technology and cryptography
  • Developing with the Cosmos SDK & Ignite CLI
  • The CometBFT consensus algorithm
  • The Inter-Blockchain Communication Protocol
  • Building front- and backends with CosmJS
  • Integrating wallets such as Keplr
  • Relaying in the Interchain network

The code and docs for each tutorial are based on a specific version of the software. Be sure to follow the tutorial instructions to download and use the right version.

Use the tutorials landing page as your entry point to articles on Interchain blog, videos on Interchain YouTube, and ways to get help and support.

This repo manages and publishes the developer platform. If you would like to contribute, please take a look at our CONTRIBUTION GUIDELINES and /sdk-tutorials/TECHNICAL-SETUP documents.

More Repositories

1

cosmos-sdk

⛓️ A Framework for Building High Value Public Blockchains ✨
Go
6,216
star
2

cosmos

Internet of Blockchains βš›
TeX
1,266
star
3

ibc

Interchain Standards (ICS) for the Cosmos network & interchain ecosystem.
TeX
914
star
4

ethermint-archive

Ethereum on Tendermint using Cosmos-SDK!
Go
662
star
5

cosmjs

The Swiss Army knife to power JavaScript based client solutions ranging from Web apps/explorers over browser extensions to server-side clients like faucets/scrapers.
TypeScript
641
star
6

ibc-go

Inter-Blockchain Communication Protocol (IBC) implementation in Golang.
Go
541
star
7

awesome-cosmos

Collection of Cosmos related resources
516
star
8

chain-registry

Python
510
star
9

gravity-bridge

A CosmosSDK application for moving assets on and off of EVM based, POW chains
TypeScript
493
star
10

gaia

Cosmos Hub
Go
470
star
11

iavl

Merkleized IAVL+ Tree implementation in Go
Go
417
star
12

ethermint

Ethermint is a scalable and interoperable Ethereum, built on Proof-of-Stake with fast-finality using the Cosmos SDK.
Go
410
star
13

relayer

An IBC relayer for ibc-go
Go
389
star
14

cosmos-rust

The home of all shared Rust resources for the Cosmos ecosystem.
Rust
302
star
15

ibc-rs

Rust implementation of the Inter-Blockchain Communication (IBC) protocol.
Rust
200
star
16

testnets

Cosmos Testnets
Shell
157
star
17

interchain-security

Replicated security (aka interchain security V1) is an open sourced IBC application which allows cosmos blockchains to lease their proof-of-stake security to one another.
Go
153
star
18

mainnet

It's happening!
Go
127
star
19

ics23

Building generic merkle proof format for IBC
Rust
116
star
20

gex

In-terminal explorer for Cosmos SDK blockchains.
Go
97
star
21

ibc-apps

IBC applications and middleware for Cosmos SDK chains.
Go
82
star
22

cosmos-multisig-ui

Create multisigs and multisig transactions on Cosmos chains
TypeScript
81
star
23

cosmos-academy

Content for Cosmos Academy
Go
68
star
24

stargate-launch

58
star
25

gogoproto

Protocol Buffers for Go with Gadgets for Cosmos
Go
57
star
26

relayer-archive

An example of a server side IBC relayer to be used for Game of Zones and beyond
Go
56
star
27

scaffold

Scaffolding for Cosmos-SDK based application
Go
55
star
28

game-of-stakes

Python
52
star
29

ledger-cosmos

C
52
star
30

ibc-proto-rs

Rust Protobuf definitions and gRPC clients for interacting with Cosmos SDK, IBC and Interchain Security
Rust
47
star
31

modules

Go
44
star
32

ledger-cosmos-obsolete

Ledger Nano S support for Tendermint/Cosmos
C++
42
star
33

governance

Resources for Cosmos governance
Shell
40
star
34

snap

Packages That Add Cosmos Support Into Metamask. The Cosmos is Expanding!
TypeScript
38
star
35

cosmos-proto

Go
36
star
36

b9-checkers-academy-draft

TypeScript
32
star
37

amino-js

go-amino + GopherJS + TypeScript
Go
31
star
38

faucet

Token faucet web app for the Cosmos Hub and Gaia testnets.
Vue
25
star
39

atlas

An open source Cosmos SDK module registry.
Vue
25
star
40

cips

The Cosmos Improvements Proposals
JavaScript
25
star
41

cosmos-db

Go
22
star
42

research

21
star
43

developer-portal

JavaScript
21
star
44

cosmos-sdk-js

(NOTICE: Very out of date) JavaScript client for the Cosmos SDK API
JavaScript
20
star
45

gosec

Go
19
star
46

sp1-ics07-tendermint

This is a zero knowledge IBC tendermint light client written using SP1 and ibc-rs (WIP)
Rust
18
star
47

stargate

Stargate Roadmap Website
Vue
17
star
48

burner-chains

Low-security temporary experimental application-specific blockchains
17
star
49

vuepress-theme-cosmos

This repository is deprecated and is not maintained. Please, use another system for documentation.
Vue
16
star
50

v1.cosmos.network

DEPRECATED - The website for Cosmos - Internet of Blockchains
HTML
15
star
51

qa-integration

Python
15
star
52

ethermint_abci

DEPRECATED - moved to https://github.com/cosmos/ethermint
Go
15
star
53

interchain-attestation

Go
13
star
54

vega-test

Shell
12
star
55

fundraiser-cli

CLI tool for participating in Cosmos Fundraiser
Go
12
star
56

registry

11
star
57

community

11
star
58

cosmos-registrar

A tool for pulling data from cosmos networks and pushing it to git repos
Go
10
star
59

solidity-ibc-eureka

This is a work-in-progress solidity implementation of IBC Eureka.
Solidity
9
star
60

fundraiser-lib

JS module for participating in Cosmos Fundraiser
JavaScript
9
star
61

composer

TypeScript
9
star
62

cosmos-sdk-docs

HTML
9
star
63

ledger-cosmos-go

Go
8
star
64

groups-ui

TypeScript
7
star
65

security

Cosmos Security contains guidelines (and tools in the future) for a responsible security incident disclosure
7
star
66

rollkit-ibc

Rollkit Wasm light client (WIP)
Go
6
star
67

iavl-bench

Go
6
star
68

interchain-security-gravity

Python
6
star
69

faucet-backend

Faucet Backend
Go
6
star
70

ibc-docs

5
star
71

chainparse

Go
5
star
72

advocates

Cosmos Advocates
5
star
73

images

Cosmos Docker Images
Shell
4
star
74

keystone

Go
4
star
75

rosetta

Rosetta implementation for cosmos zones
Go
4
star
76

academy-checkers-ui

TypeScript
4
star
77

.github

GitHub Actions, Workflows, and templates used across the Cosmos org.
4
star
78

vanity

HTML
4
star
79

fundraiser

Code for the fundraiser subdomain
Vue
3
star
80

did-cosmos

3
star
81

tools

Tools used in our various repos
Go
3
star
82

gravity-dex-site

Gravity DEX: The Cosmos Interchain Exchange
Vue
3
star
83

hackatom2021

HackAtom VI
Vue
3
star
84

jobs

PHP
3
star
85

cosmos-sdk-ics-fork

2
star
86

nightly-stack

2
star
87

gravity-bridge-site

Vue
1
star
88

temp-archive

1
star
89

crypto

Go
1
star
90

conversations-site

CSS
1
star
91

hackatom2020

HackAtom V
Vue
1
star
92

wallet-registry

1
star
93

gogogateway

Go
1
star