From a5a2cfb5f943aa198d15bda6ad24b0b4b4c98ef1 Mon Sep 17 00:00:00 2001
From: lzx <393768033@qq.com>
Date: Mon, 14 Apr 2025 14:54:14 +0800
Subject: [PATCH] update

---
 README.md           |  22 ++++--
 db/README.md        |   1 +
 db/app.md           | 167 +++++++++++++++++++++++++++++++++++++++++
 db.md => db/core.md | 178 +-------------------------------------------
 4 files changed, 185 insertions(+), 183 deletions(-)
 create mode 100644 db/README.md
 create mode 100644 db/app.md
 rename db.md => db/core.md (65%)

diff --git a/README.md b/README.md
index 0c6be58..67ed835 100644
--- a/README.md
+++ b/README.md
@@ -1,8 +1,16 @@
 # 版本遵循<语义化版本规范(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(大版本归档)
 ├── CHANGELOG.md(版本变更记录日志)
@@ -12,21 +20,21 @@ v1(大版本归档)
 ├── testReport(测试报告及评审意见)
 ```
 
-# 需求文档
+### 需求文档
 ```
 需求文档使用word文档,命名规则为:v1.0.0_需求文档.xlsx
 ```
 
-# 测试用例及评审意见
+### 测试用例及评审意见
 ```
 测试用例使用excel表格,命名规则为:v1.0.0_测试用例.xlsx
 ```
 
-# 测试记录
+### 测试记录
 ```
 测试记录使用excel表格,命名规则为:v1.0.0_测试记录.xlsx
 ```
 
-# 测试报告及评审意见
+### 测试报告及评审意见
 ```
 测试报告使用word文档,命名规则为:v1.0.0_测试报告.docx
\ No newline at end of file
diff --git a/db/README.md b/db/README.md
new file mode 100644
index 0000000..be5d4d1
--- /dev/null
+++ b/db/README.md
@@ -0,0 +1 @@
+# m2pool全部数据库及表结构设计
\ No newline at end of file
diff --git a/db/app.md b/db/app.md
new file mode 100644
index 0000000..8ad9661
--- /dev/null
+++ b/db/app.md
@@ -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
+);
+```
\ No newline at end of file
diff --git a/db.md b/db/core.md
similarity index 65%
rename from db.md
rename to db/core.md
index c16c7c9..baa33ad 100644
--- a/db.md
+++ b/db/core.md
@@ -1,8 +1,4 @@
-# 数据库、数据表结构
-
-## core
-
-### DB: <coin>pooldb (nexa为m2pooldb)
+# DB: <coin>pooldb (nexa为m2pooldb)
 ```
 Table: <coin>_address
 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
 Struct:
@@ -317,173 +313,3 @@ CREATE TABLE `<coin>_blk_height_detail` (
   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
-);
-```
\ No newline at end of file