Scaffold the Nameservice Module
Scaffold a blockchain and create a nameservice module for the nameservice app. Remember, the goal of the nameservice app is to send tokens between participants so that end users can buy names and set a value to the names.
Create a Blockchain
Scaffold a new Cosmos SDK blockchain using the ignite scaffold chain command. The ignite scaffold chain command accepts one argument: the Go module path that is used for the project.
By default, a chain is scaffolded with a new empty Cosmos SDK module. You want to create the nameservice module without scaffolding a module, so use the --no-module flag:
ignite scaffold chain nameservice --no-module
This command created a new directory nameservice with a brand new Cosmos SDK blockchain. This blockchain doesn't have any application-specific logic yet, but it imports standard Cosmos SDK modules, such as auth, bank, mint, and others.
Change the current directory to nameservice:
cd nameservice
Inside the nameservice project directory you can execute other Ignite CLI commands to start a blockchain node, scaffold modules, messages, types, generate code, and much more.
Create the Module
Scaffold a new module called nameservice. By design, the nameservice module must send tokens between participants. The send tokens functionality is implemented in the standard bank module.
To specify bank as a dependency, use the optional --dep flag:
ignite scaffold module nameservice --dep bank
Results
The Ignite CLI scaffold command has done all of the work for you!
- The
nameservicemodule was created in thex/nameservicedirectory. - The
nameservicemodule was imported into the blockchain in theapp/app.gofile.
Now, define the actions your app can make with messages.