X-Git-Url: http://git.osdn.net/view?p=bytom%2Fvapor.git;a=blobdiff_plain;f=docs%2Ffederation%2Ffederation.sql;h=b2613c588608d2a5395a27c40425f0a252409fd9;hp=f3850d1a56b0eb6dc0b068c02730efaeb5a4f8ef;hb=4c43de6c51c2f266b6671cf6ff724aae4ca6c8fa;hpb=644c2afa58cfef47dbb1df817399b1da4d353aa0 diff --git a/docs/federation/federation.sql b/docs/federation/federation.sql index f3850d1a..b2613c58 100644 --- a/docs/federation/federation.sql +++ b/docs/federation/federation.sql @@ -6,6 +6,8 @@ /*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */; /*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */; +DROP DATABASE `federation`; + CREATE SCHEMA IF NOT EXISTS `federation`; USE `federation`; @@ -13,10 +15,8 @@ USE `federation`; # Dump of table warders # ------------------------------------------------------------ -DROP TABLE IF EXISTS `warders`; - CREATE TABLE `warders` ( - `id` tinyint(1) unsigned NOT NULL AUTO_INCREMENT, + `id` tinyint(1) NOT NULL AUTO_INCREMENT, `pubkey` varchar(64) NOT NULL, `created_at` timestamp NULL DEFAULT CURRENT_TIMESTAMP, `updated_at` timestamp NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, @@ -49,7 +49,7 @@ LOCK TABLES `chains` WRITE; INSERT INTO `chains` (`id`, `name`, `block_height`, `block_hash`, `created_at`, `updated_at`) VALUES -(1,'btm',0,'a75483474799ea1aa6bb910a1a5025b4372bf20bef20f246a2c2dc5e12e8a053','2018-09-13 05:10:43','2018-11-27 09:42:06'); +(1,'bytom',0,'a75483474799ea1aa6bb910a1a5025b4372bf20bef20f246a2c2dc5e12e8a053','2018-09-13 05:10:43','2018-11-27 09:42:06'); /*!40000 ALTER TABLE `chains` ENABLE KEYS */; UNLOCK TABLES; @@ -60,43 +60,53 @@ UNLOCK TABLES; CREATE TABLE `cross_transactions` ( `id` int(11) NOT NULL AUTO_INCREMENT, - `chain_id` int(11) NOT NULL, - `block_height` int(11) NOT NULL, - `block_hash` char(64) NOT NULL, - `tx_index` int(11) NOT NULL, - `mux_id` char(64) NOT NULL, - `tx_hash` char(64) NOT NULL, - `raw_transaction` mediumtext NOT NULL, + `chain_id` tinyint(1) NOT NULL, + `source_block_height` int(11) NOT NULL, + `source_block_hash` char(64) NOT NULL, + `source_tx_index` int(11) NOT NULL, + `source_mux_id` char(64) NOT NULL, + `source_tx_hash` char(64) NOT NULL, + `source_raw_transaction` mediumtext NOT NULL, + `dest_block_height` int(11) DEFAULT NULL, + `dest_block_hash` char(64) DEFAULT NULL, + `dest_tx_index` int(11) DEFAULT NULL, + `dest_tx_hash` char(64) DEFAULT NULL, `status` tinyint(1) DEFAULT '0', `created_at` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP, `updated_at` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, PRIMARY KEY (`id`), - UNIQUE KEY `mux_id` (`mux_id`), - UNIQUE KEY `tx_hash` (`tx_hash`), - UNIQUE KEY `raw_transaction` (`raw_transaction`), - UNIQUE KEY `blockhash_txidx` (`block_hash`,`tx_index`), - UNIQUE KEY `blockheight_txidx` (`chain_id`,`block_height`,`tx_index`), - CONSTRAINT `transactions_ibfk_1` FOREIGN KEY (`chain_id`) REFERENCES `chains` (`id`) + UNIQUE KEY `source_mux_id` (`chain_id`,`source_mux_id`), + UNIQUE KEY `source_tx_hash` (`chain_id`,`source_tx_hash`), + UNIQUE KEY `source_blockhash_txidx` (`chain_id`,`source_block_hash`,`source_tx_index`), + UNIQUE KEY `source_blockheight_txidx` (`chain_id`,`source_block_height`,`source_tx_index`), + UNIQUE KEY `dest_tx_hash` (`chain_id`,`dest_tx_hash`), + UNIQUE KEY `dest_blockhash_txidx` (`chain_id`,`dest_block_hash`,`dest_tx_index`), + UNIQUE KEY `dest_blockheight_txidx` (`chain_id`,`dest_block_height`,`dest_tx_index`), + CONSTRAINT `cross_transactions_ibfk_1` FOREIGN KEY (`chain_id`) REFERENCES `chains` (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8; LOCK TABLES `cross_transactions` WRITE; UNLOCK TABLES; -# Dump of table cross_transaction_inputs +# Dump of table cross_transaction_reqs # ------------------------------------------------------------ -CREATE TABLE `cross_transaction_inputs` ( +CREATE TABLE `cross_transaction_reqs` ( `id` int(11) NOT NULL AUTO_INCREMENT, - `tx_id` int(11) NOT NULL, + `cross_transaction_id` int(11) NOT NULL, `source_pos` int(11) NOT NULL, + `asset_id` int(11) NOT NULL, + `asset_amount` bigint(20) DEFAULT '0', + `script` varchar(128) NOT NULL, `created_at` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP, `updated_at` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, PRIMARY KEY (`id`), - UNIQUE KEY `input_id` (`tx_id`,`source_pos`), - CONSTRAINT `cross_transaction_inputs_ibfk_1` FOREIGN KEY (`tx_id`) REFERENCES `cross_transactions` (`id`) + UNIQUE KEY `req_id` (`cross_transaction_id`,`source_pos`), + CONSTRAINT `cross_transaction_reqs_ibfk_1` FOREIGN KEY (`cross_transaction_id`) REFERENCES `cross_transactions` (`id`), + CONSTRAINT `cross_transaction_reqs_ibfk_2` FOREIGN KEY (`asset_id`) REFERENCES `assets` (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8; -LOCK TABLES `cross_transaction_inputs` WRITE; +LOCK TABLES `cross_transaction_reqs` WRITE; UNLOCK TABLES; @@ -105,7 +115,7 @@ UNLOCK TABLES; CREATE TABLE `cross_transaction_signs` ( `id` int(11) NOT NULL AUTO_INCREMENT, `cross_transaction_id` int(11) NOT NULL, - `warder_id` int(11) NOT NULL, + `warder_id` tinyint(1) NOT NULL, `signatures` text NOT NULL, `status` tinyint(1) NOT NULL, `created_at` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP, @@ -113,8 +123,34 @@ CREATE TABLE `cross_transaction_signs` ( PRIMARY KEY (`id`), UNIQUE KEY `sign_id` (`cross_transaction_id`,`warder_id`), CONSTRAINT `cross_transaction_signs_ibfk_1` FOREIGN KEY (`warder_id`) REFERENCES `warders` (`id`), - CONSTRAINT `cross_transaction_signs_ibfk_1` FOREIGN KEY (`cross_transaction_id`) REFERENCES `cross_transactions` (`id`) + CONSTRAINT `cross_transaction_signs_ibfk_2` FOREIGN KEY (`cross_transaction_id`) REFERENCES `cross_transactions` (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8; LOCK TABLES `cross_transaction_signs` WRITE; +UNLOCK TABLES; + + +# Dump of table assets +# ------------------------------------------------------------ + +CREATE TABLE `assets` ( + `id` int(11) NOT NULL AUTO_INCREMENT, + `asset_id` varchar(64) NOT NULL, + `issuance_program` varchar(64) NOT NULL, + `vm_version` int(11) NOT NULL DEFAULT '1', + `raw_definition_byte` text, + `created_at` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP, + `updated_at` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, + PRIMARY KEY (`id`), + UNIQUE KEY `asset_id` (`asset_id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +LOCK TABLES `assets` WRITE; +/*!40000 ALTER TABLE `assets` DISABLE KEYS */; + +INSERT INTO `assets` (`id`, `asset_id`, `issuance_program`, `vm_version`, `raw_definition_byte`, `created_at`, `updated_at`) +VALUES + (1,'ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff','',1,'7b0a202022646563696d616c73223a20382c0a2020226465736372697074696f6e223a20224279746f6d204f6666696369616c204973737565222c0a2020226e616d65223a202242544d222c0a20202273796d626f6c223a202242544d220a7d','2018-09-13 05:10:43','2018-11-27 09:43:35'); + +/*!40000 ALTER TABLE `assets` ENABLE KEYS */; UNLOCK TABLES; \ No newline at end of file