Burstcoin 区块链技术信息

Burstcoin 区块链是数字分类账账,其中 Burstcoin 交易按时间顺序和公开方式记录(包括智能合约、代管、消息等)。 所有这些信息都存储在 H2 或 MariaDB 数据库中。 使用数据清理将Burstcoin的区块链保持在合理的大小。

所有区块链数据存储在以下数据库表中:

座桌

这 19 个字段定义了当前版本的 Burstcoin 软件中的块。 请注意,块表自起源块以来已经演变。

Field Name Data Type NOT NULL
db_id BIGINT(20) yes
id BIGINT(20) yes
version INTEGER(11) yes
timestamp INTEGER(11) yes
previous_block_id BIGINT(20) no
total_amount BIGINT(20) yes
total_fee BIGINT(20) yes
payload_length INTEGER(11) yes
generator_public_key VARBINARY(32) yes
previous_block_hash VARBINARY(32) no
cumulative_difficulty BLOB yes
base_target BIGINT(20) yes
next_block_id BIGINT(20) no
height INTEGER(11) yes
generation_signature VARBINARY(64) yes
block_signature VARBINARY(64) yes
payload_hash VARBINARY(32) yes
nonce BIGINT(20) yes
ats BLOB ?

注意:自起源块以来,块表已经演变。

注意:大多数字段不能为 NULL。 例外是 previous_…next_… 块将块链接成向前和向后链的字段。 创世块具有NULL previous_block_id 并且最后一个(当前)块具有NULL next_block_id.

列列表下方是索引列表。 索引全部用于对各种列进行排序以进行快速检索,但以下列也被限制为具有唯一值: db_id, height, id, timestamp. 它们全部用于唯一地识别块。 db_id 是表格的自动递增字段。 通常每个新块增加一个,但是由于偶尔会删除块,因此序列中可能会出现间隙。 height 对于创世块,它为零,并且每个块增加一。 此序列中没有间隙。 id 是从某些区块字段的哈希值派生的唯一区块ID。 时间戳是自创世块以来经过的秒数来衡量的块创建时间。

注意:存储在 BLOCK 表与存储在 transaction 表通过字段 payload_lengthpayload_hash, 和 total_amounttotal_fee. payload_length 是与该块关联的所有事务的某些字段的字节总数,并且 payload_hash 是所有这些字段的哈希。 total_amounttotal_fee 是与该区块关联的所有交易的总金额和费用。 当没有与块关联的事务时,这四个块字段都为零。

交易记录表

这 25 个字段定义当前版本的 Burstcoin 软件中的事务。 请注意,事务表自起源块以来已经演变。

Field Name Data Type NOT NULL
db_id BIGINT(20) yes
id BIGINT(20) yes
deadline SMALLINT(6) yes
sender_public_key VARBINARY(32) yes
recipient_id BIGINT(20) no
amount BIGINT(20) yes
fee BIGINT(20) yes
height INTEGER(11) yes
block_id BIGINT(20) yes
signature VARBINARY(64) yes
timestamp INTEGER(11) yes
type TINYINT(4) yes
subtype TINYINT(4) yes
sender_id BIGINT(20) yes
block_timestamp INTEGER(11) yes
full_hash VARBINARY(32) yes
referenced_transaction_full_hash VARBINARY(32) no
attachments_bytes BLOB no
version TINYINT(4) yes
has_message BOOLEAN(1) yes
has_encrypted_message BOOLEAN(1) yes
has_public_key_announcement BOOLEAN(1) yes
ec_block_height INTEGER(11) no
ec_block_id BIGINT(20) no
has_encrypttoself_message BOOLEAN(1) yes

注意:大多数字段不能为 NULL。 例外是 recipient_id, referenced_transaction_full_hash, attachments_bytes,ec_block_… 领域. 事务在未指定任何这些字段的情况下有效。

列列表下方是索引列表。 索引全部用于对各种列进行排序以进行快速检索,但以下列也被限制为具有唯一值: db_id, id, full_hash.

注意: 交易存储在 transaction 表与存储在 block 通过字段表 height, block_id, 和 block_timestamp.

上面的图中列出了所有其他表(包含字段名称和数据类型)。

显示 Burstcoin 区块链数据库字段图的图像

2 + 4 =