Learn how to connect chains and how to use CosmJS for the Cosmos SDK

Introduction to IBC and CosmJS

Ever wondered how cross-chain communication is possible? Get a fast introduction to the world of the Inter-Blockchain Communication Protocol (IBC).

You will learn more about the transportation, authentication, and ordering layer of IBC and take a deeper dive into how token transfers between chains become possible. Finally, you will take a more detailed look at relaying with IBC.

OPTIONAL: the sections on IBC/TAO connections, channels, and clients, and interchain accounts are made available in case you want to dive deeper. This content will not be tested in the final exam.

You will also learn about CosmJS, the TypeScript library for the Cosmos SKD. With step-by-step examples, you will learn how to work with CosmJS when building your application-specific blockchain.

# In this chapter

In this chapter, you will:

  • Learn about IBC:

    • Discover what IBC is.
    • Get an introduction to the different layers of IBC and how connections, channels, and clients relate to each other in IBC.
    • Take a look at IBC token transfers.
    • Explore interchain accounts.
    • Dive into relaying with IBC.
    • Get an overview of helpful tools for IBC.
  • Learn about CosmJS:

    • Discover what CosmJS is.
    • Learn how to load CosmJS and Stargate into your projects.
    • Learn how to interact with a Cosmos blockchain using the existing methods of CosmJS.
    • Learn how to interface with the Keplr wallet in the browser.
    • Learn how to create new CosmJS methods so your users can query your specific module and blockchain.

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:

Live Sessions
This week you can join 2 live sessions:

  • September 29th, 3 pm UTC: Introduction to CosmJS with Noam Cohen, Developer Relations Lead for Cosmos Hub.
  • October 3rd, 3 pm UTC: Introduction to IBC with Thomas Dekeyser, Developer Relations Engineer for IBC.
    Detailed information on how to join the session will be provided via email and Discord.
    You should have received an email with a link to each session to be added to your calendar. We will post the session links on the day of the session on discord. Do not worry if you cannot make it to the session, we will record and publish them in the Academy.

# Next up

First, begin with an introduction to IBC, then you can go ahead an head to the section on fungible token transfers. After getting an overview on helpful tools for IBC, you can start your ComsJS journey with an introduction section.

# 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

IBC
IBC
Industry standard protocol for inter-blockchain communication