This commit is contained in:
lzx 2025-04-14 14:54:14 +08:00
parent dde4c9c33b
commit a5a2cfb5f9
4 changed files with 185 additions and 183 deletions

View File

@ -1,8 +1,16 @@
# 版本遵循<语义化版本规范(SemVer)>如v1.0.0、v1.1.0-beta # 版本遵循<语义化版本规范(SemVer)>如v1.0.0、v1.1.0-beta
# 以大版本归档如v1、v2等小版本和补丁版本统一归档在大版本下并以CHANGELOG.md记录 ```
# 如v1.x.x版本归档在v1文件夹下 ```
# 归档目录如下: # 以大版本归档如v1、v2等小版本和补丁版本统一归档在大版本下并以CHANGELOG.md记录
```
```
# 如v1.x.x版本归档在v1文件夹下
```
```
## 归档目录如下:
``` ```
v1(大版本归档) v1(大版本归档)
├── CHANGELOG.md(版本变更记录日志) ├── CHANGELOG.md(版本变更记录日志)
@ -12,21 +20,21 @@ v1(大版本归档)
├── testReport(测试报告及评审意见) ├── testReport(测试报告及评审意见)
``` ```
# 需求文档 ### 需求文档
``` ```
需求文档使用word文档命名规则为v1.0.0_需求文档.xlsx 需求文档使用word文档命名规则为v1.0.0_需求文档.xlsx
``` ```
# 测试用例及评审意见 ### 测试用例及评审意见
``` ```
测试用例使用excel表格命名规则为v1.0.0_测试用例.xlsx 测试用例使用excel表格命名规则为v1.0.0_测试用例.xlsx
``` ```
# 测试记录 ### 测试记录
``` ```
测试记录使用excel表格命名规则为v1.0.0_测试记录.xlsx 测试记录使用excel表格命名规则为v1.0.0_测试记录.xlsx
``` ```
# 测试报告及评审意见 ### 测试报告及评审意见
``` ```
测试报告使用word文档命名规则为v1.0.0_测试报告.docx 测试报告使用word文档命名规则为v1.0.0_测试报告.docx

1
db/README.md Normal file
View File

@ -0,0 +1 @@
# m2pool全部数据库及表结构设计

167
db/app.md Normal file
View File

