You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
32 lines
959 B
32 lines
959 B
|
|
# --- !Ups
|
|
|
|
CREATE TABLE blocks(
|
|
blockhash BLOCKHASH_TYPE NOT NULL,
|
|
previous_blockhash BLOCKHASH_TYPE NULL,
|
|
next_blockhash BLOCKHASH_TYPE NULL,
|
|
merkle_root TEXT NOT NULL,
|
|
tpos_contract TXID_TYPE NULL,
|
|
size NON_NEGATIVE_INT_TYPE NOT NULL,
|
|
height NON_NEGATIVE_INT_TYPE NOT NULL,
|
|
version INT NOT NULL,
|
|
time BIGINT NOT NULL,
|
|
median_time BIGINT NOT NULL,
|
|
nonce INT NOT NULL,
|
|
bits TEXT NOT NULL,
|
|
chainwork TEXT NOT NULL,
|
|
difficulty DECIMAL(30, 20) NOT NULL,
|
|
-- constraints
|
|
CONSTRAINT blocks_blockhash_pk PRIMARY KEY (blockhash),
|
|
CONSTRAINT blocks_height_unique UNIQUE (height),
|
|
CONSTRAINT blocks_previous_blockhash_fk FOREIGN KEY (previous_blockhash) REFERENCES blocks (blockhash),
|
|
CONSTRAINT blocks_next_blockhash_fk FOREIGN KEY (next_blockhash) REFERENCES blocks (blockhash) ON DELETE SET NULL
|
|
);
|
|
|
|
CREATE INDEX blocks_time_index ON blocks USING BTREE (time);
|
|
|
|
|
|
# --- !Downs
|
|
|
|
DROP INDEX blocks_time_index;
|
|
DROP TABLE blocks;
|
|
|