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

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