Private-Blockchain

如何在 Parity 鏈規範中指定 eip100?

  • November 1, 2017

在 Parity 鏈規範文件中,如何包含 EIP100?

我在這裡的預設文件中沒有看到它要複製: https ://github.com/paritytech/parity/blob/master/ethcore/res/ethereum/foundation.json

我想我只是添加:

“eip100Transition”:

還是eip100dTransition?帶“d”?

有人可以確認嗎?

似乎是Parity 中的eip100bTransition。有關在程式碼中實現計算的位置,請參見此處

parity/ethcore/src/ethereum/ethash.rs第 369 行:

let (increment_divisor, threshold) = if header.number() < self.ethash_params.eip100b_transition {
   (self.ethash_params.difficulty_increment_divisor, 1)
} else if parent_has_uncles {
   (self.ethash_params.metropolis_difficulty_increment_divisor, 2)
} else {
   (self.ethash_params.metropolis_difficulty_increment_divisor, 1)
};

對於公共網路,eipxxx聲明採用以下形式(例如):

"eip140Transition": 4370000,
"eip211Transition": 4370000,
"eip214Transition": 4370000,
"eip658Transition": 4370000,

也就是說,您聲明轉換和發生轉換的塊。(區塊 4370000 相當於拜占庭硬分叉。)

然後在程式碼中,您可以eipxxx在條件中使用來執行轉換後將更改的程式碼路徑(通過與目前塊編號進行比較)。


回到eip100Transition。首先,我不清楚EIP-100 的程式碼實際上是否已經完成/送出。eip100Transition在 Parity 或 Geth 程式碼庫中的任何地方都沒有使用。

其次,在一個沒有公網硬分叉的私有網路中,不需要包含 EIP 轉換。您可以只定義程式碼的行為方式您希望它的行為方式。另外,我相信將eipxxx條目設置為0將使您的鏈像過渡已經發生一樣工作。(即轉換“發生”在塊 0,因此所有後續塊都在轉換之後考慮。)

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