25 lines
1.4 KiB
MySQL
25 lines
1.4 KiB
MySQL
|
|
-- ============================================
|
||
|
|
-- 블록체인 원장 테이블 (폐쇄형 SQL Ledger)
|
||
|
|
-- ============================================
|
||
|
|
|
||
|
|
SET NAMES utf8mb4;
|
||
|
|
|
||
|
|
CREATE TABLE IF NOT EXISTS `blockchain_ledger` (
|
||
|
|
`bl_idx` BIGINT UNSIGNED NOT NULL AUTO_INCREMENT COMMENT '블록 인덱스(Height)',
|
||
|
|
`bl_created_at` DATETIME NOT NULL COMMENT '블록 생성 시각',
|
||
|
|
`bl_tx_type` VARCHAR(30) NOT NULL DEFAULT '' COMMENT '트랜잭션 타입(ORDER_CREATE/ORDER_UPDATE/...)',
|
||
|
|
`bl_entity_uuid` CHAR(36) NULL COMMENT '업무 엔티티 UUID',
|
||
|
|
`bl_entity_version` INT UNSIGNED NOT NULL DEFAULT 1 COMMENT '엔티티 버전',
|
||
|
|
`bl_payload` JSON NOT NULL COMMENT '블록 payload(JSON)',
|
||
|
|
`bl_previous_hash` CHAR(64) NOT NULL DEFAULT '' COMMENT '이전 블록 해시',
|
||
|
|
`bl_hash` CHAR(64) NOT NULL DEFAULT '' COMMENT '현재 블록 해시',
|
||
|
|
`bl_nonce` INT NOT NULL DEFAULT 0 COMMENT '논스(폐쇄형 체인에서 기본 0)',
|
||
|
|
`bl_actor_idx` INT UNSIGNED NULL COMMENT '수행자 mb_idx',
|
||
|
|
`bl_lg_idx` INT UNSIGNED NULL COMMENT '지자체 lg_idx',
|
||
|
|
PRIMARY KEY (`bl_idx`),
|
||
|
|
KEY `idx_bl_entity_uuid` (`bl_entity_uuid`),
|
||
|
|
KEY `idx_bl_tx_type` (`bl_tx_type`),
|
||
|
|
KEY `idx_bl_lg_idx` (`bl_lg_idx`),
|
||
|
|
UNIQUE KEY `uk_bl_hash` (`bl_hash`)
|
||
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='블록체인 원장';
|