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

# --- !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;