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
1020 B
32 lines
1020 B
|
|
# --- !Ups
|
|
|
|
CREATE TABLE blocks(
|
|
blockhash VARCHAR(64) NOT NULL,
|
|
previous_blockhash VARCHAR(64) NULL,
|
|
next_blockhash VARCHAR(64) NULL,
|
|
merkle_root VARCHAR(64) NULL,
|
|
tpos_contract VARCHAR(64) NULL,
|
|
size INT NOT NULL,
|
|
height INT NOT NULL,
|
|
version INT NOT NULL,
|
|
time BIGINT NOT NULL,
|
|
median_time BIGINT NOT NULL,
|
|
nonce INT NOT NULL,
|
|
bits VARCHAR(50) NOT NULL,
|
|
chainwork VARCHAR(80) NOT NULL,
|
|
difficulty DECIMAL(30, 20),
|
|
-- constraints
|
|
CONSTRAINT blocks_blockhash_pk PRIMARY KEY (blockhash),
|
|
CONSTRAINT blocks_blockhash_format CHECK (blockhash ~ '^[a-f0-9]{64}$'),
|
|
CONSTRAINT blocks_previous_blockhash_format CHECK (previous_blockhash ~ '^[a-f0-9]{64}$'),
|
|
CONSTRAINT blocks_next_blockhash_format CHECK (next_blockhash ~ '^[a-f0-9]{64}$'),
|
|
CONSTRAINT blocks_tpos_contract_format CHECK (tpos_contract ~ '^[a-f0-9]{64}$')
|
|
);
|
|
|
|
CREATE INDEX blocks_height_index ON blocks USING BTREE (height);
|
|
CREATE INDEX blocks_time_index ON blocks USING BTREE (time);
|
|
|
|
# --- !Downs
|
|
|
|
DROP TABLE blocks;
|
|
|