@ -0,0 +1,167 @@
# DB: distribution
```
Table: <coin>_blkreportprofitv2
Struct:
+--------+---------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+--------+---------------+------+-----+---------+-------+
| date | datetime | NO | | NULL | |
| height | int | NO | PRI | NULL | |
| hash | varchar(255) | NO | | NULL | |
| reward | decimal(32,8) | NO | | NULL | |
| fees | decimal(32,8) | YES | | NULL | |
| state | tinyint | NO | | NULL | |
+--------+---------------+------+-----+---------+-------+
Create Sql:
CREATE TABLE IF NOT EXISTS <coin>_blkreportprofitv2(
date DATETIME NOT NULL,
height INT NOT NULL PRIMARY KEY,
hash VARCHAR(255) NOT NULL,
reward DECIMAL(32,8) NOT NULL,
fees DECIMAL(32,8),
state TINYINT NOT NULL
);
```
```
Table: wallet_in
Struct:
+-----------------+----------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+-----------------+----------------+------+-----+---------+----------------+
| id | int | NO | PRI | NULL | auto_increment |
| coin | varchar(20) | NO | MUL | NULL | |
| user | varchar(32) | NO | | NULL | |
| create_date | datetime | YES | | NULL | |
| should_out_date | datetime | YES | | NULL | |
| max_height | int | YES | | NULL | |
| amount | decimal(40,10) | YES | | NULL | |
| state | tinyint | YES | | NULL | |
| address | varchar(128) | YES | | NULL | |
+-----------------+----------------+------+-----+---------+----------------+
Create Sql:
CREATE TABLE IF NOT EXISTS wallet_in(
id INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
coin VARCHAR(20) NOT NULL,
user VARCHAR(32) NOT NULL,
create_date DATETIME,
should_out_date DATETIME,
max_height INT,
amount DECIMAL(40,10),
state TINYINT,
address VARCHAR(128)
);
```
```
Table: wallet_outv2
Struct:
+------------+----------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+------------+----------------+------+-----+---------+----------------+
| id | int | NO | PRI | NULL | auto_increment |
| coin | varchar(20) | NO | MUL | NULL | |
| user | varchar(32) | NO | | NULL | |
| address | varchar(255) | YES | | NULL | |
| date | datetime | YES | | NULL | |
| max_height | int | YES | | NULL | |
| tx_id | varchar(255) | YES | | NULL | |
| amount | decimal(40,10) | YES | | NULL | |
| tx_fee | decimal(40,10) | YES | | NULL | |
+------------+----------------+------+-----+---------+----------------+
Create Sql:
CREATE TABLE IF NOT EXISTS wallet_outv2(
id INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
coin VARCHAR(20) NOT NULL,
user VARCHAR(32) NOT NULL,
address VARCHAR(255),
date DATETIME,
max_height INT,
tx_id VARCHAR(255),
amount DECIMAL(40,10),
tx_fee DECIMAL(40,10)
);
```
# DB: hashrate
```
Table: <coin>_minersv2
Struct:
+-------------+---------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+-------------+---------------+------+-----+---------+----------------+
| id | int | NO | PRI | NULL | auto_increment |
| user | varchar(64) | NO | | NULL | |
| miner | varchar(64) | NO | | NULL | |
| date | datetime | NO | | NULL | |
| accepts | decimal(16,8) | NO | | NULL | |
| state | varchar(10) | NO | | NULL | |
| last_submit | datetime | NO | | NULL | |
+-------------+---------------+------+-----+---------+----------------+
Create Sql:
CREATE TABLE IF NOT EXISTS <coin>_minersv2(
id INT NOT NULL PRIMARY KEY AUTO_INCREMENT,
user VARCHAR(64) NOT NULL,
miner VARCHAR(64) NOT NULL,
date DATETIME NOT NULL,
accepts DECIMAL(16,8) NOT NULL,
state VARCHAR(10) NOT NULL,
last_submit DATETIME NOT NULL
);
```
```
Table: <coin>_mhs_realv2
Struct:
+-------------+---------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+-------------+---------------+------+-----+---------+----------------+
| id | int | NO | PRI | NULL | auto_increment |
| user | varchar(64) | NO | | NULL | |
| miner | varchar(64) | NO | | NULL | |
| date | datetime | NO | | NULL | |
| mhs30m | decimal(32,6) | NO | | NULL | |
| mhs24h | decimal(32,6) | NO | | NULL | |
| state | varchar(15) | NO | | NULL | |
| last_submit | datetime | NO | | NULL | |
+-------------+---------------+------+-----+---------+----------------+
Create Sql:
CREATE TABLE IF NOT EXISTS <coin>_mhs_realv2(
id INT NOT NULL PRIMARY KEY AUTO_INCREMENT,
user VARCHAR(64) NOT NULL,
miner VARCHAR(64) NOT NULL,
date DATETIME NOT NULL,
mhs30m DECIMAL(32, 6) NOT NULL,
mhs24h DECIMAL(32, 6) NOT NULL,
state VARCHAR(15) NOT NULL,
last_submit DATETIME NOT NULL
);
```
```
Table: <coin>_mhsv2
Struct:
+-------------+---------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+-------------+---------------+------+-----+---------+----------------+
| id | int | NO | PRI | NULL | auto_increment |
| user | varchar(64) | NO | | NULL | |
| miner | varchar(64) | NO | | NULL | |
| date | datetime | NO | | NULL | |
| mhs30m | decimal(32,6) | NO | | NULL | |
| mhs24h | decimal(32,6) | NO | | NULL | |
| state | varchar(15) | NO | | NULL | |
| last_submit | datetime | NO | | NULL | |
+-------------+---------------+------+-----+---------+----------------+
Create Sql:
CREATE TABLE IF NOT EXISTS <coin>_mhsv2(
id INT NOT NULL PRIMARY KEY AUTO_INCREMENT,
user VARCHAR(64) NOT NULL,
miner VARCHAR(64) NOT NULL,
date DATETIME NOT NULL,
mhs30m DECIMAL(32, 6) NOT NULL,
mhs24h DECIMAL(32, 6) NOT NULL,
state VARCHAR(15) NOT NULL,
last_submit DATETIME NOT NULL
);
```

