The Cosmos SDK has a good standard tutorial (opens new window), which builds out a sample name service application. To provide a nice transition for existing SDK developers, we will demonstrate implementing the same application using CosmWasm. This is a useful tutorial to demonstrate basic concepts and applying the skills that you learned in the introduction. We will also be producing another tutorial for deploying and using an ERC20 contract, which may be more familiar to those coming from an Ethereum background.
As in the original tutorial (opens new window), you will build a functional application running on Cosmos SDK (opens new window). In this case we will use
cosmwasm (opens new window) to deploy a rust contract rather than develop a native go module. In the process, learn the basic concepts and structures of CosmWasm. The example will showcase how quickly and easily customize a default Cosmos SDK application (opens new window) using CosmWasm smart contracts.
By the end of this tutorial you will have a functional
nameservice application, a mapping of strings to other strings (
map[string]string). This is similar to Namecoin (opens new window), ENS (opens new window), IOV (opens new window), or Handshake (opens new window), which all model the traditional DNS systems (
map[domain]zonefile). Users will be able to buy unused names, or sell/trade their name.