<p>Those values are part of the IsSuperMajority soft fork deployment system. This method of deploying soft forks is no longer used in Bitcoin now and have been removed. Those values are for the parameters that will activate a soft fork that uses the IsSuperMajority method; they are not relevant if you don't have any soft forks to deploy.</p>

<p><code>nMajorityEnforceBlockUpgrade</code> is the threshold for enforcing the new consensus rules specified by the soft fork.
<code>nMajorityRejectBlockOutdated</code> is the threshold for rejecting all blocks that don't have the version number specified by the soft fork.
<code>nMajorityWindow</code> is the number of blocks in the window that are being checked.</p>

<p>For example, with the numbers you posted, suppose you are activating a soft fork where miners signal by setting their block version numbers to 2 or greater. If 2 (<code>nMajorityEnforceBlockUpgrade</code>) out of the last 3 (<code>nMajorityWindow</code>) blocks have a version number of 2 or greater, then you begin enforcing the new rules specified by the soft fork (e.g. block height in coinbase). If 3 (<code>nMajorityRejectBlockOutdated</code>) out of the last 3 (<code>nMajorityWindow</code>) blocks are version number 2 or greater, then any block with a version number less than 2 (i.e. 1 or 0) are now invalid and will be rejected.</p>

CC BY-SA 3.0
2017-07-30T21:30:56.940Z
2017-07-30T21:30:56.940Z
Ava Chow
<blockquote>
  <p>what do these values in chainparams.cpp do?</p>
</blockquote>

<p>If <code>nMajorityEnforceBlockUpgrade</code> out of the last <code>nMajorityWindow</code> blocks have signaled support for a softfork, enforce the softfork's rules on the blocks that have signaled support. </p>

<p>If <code>nMajorityRejectBlockOutdated</code> out of the last <code>nMajorityWindow</code> blocks have signaled support for a softfork, mark blocks with an old version as invalid.</p>

<p>These are for <a href="https://github.com/bitcoin/bips/blob/master/bip-0034.mediawiki" rel="nofollow noreferrer">BIP34</a> style softforks.</p>

CC BY-SA 3.0
2017-07-30T21:25:57.367Z
2017-07-30T21:25:57.367Z
Nick ODell
<p>what do these values in chainparams.cpp do?</p>

<pre><code>consensus.nMajorityEnforceBlockUpgrade = 2;
consensus.nMajorityRejectBlockOutdated = 3;
consensus.nMajorityWindow = 3;
</code></pre>

<p>and how do I find them in the existing blockchain when upgrading end for new?</p>

<p>first time I think it's when start diff grow up, but now think it's wrong.</p>

<blockchain><altcoin-development><consensus>
what do these values in chainparams.cpp do?
tseries
# what do these values in chainparams.cpp do?

(Asked by: username_0 on 2017-07-30)

what do these values in chainparams.cpp do?

```
consensus.nMajorityEnforceBlockUpgrade = 2;
consensus.nMajorityRejectBlockOutdated = 3;
consensus.nMajorityWindow = 3;

```

and how do I find them in the existing blockchain when upgrading end for new?

first time I think it's when start diff grow up, but now think it's wrong.

**Tags:** blockchain, altcoin-development, consensus


---

## 2 answers

### Answer by username_1 on 2017-07-30. Score: 0 | Accepted answer

Those values are part of the IsSuperMajority soft fork deployment system. This method of deploying soft forks is no longer used in Bitcoin now and have been removed. Those values are for the parameters that will activate a soft fork that uses the IsSuperMajority method; they are not relevant if you don't have any soft forks to deploy.

`nMajorityEnforceBlockUpgrade` is the threshold for enforcing the new consensus rules specified by the soft fork.
`nMajorityRejectBlockOutdated` is the threshold for rejecting all blocks that don't have the version number specified by the soft fork.
`nMajorityWindow` is the number of blocks in the window that are being checked.

For example, with the numbers you posted, suppose you are activating a soft fork where miners signal by setting their block version numbers to 2 or greater. If 2 (`nMajorityEnforceBlockUpgrade`) out of the last 3 (`nMajorityWindow`) blocks have a version number of 2 or greater, then you begin enforcing the new rules specified by the soft fork (e.g. block height in coinbase). If 3 (`nMajorityRejectBlockOutdated`) out of the last 3 (`nMajorityWindow`) blocks are version number 2 or greater, then any block with a version number less than 2 (i.e. 1 or 0) are now invalid and will be rejected.


---

### Answer by username_2 on 2017-07-30. Score: 0

> what do these values in chainparams.cpp do?

If `nMajorityEnforceBlockUpgrade` out of the last `nMajorityWindow` blocks have signaled support for a softfork, enforce the softfork's rules on the blocks that have signaled support.

If `nMajorityRejectBlockOutdated` out of the last `nMajorityWindow` blocks have signaled support for a softfork, mark blocks with an old version as invalid.

These are for [BIP34](https://github.com/bitcoin/bips/blob/master/bip-0034.mediawiki) style softforks.


---

