IBC custom app and IBC middleware

IBC Deep Dive

In the IBC custom application sections, you will learn to scaffold an IBC-enabled blockchain via Ignite CLI and explore different aspects of IBC communication and packet handling. In the IBC middleware sections, you will learn about IBC middleware and understand how it can help you to simplify your application logic.

# In this chapter

In this chapter, you will:

  • Learn to scaffold an IBC-enabled module.
  • See IBC callbacks and packet flow in the generated code.
  • Discover how to make an existing chain IBC-enabled and how to create an IBC-enabled chain.
  • Learn to write your own custom middleware to wrap an IBC application.
  • Understand how to hook different middlewares to IBC base applications to form different IBC application stacks.

This chapter covers quite a lot of content that goes very deep into the intricacies of IBC.

Please be aware that the recommended essentials for IBC are:

The following sections are optional and NOT final exam relevant:

# Next up

To start with custom IBC applications, begin with an introduction to IBC application development to then dive into making an IBC-enabled module and adding packet and acknowledgment data.

You are then ready to dive into extending your checkers game with a leaderboard making it IBC-enabled. Once, you made an existing chain IBC-enabled, it is time to create a global leaderboard chain that can receive information (player scores) from other chains.

After, take a look at IBC middleware. You will first create a custom IBC middleware and then integrate it into a chain.

# Developer Resources

Cosmos SDK
Cosmos SDK
A framework to build application-specific blockchains

Tendermint Core
Tendermint Core
Blockchain consensus engine and application interface

Cosmos Hub
Cosmos Hub
First interconnected public blockchain on the Cosmos network

Industry standard protocol for inter-blockchain communication