Codec文件

在Amino中注册你的数据类型使得它们能够被编码/解码,有一些代码需要放在./x/nameservice/codec.go中。你创建的任何接口和实现接口的任何结构都需要在RegisterCodec函数中声明。在此模块中,需要注册两个Msg的实现(SetNameBuyName),但你的Whois查询返回的类型不需要:

package nameservice

import (
	"github.com/cosmos/cosmos-sdk/codec"
)

// RegisterCodec registers concrete types on wire codec
func RegisterCodec(cdc *codec.Codec) {
	cdc.RegisterConcrete(MsgSetName{}, "nameservice/SetName", nil)
	cdc.RegisterConcrete(MsgBuyName{}, "nameservice/BuyName", nil)
}
1
2
3
4
5
6
7
8
9
10
11

接下来需要为你的模块定义 CLI 交互了。