跳至主要内容
本页面使用机器翻译自英语,可能包含错误或不清楚的语言。如需最准确的信息,请参阅英文原文。由于更新频繁,部分内容可能与英文原文有出入。请加入我们在 Crowdin 上的努力,帮助我们改进本页面的翻译。 (Crowdin translation page, Contributing guide)

创世纪文件

本页描述了 genesis.json 文件的详细信息。

创世纪 JSON 文件结构​

下表描述了 genesis.json 文件结构。

字段名称说明
configblokchain 配置。请参阅 配置 部分。
nonce(已废弃)该字段源于以太坊,但不用于 Kaia。
timestamp块创建时的 unix 时间。
extraData数据组合字段,用于签名者虚荣和 RLP 编码的伊斯坦布尔额外数据,其中包含验证者列表、提议者封印和提交封印。
gasLimit区块中使用的最大气体量。
difficulty(已废弃)该字段源于以太坊,但不用于 Kaia。
mixhash(已废弃)该字段源于以太坊,但不用于 Kaia。
coinbase矿工领取奖励的地址。该字段仅用于 Clique 共识引擎。
alloc预定义账户。
number区块编号字段。
gasUsed一个区块使用的气体量。
parentHash前一个区块的哈希值。

Config ​

配置 "字段存储与链相关的信息。

字段名称说明
chainId它能识别当前链,用于防止重放攻击。
istanbulCompatibleBlock适用伊斯坦布尔变更的区块编号。
istanbul, clique共识引擎的类型。
unitPrice单位价格。
deriveShaImpl定义生成交易哈希值和收据哈希值的方法。
governance网络管理信息。参见 治理部分

extraData ​

字段 extraData 是提议者虚名和 RLP 编码的伊斯坦布尔额外数据的连接:

  • 建议者虚名是 32 字节数据,包含任意建议者虚名数据。
  • 其余数据为 RLP 编码的伊斯坦布尔额外数据,包含
    • 验证器:按升序排列的验证器列表。
    • 印章:提案人在页眉上的签名。对于 genesis.json,它是一个以 65 0x0初始化的字节数组。
    • CommittedSeal:作为共识证明的承诺签名印章列表。对于 genesis.json,它是一个空数组。

举例

现场类型价值
虚荣32 字节十六进制字符串0x0000000000000000000000000000000000000000000000000000000000000000
Validators[]address[0x48009b4e20ec72aadf306577cbe2eaf54b0ebb16,0x089fcc42fd83baeee4831319375413b8bae3aceb]
Seal由 65 个元素组成的字节数组[0x0,...,0x0]
CommittedSeal[][]byte[]

创建包含上述数据的 extraData 的方法是


concat('0x',Vanity,RLPEncode({Validators,Seal,CommittedSeal}))

其中,concat 是字符串连接函数,RLPEncode 是将给定结构转换为 RLP 编码字符串的函数。

With this function, the output extraData for this example is 0x0000000000000000000000000000000000000000000000000000000000000000f86fea9448009b4e20ec72aadf306577cbe2eaf54b0ebb1694089fcc42fd83baeee4831319375413b8bae3acebb8410000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0.

共识引擎​

Kaia 网络可用的共识引擎有 Clique 和 Istanbul。每个引擎的说明如下。

Clique ​

clique "字段存储基于授权证明(POA)的密封配置。

字段说明
period连续数据块之间的最小时间间隔(单位:秒)。
epoch重置投票并标记为检查点的区块数。

Istanbul ​

istanbul "字段存储基于伊斯坦布尔的密封配置。

字段说明
epoch重置选票的区块数即为检查点。
policy区块建议者遴选政策。 [0:循环赛,1:粘性赛,2:加权随机赛]
sub委员会人数

Governance ​

治理 "字段存储网络的治理信息。

字段说明
governanceMode三种治理模式之一。 [none, single, ballot]
governingNode指定管理节点的地址。只有当治理模式为 "单一 "时,它才会起作用。
rewardIt stores the reward configuration. 请参阅 [奖励](#reward)部分。

Reward ​

奖励 "字段存储有关网络代币经济的信息。

字段说明
mintingAmount生成区块时铸造的金币数量。数值需要双引号。
ratio用"/"分隔的 "CN/KIR/PoC "的分配率。所有值的总和必须是 100。
useGiniCoeff是否使用 GINI 系数
deferredTxFee分配区块 TX 费用的方法。
stakingUpdateInterval更新定标信息的时间间隔(块高度)。
proposerUpdateInterval更新提案人信息的时间间隔(块高度)。
minimumStake加入核心单元操作员的最低金额。

示例​


{
"config": {
"chainId": 2019,
"istanbulCompatibleBlock": 0,
"istanbul": {
"epoch": 604800,
"policy": 2,
"sub": 13
},
"unitPrice": 25000000000,
"deriveShaImpl": 2,
"governance": {
"governingNode": "0x46b0bd6380005952759f605d02a6365552c776f3",
"governanceMode": "single",
"reward": {
"mintingAmount": 6400000000000000000,
"ratio": "50/40/10",
"useGiniCoeff": true,
"deferredTxFee": true,
"stakingUpdateInterval": 86400,
"proposerUpdateInterval": 3600,
"minimumStake": 5000000
}
}
},
"nonce": "0x0",
"timestamp": "0x5c9af60e",
"extraData": "0x0000000000000000000000000000000000000000000000000000000000000000f89af85494aeae0ab623d4118ac62a2decc386949b5ce67ce29446b0bd6380005952759f605d02a6365552c776f394699b607851c878e29499672f42a769b71f74be8e94e67598eb5831164574c876994d53f63eab4f36d7b8410000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0",
"gasLimit": "0xe8d4a50fff",
"difficulty": "0x1",
"mixHash": "0x63746963616c2062797a616e74696e65206661756c7420746f6c6572616e6365",
"coinbase": "0x0000000000000000000000000000000000000000",
"alloc": {
"0000000000000000000000000000000000000400": {
"code": "0x6080604052600436106101505763ffffffff60e00a165627a7a7230582093756fe617053766b158f7c64998c746eb38f0d5431cc50231cc9fb2cd1fd9950029",
"balance": "0x0"
},
"46b0bd6380005952759f605d02a6365552c776f3": {
"balance": "0x446c3b15f9926687d2c40534fdb564000000000000"
},
"699b607851c878e29499672f42a769b71f74be8e": {
"balance": "0x446c3b15f9926687d2c40534fdb564000000000000"
},
"aeae0ab623d4118ac62a2decc386949b5ce67ce2": {
"balance": "0x446c3b15f9926687d2c40534fdb564000000000000"
},
"e67598eb5831164574c876994d53f63eab4f36d7": {
"balance": "0x446c3b15f9926687d2c40534fdb564000000000000"
}
},
"number": "0x0",
"gasUsed": "0x0",
"parentHash": "0x0000000000000000000000000000000000000000000000000000000000000000"
}

让这个页面变得更好