新注册的用户请输入邮箱并保存,随后登录邮箱激活账号。后续可直接使用邮箱登录!

chore: update key-service go mod --story=0
krmnliu authored
9ac81f03

chain-service

0、安装依赖

安装 protobuf golang 扩展,用于生成 go 文件:

go install github.com/grpc-ecosystem/grpc-gateway/v2/protoc-gen-grpc-gateway \

github.com/grpc-ecosystem/grpc-gateway/v2/protoc-gen-openapiv2 \

google.golang.org/protobuf/cmd/protoc-gen-go \

google.golang.org/grpc/cmd/protoc-gen-go-grpc \

1.创建项目目录和 proto 文件

见示例:./proto/chain.proto:

2.生成服务端基础代码

make gen-code

*注意:goctl rpc 工具一次只能读取一个 proto 文件,不要用 .proto(如果有多个 proto 文件,go-zero 的 cli flag 会识别成多个文件参数,报错了)。

例如 chain.proto 文件中 import 了 base.proto,go-zero 与原生 protoc 生成 grpc 方式对比:

  • go-zero:
goctl rpc protoc --go_out=./internal/types --go-grpc_out=./internal/types --zrpc_out=. ./proto/base.proto

goctl rpc protoc --go_out=./internal/types --go-grpc_out=./internal/types --zrpc_out=. ./proto/chain.proto
  • 原生 protoc:
protoc --go_out=./internal/types --go-grpc_out=./internal/types ./proto/*.proto

一些参数含义如下:

go_out:原生 protoc 的参数,表示生成的 pb go 文件所在路径

go-grpc_out:原生 protoc 的参数,表示生成的 grpc service 文件所在路径

zrpc_out:go-zero 的参数,表示 internal、etc 等基础代码文件的路径,一般默认是 .

3.填充业务逻辑(todo 部分)

4.生成 tls 证书

make gen-cert

5.启动 key-service 服务

  • go-zero rpc 基础代码生成时,默认会生成 etcd 配置,如果不需要 etcd 组件,将如下 Etcd 项删除
Name: key.rpc
ListenOn: 0.0.0.0:8080

# -------删除------------
Etcd:
  Hosts:
  - 127.0.0.1:2379
  Key: key.rpc
# -------删除------------
  • 启动服务
make start-service

6、编译打包 docker 镜像

make build-docker