# 数据库、数据表结构 ## core ### DB: pooldb (nexa为m2pooldb) ``` Table: _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 `_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: _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 `_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: _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 `_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: _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 `_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: _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 `_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: _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 `_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: _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 `_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: _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 _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: _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 _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: _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 _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: _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 _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 ); ```