---
sidebar_position: 1
description: Scaffold a blockchain and create a nameservice module.
---

# 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:

```bash
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`:

```bash
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:

```bash
ignite scaffold module nameservice --dep bank
```

## Results

The Ignite CLI scaffold command has done all of the work for you!

- The `nameservice` module was created in the `x/nameservice` directory.
- The `nameservice` module was imported into the blockchain in the `app/app.go` file.

Now, define the actions your app can make with messages.
