跳至主要內容
本頁面使用機器翻譯自英語,可能包含錯誤或不清楚的語言。如需最準確的信息,請參閱英文原文。由於更新頻繁,部分內容可能與英文原文有出入。請加入我們在 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"
}

讓這個頁面變得更好