m2pool_docs/db.md

20 KiB

数据库、数据表结构

core

DB: pooldb (nexa为m2pooldb)

Table: <coin>_address
Struct:
+-------+--------------+------+-----+---------+----------------+
| Field | Type         | Null | Key | Default | Extra          |
+-------+--------------+------+-----+---------+----------------+
| id    | int          | NO   | UNI | NULL    | auto_increment |
| date  | datetime     | NO   |     | NULL    |                |
| addr  | varchar(128) | NO   | PRI | NULL    |                |
| alias | varchar(128) | YES  |     | NULL    |                |
| valid | tinyint(1)   | YES  |     | NULL    |                |
+-------+--------------+------+-----+---------+----------------+
Create Sql:
CREATE TABLE `<coin>_address` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `date` datetime NOT NULL,
  `addr` varchar(128) NOT NULL,
  `alias` varchar(128) DEFAULT NULL,
  `valid` tinyint(1) DEFAULT NULL,
  PRIMARY KEY (`id`),
  UNIQUE KEY `addr` (`addr`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
Table: <coin>_miners
Struct:
+--------------+---------------+------+-----+---------+----------------+
| Field        | Type          | Null | Key | Default | Extra          |
+--------------+---------------+------+-----+---------+----------------+
| id           | int           | NO   | PRI | NULL    | auto_increment |
| date         | datetime      | NO   |     | NULL    |                |
| fromip       | varchar(64)   | YES  |     | NULL    |                |
| state        | varchar(64)   | YES  |     | NULL    |                |
| online       | datetime      | YES  |     | NULL    |                |
| offline      | datetime      | YES  |     | NULL    |                |
| retry        | int           | YES  |     | NULL    |                |
| duration     | decimal(12,6) | YES  |     | NULL    |                |
| protocol     | varchar(64)   | YES  |     | NULL    |                |
| user         | varchar(128)  | YES  |     | NULL    |                |
| miner        | varchar(128)  | YES  |     | NULL    |                |
| refindex     | varchar(128)  | YES  |     | NULL    |                |
| diff         | decimal(32,6) | YES  |     | NULL    |                |
| height       | int           | YES  |     | NULL    |                |
| accepts      | decimal(32,6) | YES  |     | NULL    |                |
| rejects      | decimal(32,6) | YES  |     | NULL    |                |
| ratio        | decimal(32,6) | YES  |     | NULL    |                |
| staleds      | decimal(32,6) | YES  |     | NULL    |                |
| lows         | decimal(32,6) | YES  |     | NULL    |                |
| duplicates   | decimal(32,6) | YES  |     | NULL    |                |
| formats      | decimal(32,6) | YES  |     | NULL    |                |
| others       | decimal(32,6) | YES  |     | NULL    |                |
| is_disabled  | tinyint(1)    | YES  |     | NULL    |                |
| last_submit  | datetime      | YES  |     | NULL    |                |
| submits      | int           | YES  |     | NULL    |                |
| blocks       | int           | YES  |     | NULL    |                |
| orphans      | int           | YES  |     | NULL    |                |
| orphan_ratio | decimal(32,6) | YES  |     | NULL    |                |
+--------------+---------------+------+-----+---------+----------------+
Create Sql:
CREATE TABLE `<coin>_miners` (
  `id` INT(10) NOT NULL AUTO_INCREMENT,
  `date` DATETIME NOT NULL,
  `fromip` VARCHAR(64),
  `state` VARCHAR(64),
  `online` DATETIME,
  `offline` DATETIME,
  `retry` INT(10),
  `duration` DECIMAL(12,6),
  `protocol` VARCHAR(64),
  `user` VARCHAR(128),
  `miner` VARCHAR(128),
  `refindex` VARCHAR(128),
  `diff` DECIMAL(32,6),
  `height` INT(10),
  `accepts` DECIMAL(32,6),
  `rejects` DECIMAL(32,6),
  `ratio` DECIMAL(32,6),
  `staleds` DECIMAL(32,6),
  `lows` DECIMAL(32,6),
  `duplicates` DECIMAL(32,6),
  `formats` DECIMAL(32,6),
  `others` DECIMAL(32,6),
  `is_disabled` TINYINT(1),
  `last_submit` DATETIME,
  `submits` INT(10),
  `blocks` INT(10),
  `orphans` INT(10),
  `orphan_ratio` DECIMAL(32,6),
  PRIMARY KEY (`id`)
);
Table: <coin>_miners_stats
Struct:
+------------+---------------+------+-----+---------+----------------+
| Field      | Type          | Null | Key | Default | Extra          |
+------------+---------------+------+-----+---------+----------------+
| id         | int           | NO   | PRI | NULL    | auto_increment |
| date       | datetime      | NO   |     | NULL    |                |
| user       | varchar(128)  | YES  |     | NULL    |                |
| miner      | varchar(128)  | YES  |     | NULL    |                |
| refindex   | varchar(128)  | YES  |     | NULL    |                |
| shares5m   | decimal(32,6) | YES  |     | NULL    |                |
| shares15m  | decimal(32,6) | YES  |     | NULL    |                |
| shares30m  | decimal(32,6) | YES  |     | NULL    |                |
| shares1h   | decimal(32,6) | YES  |     | NULL    |                |
| shares3h   | decimal(32,6) | YES  |     | NULL    |                |
| shares6h   | decimal(32,6) | YES  |     | NULL    |                |
| shares12h  | decimal(32,6) | YES  |     | NULL    |                |
| shares24h  | decimal(32,6) | YES  |     | NULL    |                |
| shares48h  | decimal(32,6) | YES  |     | NULL    |                |
| rejects5m  | decimal(32,6) | YES  |     | NULL    |                |
| rejects15m | decimal(32,6) | YES  |     | NULL    |                |
| rejects30m | decimal(32,6) | YES  |     | NULL    |                |
| rejects1h  | decimal(32,6) | YES  |     | NULL    |                |
| rejects3h  | decimal(32,6) | YES  |     | NULL    |                |
| rejects6h  | decimal(32,6) | YES  |     | NULL    |                |
| rejects12h | decimal(32,6) | YES  |     | NULL    |                |
| rejects24h | decimal(32,6) | YES  |     | NULL    |                |
| rejects48h | decimal(32,6) | YES  |     | NULL    |                |
| mhs5m      | decimal(32,6) | YES  |     | NULL    |                |
| mhs15m     | decimal(32,6) | YES  |     | NULL    |                |
| mhs30m     | decimal(32,6) | YES  |     | NULL    |                |
| mhs1h      | decimal(32,6) | YES  |     | NULL    |                |
| mhs3h      | decimal(32,6) | YES  |     | NULL    |                |
| mhs6h      | decimal(32,6) | YES  |     | NULL    |                |
| mhs12h     | decimal(32,6) | YES  |     | NULL    |                |
| mhs24h     | decimal(32,6) | YES  |     | NULL    |                |
| mhs48h     | decimal(32,6) | YES  |     | NULL    |                |
| ratio5m    | decimal(32,6) | YES  |     | NULL    |                |
| ratio15m   | decimal(32,6) | YES  |     | NULL    |                |
| ratio30m   | decimal(32,6) | YES  |     | NULL    |                |
| ratio1h    | decimal(32,6) | YES  |     | NULL    |                |
| ratio3h    | decimal(32,6) | YES  |     | NULL    |                |
| ratio6h    | decimal(32,6) | YES  |     | NULL    |                |
| ratio12h   | decimal(32,6) | YES  |     | NULL    |                |
| ratio24h   | decimal(32,6) | YES  |     | NULL    |                |
| ratio48h   | decimal(32,6) | YES  |     | NULL    |                |
+------------+---------------+------+-----+---------+----------------+
Create Sql:
CREATE TABLE `<coin>_miners_stats` (
  `id` INT(10) NOT NULL AUTO_INCREMENT,
  `date` DATETIME NOT NULL,
  `user` VARCHAR(128),
  `miner` VARCHAR(128),
  `refindex` VARCHAR(128),
  `shares5m` DECIMAL(32,6),
  `shares15m` DECIMAL(32,6),
  `shares30m` DECIMAL(32,6),
  `shares1h` DECIMAL(32,6),
  `shares3h` DECIMAL(32,6),
  `shares6h` DECIMAL(32,6),
  `shares12h` DECIMAL(32,6),
  `shares24h` DECIMAL(32,6),
  `shares48h` DECIMAL(32,6),
  `rejects5m` DECIMAL(32,6),
  `rejects15m` DECIMAL(32,6),
  `rejects30m` DECIMAL(32,6),
  `rejects1h` DECIMAL(32,6),
  `rejects3h` DECIMAL(32,6),
  `rejects6h` DECIMAL(32,6),
  `rejects12h` DECIMAL(32,6),
  `rejects24h` DECIMAL(32,6),
  `rejects48h` DECIMAL(32,6),
  `mhs5m` DECIMAL(32,6),
  `mhs15m` DECIMAL(32,6),
  `mhs30m` DECIMAL(32,6),
  `mhs1h` DECIMAL(32,6),
  `mhs3h` DECIMAL(32,6),
  `mhs6h` DECIMAL(32,6),
  `mhs12h` DECIMAL(32,6),
  `mhs24h` DECIMAL(32,6),
  `mhs48h` DECIMAL(32,6),
  `ratio5m` DECIMAL(32,6),
  `ratio15m` DECIMAL(32,6),
  `ratio30m` DECIMAL(32,6),
  `ratio1h` DECIMAL(32,6),
  `ratio3h` DECIMAL(32,6),
  `ratio6h` DECIMAL(32,6),
  `ratio12h` DECIMAL(32,6),
  `ratio24h` DECIMAL(32,6),
  `ratio48h` DECIMAL(32,6),
  PRIMARY KEY (`id`)
);
Table: <coin>_pool_blkstats
Struct:
+------------+---------------+------+-----+---------+----------------+
| Field      | Type          | Null | Key | Default | Extra          |
+------------+---------------+------+-----+---------+----------------+
| id         | int           | NO   | PRI | NULL    | auto_increment |
| date       | datetime      | NO   |     | NULL    |                |
| height     | int           | YES  |     | NULL    |                |
| hash       | varchar(128)  | YES  |     | NULL    |                |
| pow        | varchar(128)  | YES  |     | NULL    |                |
| net_target | varchar(128)  | YES  |     | NULL    |                |
| submit     | varchar(64)   | YES  |     | NULL    |                |
| success    | tinyint(1)    | YES  |     | NULL    |                |
| accepts    | decimal(32,6) | YES  |     | NULL    |                |
| rejects    | decimal(32,6) | YES  |     | NULL    |                |
| reward     | decimal(32,6) | YES  |     | NULL    |                |
| fee        | decimal(32,6) | YES  |     | NULL    |                |
| nonce      | varchar(64)   | YES  |     | NULL    |                |
| subidx     | int           | YES  |     | NULL    |                |
+------------+---------------+------+-----+---------+----------------+
Create Sql:
CREATE TABLE IF NOT EXISTS `<coin>_pool_blkstats` (
  `id` INT(10) NOT NULL AUTO_INCREMENT,
  `date` DATETIME NOT NULL,
  `height` INT(10),
  `hash` VARCHAR(128),
  `pow` VARCHAR(128),
  `net_target` VARCHAR(128),
  `submit` VARCHAR(64),
  `success` TINYINT(1),
  `accepts` DECIMAL(32,6),
  `rejects` DECIMAL(32,6),
  `reward` DECIMAL(32,6),
  `fee` DECIMAL(32,6),
  `nonce` VARCHAR(64),
  `subidx` INT(10),
  PRIMARY KEY (`id`)
);

DB: sharesdb (nexa为m2sharesdb)

Table: <coin>_blk_detail
Struct:
+------------+---------------+------+-----+---------+----------------+
| Field      | Type          | Null | Key | Default | Extra          |
+------------+---------------+------+-----+---------+----------------+
| id         | int           | NO   | PRI | NULL    | auto_increment |
| date       | datetime      | NO   |     | NULL    |                |
| height     | int           | YES  |     | NULL    |                |
| hash       | varchar(128)  | YES  |     | NULL    |                |
| user       | varchar(128)  | YES  |     | NULL    |                |
| miner      | varchar(128)  | YES  |     | NULL    |                |
| refindex   | varchar(128)  | YES  |     | NULL    |                |
| success    | tinyint(1)    | YES  |     | NULL    |                |
| miner_diff | decimal(32,6) | YES  |     | NULL    |                |
| pool_diff  | decimal(32,6) | YES  |     | NULL    |                |
| nonce      | varchar(64)   | YES  |     | NULL    |                |
| subidx     | int           | YES  |     | NULL    |                |
+------------+---------------+------+-----+---------+----------------+
Create Sql:
CREATE TABLE `<coin>_blk_detail` (
  `id` INT(10) NOT NULL AUTO_INCREMENT,
  `date` DATETIME NOT NULL,
  `height` INT(10),
  `hash` VARCHAR(128),
  `user` VARCHAR(128),
  `miner` VARCHAR(128),
  `refindex` VARCHAR(128),
  `success` TINYINT(1),
  `miner_diff` DECIMAL(32,6),
  `pool_diff` DECIMAL(32,6),
  `nonce` VARCHAR(64),
  `subidx` INT(10),
  PRIMARY KEY (`id`)
);
Table: <coin>_blk_new
Struct:
+---------+--------------+------+-----+---------+----------------+
| Field   | Type         | Null | Key | Default | Extra          |
+---------+--------------+------+-----+---------+----------------+
| id      | int          | NO   | PRI | NULL    | auto_increment |
| date    | datetime     | NO   |     | NULL    |                |
| height  | int          | YES  |     | NULL    |                |
| hash    | varchar(128) | YES  |     | NULL    |                |
| success | tinyint(1)   | YES  |     | NULL    |                |
| nonce   | varchar(64)  | YES  |     | NULL    |                |
| subidx  | int          | YES  |     | NULL    |                |
+---------+--------------+------+-----+---------+----------------+
Create Sql:
CREATE TABLE `<coin>_blk_new` (
  `id` INT(10) NOT NULL AUTO_INCREMENT,
  `date` DATETIME NOT NULL,
  `height` INT(10),
  `hash` VARCHAR(128),
  `success` TINYINT(1),
  `nonce` VARCHAR(64),
  `subidx` INT(10),
  PRIMARY KEY (`id`)
);
Table: <coin>_blk_height_detail
Struct:
+-------+----------+------+-----+---------+----------------+
| Field | Type     | Null | Key | Default | Extra          |
+-------+----------+------+-----+---------+----------------+
| id    | int      | NO   | PRI | NULL    | auto_increment |
| date  | datetime | NO   |     | NULL    |                |
| from  | int      | YES  |     | NULL    |                |
| to    | int      | YES  |     | NULL    |                |
+-------+----------+------+-----+---------+----------------+
Create Sql:
CREATE TABLE `<coin>_blk_height_detail` (
  `id` INT(10) NOT NULL AUTO_INCREMENT,
  `date` DATETIME NOT NULL,
  `from` INT(10),
  `to` INT(10),
  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
);