Blockchain
chainparams.cpp 中的這些值有什麼作用?
chainparams.cpp 中的這些值有什麼作用?
consensus.nMajorityEnforceBlockUpgrade = 2; consensus.nMajorityRejectBlockOutdated = 3; consensus.nMajorityWindow = 3;
以及在升級新端時如何在現有區塊鏈中找到它們?
第一次我認為這是開始 diff 長大的時候,但現在認為這是錯誤的。
這些值是 IsSuperMajority 軟分叉部署系統的一部分。這種部署軟分叉的方法現在不再在比特幣中使用,並且已被刪除。這些值用於啟動使用 IsSuperMajority 方法的軟分叉的參數;如果您沒有要部署的任何軟分叉,則它們無關緊要。
nMajorityEnforceBlockUpgrade
是執行軟分叉指定的新共識規則的門檻值。nMajorityRejectBlockOutdated
是拒絕所有沒有軟分叉指定版本號的塊的門檻值。nMajorityWindow
是視窗中正在檢查的塊數。例如,使用您發布的數字,假設您正在啟動一個軟分叉,礦工通過將區塊版本號設置為 2 或更大來發出信號。如果
nMajorityEnforceBlockUpgrade
最後 3 (nMajorityWindow
) 個塊中的 2 ( ) 個版本號為 2 或更高,則您開始執行軟分叉指定的新規則(例如 coinbase 中的塊高度)。如果nMajorityRejectBlockOutdated
最後 3 (nMajorityWindow
) 個塊中的 3 ( ) 個是版本號 2 或更高版本,則版本號小於 2(即 1 或 0)的任何塊現在都無效並且將被拒絕。