Skip to content

开发文档 ​

版本号修改修改时间备注
v1.0.0王小琱2024.12.20初次修订

1. 项目简介 ​

  • 服务名称:exchange-currency-service-backend
  • 服务描述:本项目为交易所、金融等业务提供币种、币对、行情等基础服务,支持币对类型、币对参数、手续费、风控参数等多维度管理。
  • 所属模块:基础服务组件。
  • 负责人:王小琱(wang746277441@gmail.com)

2. 功能描述 ​

  • 支持币对类型的增删改查。
  • 支持币对(Symbol)的增删改查及批量查询。
  • 支持币对参数(如最小下单量、价格精度等)配置与查询。
  • 支持币对手续费、风控参数等多维度配置。
  • 支持币种资产列表查询。
  • 支持 gRPC 接口,便于与其他微服务集成。

3. 系统架构 ​

3.1 主要技术栈 ​

备注:具体依赖版本详见go.mod文件。

3.2 架构图 ​

3.3 架构概括 ​

  • 业务层(Business Layer)
    负责币对、币种、手续费等业务逻辑处理,向外部服务提供标准接口。

  • 基础服务层(Infrastructure Layer)
    负责数据库访问、配置管理、日志、监控等底层能力。

3.4 业务流程 ​

3.4.1 新增币对类型流程 ​

3.4.2 查询币对参数流程 ​

3.4.3 设置手续费流程 ​

4. 依赖组件 ​

组件版本说明
MySQL8.x关系型数据库

5. 接口设计 ​

见接口文档

使用make doc可以重新生成接口文档。

6. 数据库设计 ​

见数据库设计文档

7. 项目部署 ​

见部署文档

8. 错误码定义 ​

错误码错误信息说明
ErrNotFound资源不存在资源不存在
ErrSystem内部错误内部服务调用失败
ErrParam参数错误参数错误

9. FAQ ​

1. 如何新增币对类型?
通过 gRPC 接口 AddSymbolType,传入类型名称和描述即可。

2. 如何批量获取币对信息?
调用 BatchGetSymbolInfo 或 GetAllSymbolInfo,可按 symbol、类型等条件批量获取。

3. 如何配置币对参数?
通过 AddSymbolSettings、UpdateSymbolSettings 等接口进行配置,支持自定义参数键值。

4. 如何设置手续费?
通过 SetSymbolRules 接口,支持按币对类型、等级、币对ID等多维度设置。

🚀 构建现代化数字资产交易平台