Go-Ethereum
如何在 Clique PoA 網路的創世塊額外數據中設置密封器?
Clique PoA 創世額外數據欄位的格式是什麼來設置密封器?
這是一個例子:“額外數據”:
"0x000000000000000000000000000000000000000000000000000000000000000009b0888de6f7a33791d41b7041c71deef6c92d7616f5cf972fa3a9d139d1777387f06b073d99b43864ef6834ac2e543fb8c747b02a55087be4f955ac6a3a944c6c69fb1c2efb7f0593c1a1c6f406c95cb8f46fa71b33acddb030df8ef86efa305090f0f30000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
中間,所有的封口機都卡住了。我知道我們需要在左側和右側添加零,但是有多少?
用於定義 PoA 驗證器/密封器的 Clique extradata 欄位必須符合以下格式:
- 第一部分:32bytes 虛榮,意思是你想要的任何東西,因為它表示為一個十六進製字元串(64 個字元長,一個字節是 2 個字元),在這個例子中它只是零。
- 第二部分:密封器/驗證器節點地址的串聯列表。每個地址都寫成沒有“0x”前綴的十六進製字元串,並且必須是 20 個字節長(40 個字元長,一個字節是 2 個字元)。
- 第三部分:一個 65 字節的簽名後綴,稱為提議者印章。它用於辨識區塊中新驗證者的提議者。鑑於我們這裡講的是創世文件,這個印章沒有理由存在,因為沒有特定的節點提出它,它是每個人在開始之前都同意的基礎。所以它必須用零填充(65 個零)。
參考:
Clique EIP:https ://github.com/ethereum/EIPs/issues/650 程式碼庫: