账本数据库使用的数据类型
账本数据库使用HASH16数据类型来存储行级hash摘要或表级hash摘要,使用HASH32数据类型来存储全局hash摘要或者历史表校验hash。
表 1 账本数据库HASH类型
| 名称 | 描述 | 存储空间 | 范围 |
|---|---|---|---|
| HASH16 | 以无符号64位整数存储。 | 8字节 | 0 ~ +18446744073709551615 |
| HASH32 | 以包含16个的无符号整形元素数的组存储。 | 16字节 | 16个元素的无符号整形数组能够包含的取值范围 |
HASH16数据类型用来在账本数据库中存储行级或表级hash摘要,在获得长度为16个字符串的十六进制字符串的hash序列后,系统将调用hash16in函数将该序列转换为一个无符号64位整数存储进HASH16类型变量中。示例如下:
1. 十六进制字符串:e697da2eaa3a775b 对应的无符号64位整数:16615989244166043483
2. 十六进制字符串:ffffffffffffffff 对应的无符号64位整数:18446744073709551615
HASH32数据类型用来在账本数据库中存储全局hash摘要或者历史表校验hash,在获得长度为32个字符串的十六进制字符串的hash序列后,系统将调用hash32in函数将该序列转换到一个包含16个无符号整形元素的数组中。示例如下:
1. 十六进制字符串:685847ed1fe38e18f6b0e2b18c00edee
2. 对应的HASH32数组:[104,88,71,237,31,227,142,24,246,176,226,177,140,0,237,238]
