数据库设计文档
| 版本号 | 修改 | 修改时间 | 备注 |
|---|---|---|---|
| v1.0.0 | 王小琱 | 2024.12.20 | 初次修订 |
1. 简介
本文档描述了 exchange-elliptic-bridge-backend 项目中数据库的结构设计,包括核心表的定义、字段说明及表关系,旨在为开发、测试和运维人员提供参考。
2. 数据库概览
- 数据库名称:
exchange_elliptic_bridge - 数据库类型:MySQL
- 编码格式:utf8mb4
- 存储引擎:InnoDB
- 排序集:utf8mb4_0900_ai_ci
3. 命名规范
- 表名使用小写字母+下划线风格,例如:
user_profile - 字段名使用小写字母+下划线风格,例如:
created_at - 主键统一使用
id - 外键统一用
xxx_id格式 - 时间字段统一使用:
created_at、updated_at - 逻辑删除字段:
deleted_at(如使用软删)
4. 表结构设计
4.1 表:kya_kyt_report(报告数据表)
| 字段名 | 类型 | 长度 | 是否为NULL | 是否自增 | 是否主键 | 默认值 | 说明 |
|---|---|---|---|---|---|---|---|
| id | BIGINT | - | 否 | 是 | 是 | - | 主键 |
| report_id | VARCHAR | 255 | 否 | 否 | 否 | - | 报告ID |
| report_data | JSON | - | 否 | 否 | 否 | - | 报告数据 |
| created_at | DATETIME | - | 否 | 否 | 否 | - | 创建时间 |
| updated_at | DATETIME | - | 否 | 否 | 否 | - | 更新时间 |
4.2 表:kya_information(KYA查询记录表)
| 字段名 | 类型 | 长度 | 是否为NULL | 是否自增 | 是否主键 | 默认值 | 说明 |
|---|---|---|---|---|---|---|---|
| id | BIGINT | - | 否 | 是 | 是 | - | 主键 |
| report_id | VARCHAR | 255 | 否 | 否 | 否 | - | 报告ID |
| address | VARCHAR | 255 | 否 | 否 | 否 | - | 地址 |
| blockchain | VARCHAR | 255 | 否 | 否 | 否 | - | 区块链,见[Blockchain](#6.1 blockchain) |
| risk_score | FLOAT | - | 否 | 否 | 否 | - | 风险分数 |
| created_at | DATETIME | - | 否 | 否 | 否 | - | 创建时间 |
| updated_at | DATETIME | - | 否 | 否 | 否 | - | 更新时间 |
4.3 表:kyt_information(KYT查询记录表)
| 字段名 | 类型 | 长度 | 是否为NULL | 是否自增 | 是否主键 | 默认值 | 说明 |
|---|---|---|---|---|---|---|---|
| id | BIGINT | - | 否 | 是 | 是 | - | 主键 |
| report_id | VARCHAR | 255 | 否 | 否 | 否 | - | 报告ID |
| hash | VARCHAR | 255 | 否 | 否 | 否 | - | 交易哈希 |
| output_address | VARCHAR | 255 | 否 | 否 | 否 | - | 输出地址 |
| blockchain | VARCHAR | 255 | 否 | 否 | 否 | - | 区块链,见[Blockchain](#6.1 blockchain) |
| kyt_type | VARCHAR | 255 | 否 | 否 | 否 | - | KYT类型,见[KytType](#6.2 kyttype) |
| risk_score | FLOAT | - | 否 | 否 | 否 | - | 风险分数 |
| customer_reference | VARCHAR | 255 | 否 | 否 | 否 | - | 客户参考 |
| created_at | DATETIME | - | 否 | 否 | 否 | - | 创建时间 |
| updated_at | DATETIME | - | 否 | 否 | 否 | - | 更新时间 |
5. 表关系设计(ER 图)
6. 枚举定义
6.1 Blockchain
区块链类型枚举,表示支持识别的链种类:
| Name | Number | Description |
|---|---|---|
| HOLISTIC | 0 | 综合(默认/自动识别) |
| ALGORAND | 1 | Algorand |
| APTOS | 2 | Aptos |
| ARBITRUM | 3 | Arbitrum |
| AVALANCHE_CCHAIN | 4 | Avalanche (C-Chain) |
| BINANCE_CHAIN | 5 | Binance Chain |
| BINANCE_SMART_CHAIN | 6 | Binance Smart Chain |
| BITCOIN | 7 | 比特币 |
| CARDANO | 8 | Cardano |
| CELO | 9 | Celo |
| COSMOS | 10 | Cosmos |
| CRYPTO_DOT_COM | 11 | Crypto.com |
| DOGECOIN | 12 | Dogecoin |
| DYDX | 13 | dYdX |
| ETHEREUM | 14 | 以太坊 |
| ETHEREUM_CLASSIC | 15 | 以太坊经典 |
| FILECOIN | 16 | Filecoin |
| FANTOM | 17 | Fantom |
| FLARE | 18 | Flare |
| GNOSIS | 19 | Gnosis |
| HAQQ | 20 | HAQQ |
| HEDERA | 21 | Hedera |
| LITECOIN | 22 | 莱特币 |
| MOBILECOIN | 23 | MobileCoin |
| NEAR | 24 | Near |
| OPTIMISM | 25 | Optimism |
| POLKADOT | 26 | Polkadot |
| POLYGON | 27 | Polygon |
| RIPPLE | 28 | Ripple |
| SOLANA | 29 | Solana |
| STELLAR | 30 | Stellar |
| SUI | 31 | Sui |
| TEZOS | 32 | Tezos |
| TON | 33 | TON |
| TRON | 34 | Tron |
| ZILLIQA | 35 | Zilliqa |
| ZKSYNC | 36 | zkSync |
| BITCOINCASH | 37 | Bitcoin Cash |
| HORIZEN | 38 | Horizen |
| ZCASH | 39 | ZCash |
6.2 KytType
KYT 风控查询的场景类型:
| Name | Number | Description |
|---|---|---|
| UNKNOW_TYPE | 0 | 未知类型 |
| SOURCE_OF_FUNDS | 1 | 资金来源 |
| DESTINATION_OF_FUNDS | 2 | 资金去向 |
7. 安全与审计字段
建议每张表都增加以下字段(如适用):
created_at、updated_at:记录操作时间deleted_at:逻辑删除字段
