Skip to content

Latest commit

 

History

History
84 lines (71 loc) · 3.36 KB

README.md

File metadata and controls

84 lines (71 loc) · 3.36 KB

开始

在本教程中,你将构建一个功能性的 Cosmos SDK 应用。过程中能学习基本的概念和 SDK 的结构。该示例将展示如何基于 Cosmos SDK 快速、轻松地从头开始构建自己的区块链

在本章教程结束时,你会得到一个功能性的nameservice应用,一个字符串对字符串的映射关系表(map[string]string)。类似于NamecoinENSHandshake这些模仿传统的 DNS 系统(map[domain]zonefile)的应用。用户可以购买未被使用的域名,或是出售/交易这些域名。

本教程的所有最终源代码都在此目录(并编译)。但是,最好手动完成并尝试自己构建项目!

需要

教程

通过本章教程你将创建如下的文件来组成你的应用:

./nameservice
├── Makefile
├── Makefile.ledger
├── app.go
├── cmd
│   ├── nscli
│   │   └── main.go
│   └── nsd
│       └── main.go
├── go.mod
├── go.sum
└── x
    └── nameservice
        ├── alias.go
        ├── client
        │   ├── cli
        │   │   ├── query.go
        │   │   └── tx.go
        │   └── rest
        │       ├── query.go
        │       ├── rest.go
        │       └── tx.go
        ├── genesis.go
        ├── handler.go
        ├── keeper
        │   ├── keeper.go
        │   └── querier.go
        ├── types
        │   ├── codec.go
        │   ├── errors.go
        │   ├── key.go
        │   ├── msgs.go
        │   ├── querier.go
        │   └── types.go
        └── module.go

首先创建一个新的 git 仓库:

mkdir -p $GOPATH/src/github.com/{ .Username }/nameservice
cd $GOPATH/src/github.com/{ .Username }/nameservice
git init

然后继续!第一步描述了设计你的应用。如果要直接跳转到编码部分,你可以从第二步开始。

教程部分

  1. 设计 应用程序。
  2. ./app.go 开始实现你的应用。
  3. Start building your module by defining some basic Types.
  4. 开始用Keeper构建你的模块。
  5. 通过MsgHandler定义状态转变。
  6. 使用Querier给你的状态机创建视图。
  7. 使用sdk.Codec注册你的 types 到编码格式中。
  8. 创建你的模块的 CLI 交互
  9. 创建客户端访问你的 nameservice 的 HTTP 路径
  10. 导入你的模块并编译你的应用!
  11. 创建你的应用的nsdnscli入口
  12. 安装依赖管理工具go.mod
  13. 编译并启动示例项目。
  14. 启动 REST 路径