Go-Ethereum

如何在 Clique PoA 網路的創世塊額外數據中設置密封器?

  • May 31, 2021

Clique PoA 創世額外數據欄位的格式是什麼來設置密封器?

這是一個例子:“額外數據”:"0x000000000000000000000000000000000000000000000000000000000000000009b0888de6f7a33791d41b7041c71deef6c92d7616f5cf972fa3a9d139d1777387f06b073d99b43864ef6834ac2e543fb8c747b02a55087be4f955ac6a3a944c6c69fb1c2efb7f0593c1a1c6f406c95cb8f46fa71b33acddb030df8ef86efa305090f0f30000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",

中間,所有的封口機都卡住了。我知道我們需要在左側和右側添加零,但是有多少?

用於定義 PoA 驗證器/密封器的 Clique extradata 欄位必須符合以下格式:

  • 第一部分:32bytes 虛榮,意思是你想要的任何東西,因為它表示為一個十六進製字元串(64 個字元長,一個字節是 2 個字元),在這個例子中它只是零。
  • 第二部分:密封器/驗證器節點地址的串聯列表。每個地址都寫成沒有“0x”前綴的十六進製字元串,並且必須是 20 個字節長(40 個字元長,一個字節是 2 個字元)。
  • 第三部分:一個 65 字節的簽名後綴,稱為提議者印章。它用於辨識區塊中新驗證者的提議者。鑑於我們這裡講的是創世文件,這個印章沒有理由存在,因為沒有特定的節點提出它,它是每個人在開始之前都同意的基礎。所以它必須用零填充(65 個零)。

參考:

Clique EIP:https ://github.com/ethereum/EIPs/issues/650 程式碼庫:

引用自:https://ethereum.stackexchange.com/questions/66927