View File

@ -1,8 +1,4 @@
# 数据库、数据表结构 # DB: <coin>pooldb (nexa为m2pooldb)
## core
### DB: <coin>pooldb (nexa为m2pooldb)
``` ```
Table: <coin>_address Table: <coin>_address
Struct: Struct:
@ -232,7 +228,7 @@ CREATE TABLE IF NOT EXISTS `<coin>_pool_blkstats` (
); );
``` ```
### DB: <coin>sharesdb (nexa为m2sharesdb) # DB: <coin>sharesdb (nexa为m2sharesdb)
``` ```
Table: <coin>_blk_detail Table: <coin>_blk_detail
Struct: Struct:
@ -317,173 +313,3 @@ CREATE TABLE `<coin>_blk_height_detail` (
PRIMARY KEY (`id`) PRIMARY KEY (`id`)
); );
``` ```
## app
### DB: distribution
```
Table: <coin>_blkreportprofitv2
Struct:
+--------+---------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+--------+---------------+------+-----+---------+-------+
| date | datetime | NO | | NULL | |
| height | int | NO | PRI | NULL | |
| hash | varchar(255) | NO | | NULL | |
| reward | decimal(32,8) | NO | | NULL | |
| fees | decimal(32,8) | YES | | NULL | |
| state | tinyint | NO | | NULL | |
+--------+---------------+------+-----+---------+-------+
Create Sql:
CREATE TABLE IF NOT EXISTS <coin>_blkreportprofitv2(
date DATETIME NOT NULL,
height INT NOT NULL PRIMARY KEY,
hash VARCHAR(255) NOT NULL,
reward DECIMAL(32,8) NOT NULL,
fees DECIMAL(32,8),
state TINYINT NOT NULL
);
```
```
Table: wallet_in
Struct:
+-----------------+----------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+-----------------+----------------+------+-----+---------+----------------+
| id | int | NO | PRI | NULL | auto_increment |
| coin | varchar(20) | NO | MUL | NULL | |
| user | varchar(32) | NO | | NULL | |
| create_date | datetime | YES | | NULL | |
| should_out_date | datetime | YES | | NULL | |
| max_height | int | YES | | NULL | |
| amount | decimal(40,10) | YES | | NULL | |
| state | tinyint | YES | | NULL | |
| address | varchar(128) | YES | | NULL | |
+-----------------+----------------+------+-----+---------+----------------+
Create Sql:
CREATE TABLE IF NOT EXISTS wallet_in(
id INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
coin VARCHAR(20) NOT NULL,
user VARCHAR(32) NOT NULL,
create_date DATETIME,
should_out_date DATETIME,
max_height INT,
amount DECIMAL(40,10),
state TINYINT,
address VARCHAR(128)
);
```
```
Table: wallet_outv2
Struct:
+------------+----------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+------------+----------------+------+-----+---------+----------------+
| id | int | NO | PRI | NULL | auto_increment |
| coin | varchar(20) | NO | MUL | NULL | |
| user | varchar(32) | NO | | NULL | |
| address | varchar(255) | YES | | NULL | |
| date | datetime | YES | | NULL | |
| max_height | int | YES | | NULL | |
| tx_id | varchar(255) | YES | | NULL | |
| amount | decimal(40,10) | YES | | NULL | |
| tx_fee | decimal(40,10) | YES | | NULL | |
+------------+----------------+------+-----+---------+----------------+
Create Sql:
CREATE TABLE IF NOT EXISTS wallet_outv2(
id INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
coin VARCHAR(20) NOT NULL,
user VARCHAR(32) NOT NULL,
address VARCHAR(255),
date DATETIME,
max_height INT,
tx_id VARCHAR(255),
amount DECIMAL(40,10),
tx_fee DECIMAL(40,10)
);
```
### DB: hashrate
```
Table: <coin>_minersv2
Struct:
+-------------+---------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+-------------+---------------+------+-----+---------+----------------+
| id | int | NO | PRI | NULL | auto_increment |
| user | varchar(64) | NO | | NULL | |
| miner | varchar(64) | NO | | NULL | |
| date | datetime | NO | | NULL | |
| accepts | decimal(16,8) | NO | | NULL | |
| state | varchar(10) | NO | | NULL | |
| last_submit | datetime | NO | | NULL | |
+-------------+---------------+------+-----+---------+----------------+
Create Sql:
CREATE TABLE IF NOT EXISTS <coin>_minersv2(
id INT NOT NULL PRIMARY KEY AUTO_INCREMENT,
user VARCHAR(64) NOT NULL,
miner VARCHAR(64) NOT NULL,
date DATETIME NOT NULL,
accepts DECIMAL(16,8) NOT NULL,
state VARCHAR(10) NOT NULL,
last_submit DATETIME NOT NULL
);
```
```
Table: <coin>_mhs_realv2
Struct:
+-------------+---------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+-------------+---------------+------+-----+---------+----------------+
| id | int | NO | PRI | NULL | auto_increment |
| user | varchar(64) | NO | | NULL | |
| miner | varchar(64) | NO | | NULL | |
| date | datetime | NO | | NULL | |
| mhs30m | decimal(32,6) | NO | | NULL | |
| mhs24h | decimal(32,6) | NO | | NULL | |
| state | varchar(15) | NO | | NULL | |
| last_submit | datetime | NO | | NULL | |
+-------------+---------------+------+-----+---------+----------------+
Create Sql:
CREATE TABLE IF NOT EXISTS <coin>_mhs_realv2(
id INT NOT NULL PRIMARY KEY AUTO_INCREMENT,
user VARCHAR(64) NOT NULL,
miner VARCHAR(64) NOT NULL,
date DATETIME NOT NULL,
mhs30m DECIMAL(32, 6) NOT NULL,
mhs24h DECIMAL(32, 6) NOT NULL,
state VARCHAR(15) NOT NULL,
last_submit DATETIME NOT NULL
);
```
```
Table: <coin>_mhsv2
Struct:
+-------------+---------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+-------------+---------------+------+-----+---------+----------------+
| id | int | NO | PRI | NULL | auto_increment |
| user | varchar(64) | NO | | NULL | |
| miner | varchar(64) | NO | | NULL | |
| date | datetime | NO | | NULL | |
| mhs30m | decimal(32,6) | NO | | NULL | |
| mhs24h | decimal(32,6) | NO | | NULL | |
| state | varchar(15) | NO | | NULL | |
| last_submit | datetime | NO | | NULL | |
+-------------+---------------+------+-----+---------+----------------+
Create Sql:
CREATE TABLE IF NOT EXISTS <coin>_mhsv2(
id INT NOT NULL PRIMARY KEY AUTO_INCREMENT,
user VARCHAR(64) NOT NULL,
miner VARCHAR(64) NOT NULL,
date DATETIME NOT NULL,
mhs30m DECIMAL(32, 6) NOT NULL,
mhs24h DECIMAL(32, 6) NOT NULL,
state VARCHAR(15) NOT NULL,
last_submit DATETIME NOT NULL
);
```