Skip to main content

CosmWasm developer platform tutorials

This section contains a comprehensive set of tutorials originally from the CosmWasm Developer Platform. These tutorials provide hands-on, step-by-step guidance for learning CosmWasm smart contract development.

Overview​

These tutorials follow a progressive learning path from fundamental concepts to advanced topics. Each tutorial builds upon the previous ones, making it easy to follow along and learn at your own pace.

Tutorial structure​

Introduction and concepts​

  1. Introduction - Learn what CosmWasm is and why it exists.
  2. Concepts Overview - Deep dive into CosmWasm's architecture and concepts.
  3. Integration into Cosmos - Understand how CosmWasm integrates with the Cosmos SDK.
  4. Hello World - Build your first CosmWasm smart contract.

Learning by doing - inwards​

  1. First Contract - Create your first real contract.
  2. First Execute Transaction - Execute transactions with your contract.
  3. First Contract Query - Query your contract's state.
  4. First Integration Test - Write tests for your contract.
  5. First Composed Response - Handle complex responses.
  6. Use the Ownable Library - Leverage existing libraries.
  7. Use the NFT Library - Work with larger, more complex libraries.

Further doing - outwards​

  1. First Contract Integration - Call other contracts.
  2. First Contract Query Integration - Query other contracts.
  3. First Contract Reply Integration - Handle asynchronous replies.
  4. First Cross-Module Integration - Interact with Cosmos SDK modules.
  5. Proper Funds Handling - Manage tokens and funds securely.

Deploy and maintain​

  1. First Sudo Message - Implement privileged functions.
  2. First Migration - Upgrade your contracts.

Further study​

  1. Best Practices - Learn recommended patterns and practices.

Getting started​

:::warning Version compatibility

These tutorials reference specific versions of wasmd and CosmWasm:

  • The tutorials use wasmd v0.53.2 with some code links referencing v0.52.0/v0.53.0
  • Current documentation uses wasmd v0.52.0 as an example version
  • Rust version 1.80.1 is used in the tutorials
  • Some code references point to older versions of CosmWasm/wasmd

The core concepts remain valid, but you may need to adjust:

  • Version numbers in git clone commands
  • CLI command syntax (which has remained relatively stable)
  • Some API references

For the most up-to-date installation and setup instructions, see:

:::

Start with the Introduction to understand the fundamentals, then follow the numbered sequence for the best learning experience.

Additional resources​