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. 如何批量获取币对信息?
调用 BatchGetSymbolInfoGetAllSymbolInfo,可按 symbol、类型等条件批量获取。

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

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

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