# CosmWasm Documentation
CosmWasm is a new smart contracting platform built for the cosmos ecosystem. If you haven't yet heard of it, please check out this intro. The purpose of this documentation is to give a deep dive into the technology for developers who wish to try it out or integrate it into their product. Particularly, it is aimed at Go developers with experience with the Cosmos SDK, as well as Rust developers looking for a blockchain platform.
# How to use CosmWasm
CosmWasm is written as a module that can plug into the Cosmos SDK. This means that anyone currently building a blockchain using the Cosmos SDK can quickly and easily add CosmWasm smart contracting support to their chain, without adjusting existing logic. We also provide a sample binary of CosmWasm integrated into the
gaiad binary, called
wasmd, so you can launch a new smart-contract enabled blockchain out of the box, using documented and tested tooling and the same security model as the Cosmos Hub.
You will need a running blockchain to host your contracts and use them from an app. We will explain how to set up a local "dev net" in a later section. And plan to soon release a hosted testnet, to which all developers can simply upload their contracts, in order to easy run a demo and to share their contract with others.
Getting Started dives you into hands-on training. It gently leads you through modifying, deploying, and executing a smart contract on a local blockchain. It is the ideal place to go through and get acquainted with all the aspects of the system, without too much hard work coding.
The Architecture section explains much of the high-level design and architecture of CosmWasm. Before you start designing systems, it is good to understand the mental model and capabilities of the system. If you just want to get your hands dirty with working code, you can skip this section for now and come back later when you are ready to ponder design.
The Testnets section is a good first point if you are searching for a live network to test and hack your smart contracts on a stable and easy to use testing environment. Also, "We have enough validators joined the testnets", said no one ever 😉
The Learn section will demonstrate developing smart contracts from zero to production with step by step explanations, code snippets, scripts and more.
# Further Studies
We provide a video of a workshop explaining token contracts along with a live coding session that you can follow along with at home.
And after that, you can dig into our code and start writing your own contracts:
- A set of example contracts for you to fork and experiment with
- Rustdoc for the core contract libs
- Rustdoc for the storage helpers
There are quite a few high level articles on medium that explain the various components of our stack and where we are going.
Many thanks to the Interchain Foundation for funding most of the development work to bring CosmWasm to production.