OSDN Git Service

feat(federation): add mainchain & sidechain listener (#170)
[bytom/vapor.git] / docs / federation / federation.sql
1 /*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
2 /*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
3 /*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
4 /*!40101 SET NAMES utf8 */;
5 /*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */;
6 /*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */;
7 /*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */;
8
9 DROP DATABASE `federation`;
10
11 CREATE SCHEMA IF NOT EXISTS `federation`;
12
13 USE `federation`;
14
15 # Dump of table warders
16 # ------------------------------------------------------------
17
18 CREATE TABLE `warders` (
19   `id` tinyint(1) NOT NULL AUTO_INCREMENT,
20   `pubkey` varchar(64) NOT NULL,
21   `created_at` timestamp NULL DEFAULT CURRENT_TIMESTAMP,
22   `updated_at` timestamp NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
23   PRIMARY KEY (`id`),
24   UNIQUE KEY `pubkey` (`pubkey`)
25 ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
26
27 LOCK TABLES `warders` WRITE;
28 UNLOCK TABLES;
29
30
31 # Dump of table chains
32 # ------------------------------------------------------------
33
34 CREATE TABLE `chains` (
35   `id` tinyint(1) NOT NULL AUTO_INCREMENT,
36   `name` varchar(64) NOT NULL,
37   `block_height` int(11) DEFAULT '0',
38   `block_hash` char(64) NOT NULL,
39   `created_at` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
40   `updated_at` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
41   PRIMARY KEY (`id`),
42   UNIQUE KEY `name` (`name`),
43   UNIQUE KEY `block_hash` (`block_hash`)
44 ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
45
46 LOCK TABLES `chains` WRITE;
47 /*!40000 ALTER TABLE `chains` DISABLE KEYS */;
48
49 INSERT INTO `chains`
50 (`id`, `name`, `block_height`, `block_hash`, `created_at`, `updated_at`)
51 VALUES
52 (1,'bytom',0,'a75483474799ea1aa6bb910a1a5025b4372bf20bef20f246a2c2dc5e12e8a053','2018-09-13 05:10:43','2018-11-27 09:42:06');
53
54 /*!40000 ALTER TABLE `chains` ENABLE KEYS */;
55 UNLOCK TABLES;
56
57
58 # Dump of table cross_transactions
59 # ------------------------------------------------------------
60
61 CREATE TABLE `cross_transactions` (
62   `id` int(11) NOT NULL AUTO_INCREMENT,
63   `chain_id` tinyint(1) NOT NULL,
64   `source_block_height` int(11) NOT NULL,
65   `source_block_hash` char(64) NOT NULL,
66   `source_tx_index` int(11) NOT NULL,
67   `source_mux_id` char(64) NOT NULL,
68   `source_tx_hash` char(64) NOT NULL,
69   `source_raw_transaction` mediumtext NOT NULL,
70   `dest_block_height` int(11) DEFAULT NULL,
71   `dest_block_hash` char(64) DEFAULT NULL,
72   `dest_tx_index` int(11) DEFAULT NULL,
73   `dest_tx_hash` char(64) DEFAULT NULL,
74   `status` tinyint(1) DEFAULT '0',
75   `created_at` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
76   `updated_at` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
77   PRIMARY KEY (`id`),
78   UNIQUE KEY `source_mux_id` (`chain_id`,`source_mux_id`),
79   UNIQUE KEY `source_tx_hash` (`chain_id`,`source_tx_hash`),
80   UNIQUE KEY `source_blockhash_txidx` (`chain_id`,`source_block_hash`,`source_tx_index`),
81   UNIQUE KEY `source_blockheight_txidx` (`chain_id`,`source_block_height`,`source_tx_index`),
82   UNIQUE KEY `dest_tx_hash` (`chain_id`,`dest_tx_hash`),
83   UNIQUE KEY `dest_blockhash_txidx` (`chain_id`,`dest_block_hash`,`dest_tx_index`),
84   UNIQUE KEY `dest_blockheight_txidx` (`chain_id`,`dest_block_height`,`dest_tx_index`),
85   CONSTRAINT `cross_transactions_ibfk_1` FOREIGN KEY (`chain_id`) REFERENCES `chains` (`id`)
86 ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
87
88 LOCK TABLES `cross_transactions` WRITE;
89 UNLOCK TABLES;
90
91
92 # Dump of table cross_transaction_reqs
93 # ------------------------------------------------------------
94 CREATE TABLE `cross_transaction_reqs` (
95   `id` int(11) NOT NULL AUTO_INCREMENT,
96   `cross_transaction_id` int(11) NOT NULL,
97   `source_pos` int(11) NOT NULL,
98   `asset_id` int(11) NOT NULL,
99   `asset_amount` bigint(20) DEFAULT '0',
100   `script` varchar(128) NOT NULL,
101   `created_at` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
102   `updated_at` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
103   PRIMARY KEY (`id`),
104   UNIQUE KEY `req_id` (`cross_transaction_id`,`source_pos`),
105   CONSTRAINT `cross_transaction_reqs_ibfk_1` FOREIGN KEY (`cross_transaction_id`) REFERENCES `cross_transactions` (`id`),
106   CONSTRAINT `cross_transaction_reqs_ibfk_2` FOREIGN KEY (`asset_id`) REFERENCES `assets` (`id`)
107 ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
108
109 LOCK TABLES `cross_transaction_reqs` WRITE;
110 UNLOCK TABLES;
111
112
113 # Dump of table cross_transaction_signs
114 # ------------------------------------------------------------
115 CREATE TABLE `cross_transaction_signs` (
116   `id` int(11) NOT NULL AUTO_INCREMENT,
117   `cross_transaction_id` int(11) NOT NULL,
118   `warder_id` tinyint(1) NOT NULL,
119   `signatures` text NOT NULL,
120   `status` tinyint(1) NOT NULL,
121   `created_at` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
122   `updated_at` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
123   PRIMARY KEY (`id`),
124   UNIQUE KEY `sign_id` (`cross_transaction_id`,`warder_id`),
125   CONSTRAINT `cross_transaction_signs_ibfk_1` FOREIGN KEY (`warder_id`) REFERENCES `warders` (`id`),
126   CONSTRAINT `cross_transaction_signs_ibfk_2` FOREIGN KEY (`cross_transaction_id`) REFERENCES `cross_transactions` (`id`)
127 ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
128
129 LOCK TABLES `cross_transaction_signs` WRITE;
130 UNLOCK TABLES;
131
132
133 # Dump of table assets
134 # ------------------------------------------------------------
135
136 CREATE TABLE `assets` (
137   `id` int(11) NOT NULL AUTO_INCREMENT,
138   `asset_id` varchar(64) NOT NULL,
139   `issuance_program` varchar(64) NOT NULL,
140   `vm_version` int(11) NOT NULL DEFAULT '1',
141   `raw_definition_byte` text,
142   `created_at` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
143   `updated_at` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
144   PRIMARY KEY (`id`),
145   UNIQUE KEY `asset_id` (`asset_id`)
146 ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
147
148 LOCK TABLES `assets` WRITE;
149 /*!40000 ALTER TABLE `assets` DISABLE KEYS */;
150
151 INSERT INTO `assets` (`id`, `asset_id`, `issuance_program`, `vm_version`, `raw_definition_byte`, `created_at`, `updated_at`)
152 VALUES
153   (1,'ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff','',1,'7b0a202022646563696d616c73223a20382c0a2020226465736372697074696f6e223a20224279746f6d204f6666696369616c204973737565222c0a2020226e616d65223a202242544d222c0a20202273796d626f6c223a202242544d220a7d','2018-09-13 05:10:43','2018-11-27 09:43:35');
154
155 /*!40000 ALTER TABLE `assets` ENABLE KEYS */;
156 UNLOCK TABLES;