文章目录
概述
这篇文章主要讲述使用Cosmos
的Ignite-Cli
工具快速开发NameService
应用。NameService
的主要功能是用户可以购买域名,给域名设置可以解析的地址或则值,域名拥有者可以删除域名。
环境安装
- 我们使用 Docker 来部署环境,首先编写 DockerFile 镜像文件,命名
DockerFile-ubuntu
FROM --platform=linux ubuntu:22.04
ARG BUILDARCH
# Change your versions here
ENV GO_VERSION=1.18.3
ENV IGNITE_VERSION=0.22.1
ENV NODE_VERSION=18.x
ENV LOCAL=/usr/local
ENV GOROOT=$LOCAL/go
ENV HOME=/root
ENV GOPATH=$HOME/go
ENV PATH=$GOROOT/bin:$GOPATH/bin:$PATH
RUN mkdir -p $GOPATH/bin
ENV PACKAGES curl gcc jq
RUN apt-get update
RUN apt-get install -y $PACKAGES
# Install Go
RUN curl -L https://go.dev/dl/go${GO_VERSION}.linux-$BUILDARCH.tar.gz | tar -C $LOCAL -xzf -
# Install Ignite
RUN curl -L https://get.ignite.com/cli@v${IGNITE_VERSION}! | bash
# Install Node
RUN curl -fsSL https://deb.nodesource.com/setup_${NODE_VERSION} | bash -
RUN apt-get install -y nodejs
EXPOSE 1317 3000 4500 5000 26657
WORKDIR /nameservice
- 创建镜像
docker build -f DockerFile-ubuntu . -t ns_i
- 创建 Container
docker create --name ns -i -v $(pwd):/nameservice -w /nameservice -p 1317:1317 -p 4500:4500 -p 5000:5000 -p 26657:26657 ns_i
- 启动容器
docker start ns
- 检查环境
docker exec -it ns ignite version
显示如下内容,则表示环境安装成功。
Ignite CLI version: v0.22.1
如果环境安装有问题,可以私信我帮你看看!
创建项目
docker exec -it ns ignite scaffold chain nameservice --no-module
这个命令会创建一个nameservice
目录,已经实现了基于Cosmos SDK
的区块链功能。
然后我们把代码移动到当前的工作目录
mv nameservice/* ./
rm -rf nam