Author

Topic: question about parameter's chainparas.cpp (Read 449 times)

full member
Activity: 615
Merit: 154
CEO of Metaisland.gg and W.O.K Corp
March 21, 2019, 05:21:48 AM
#3
This is the mask for the minimum difficulty, at starting your coin might need FFFFFfffffffffffffffffffffffffffffffffffffffffffffffffffffffffff to allow mining at difficulty 1
Code:
   consensus.powLimit = uint256S("00000fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff"); 

This is the window allowed for a consensus to be installed. In order to give the time to the blockchain to spreadthe new consensus rule to all nodes, there is a window in term of blocs so that it is done progressively.
Code:
consensus.nRuleChangeActivationThreshold = 6048;

All the consensus are related to the forks specific to bitcoin. You don't need to change anything here, if you do your coin will probably fail to mine or transactions will be rejected.

This is the total work minimum for the blockchain. It is calculated by adding all the transaction work. If you are starting a new coin keep to low, (use the difficulty of your genesis-1) so that you can mine, otherwise mining will fail.
Code:
consensus.nMinimumChainWork 

This is typical to Bitcoin, your altcoin does not need it, so you can keep it that way.
Code:
consensus.defaultAssumeValid

Code:
        consensus.powLimit = uint256S("00000fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff"); 
        consensus.nRuleChangeActivationThreshold = 6048; // 75% of 8064
        consensus.nMinerConfirmationWindow = 8064; // nPowTargetTimespan / nPowTargetSpacing * 4
        consensus.vDeployments[Consensus::DEPLOYMENT_TESTDUMMY].bit = 28;
        consensus.vDeployments[Consensus::DEPLOYMENT_TESTDUMMY].nStartTime = 1199145601; // January 1, 2008
        consensus.vDeployments[Consensus::DEPLOYMENT_TESTDUMMY].nTimeout = 1230767999; // December 31, 2008

        // Deployment of BIP68, BIP112, and BIP113.
        consensus.vDeployments[Consensus::DEPLOYMENT_CSV].bit = 0;
        consensus.vDeployments[Consensus::DEPLOYMENT_CSV].nStartTime = 1485561600; // January 28, 2017
        consensus.vDeployments[Consensus::DEPLOYMENT_CSV].nTimeout = 1517356801; // January 31st, 2018

        // Deployment of SegWit (BIP141, BIP143, and BIP147)
        consensus.vDeployments[Consensus::DEPLOYMENT_SEGWIT].bit = 1;
        consensus.vDeployments[Consensus::DEPLOYMENT_SEGWIT].nStartTime = 1485561600; // January 28, 2017
        consensus.vDeployments[Consensus::DEPLOYMENT_SEGWIT].nTimeout = 1517356801; // January 31st, 2018

        // The best chain should have at least this much work.
        consensus.nMinimumChainWork = uint256S("0x000000000000000000000000000000000000000000000006805c7318ce2736c0");

        // By default assume that the signatures in ancestors of this block are valid.
        consensus.defaultAssumeValid = uint256S("0x1673fa904a93848eca83d5ca82c7af974511a7e640e22edc2976420744f2e56a"); //1155631


What do these parameters and what put in there. I try find any info about this parameter's but dint find.
I update the altcoin from old sources to new, but stuck on this segwit params.


staff
Activity: 3458
Merit: 6793
Just writing some code
August 19, 2017, 02:19:31 AM
#2
Those parameters are for deploying soft forks in Bitcoin. If your altcoin does not plan on deploying soft forks or these soft forks specifically, then you don't need those parameters. However removing those parameters means that you will need to change a lot of other code to not be checking for whether those forks are active or not.
newbie
Activity: 14
Merit: 0
Code:
        consensus.powLimit = uint256S("00000fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff"); 
        consensus.nRuleChangeActivationThreshold = 6048; // 75% of 8064
        consensus.nMinerConfirmationWindow = 8064; // nPowTargetTimespan / nPowTargetSpacing * 4
        consensus.vDeployments[Consensus::DEPLOYMENT_TESTDUMMY].bit = 28;
        consensus.vDeployments[Consensus::DEPLOYMENT_TESTDUMMY].nStartTime = 1199145601; // January 1, 2008
        consensus.vDeployments[Consensus::DEPLOYMENT_TESTDUMMY].nTimeout = 1230767999; // December 31, 2008

        // Deployment of BIP68, BIP112, and BIP113.
        consensus.vDeployments[Consensus::DEPLOYMENT_CSV].bit = 0;
        consensus.vDeployments[Consensus::DEPLOYMENT_CSV].nStartTime = 1485561600; // January 28, 2017
        consensus.vDeployments[Consensus::DEPLOYMENT_CSV].nTimeout = 1517356801; // January 31st, 2018

        // Deployment of SegWit (BIP141, BIP143, and BIP147)
        consensus.vDeployments[Consensus::DEPLOYMENT_SEGWIT].bit = 1;
        consensus.vDeployments[Consensus::DEPLOYMENT_SEGWIT].nStartTime = 1485561600; // January 28, 2017
        consensus.vDeployments[Consensus::DEPLOYMENT_SEGWIT].nTimeout = 1517356801; // January 31st, 2018

        // The best chain should have at least this much work.
        consensus.nMinimumChainWork = uint256S("0x000000000000000000000000000000000000000000000006805c7318ce2736c0");

        // By default assume that the signatures in ancestors of this block are valid.
        consensus.defaultAssumeValid = uint256S("0x1673fa904a93848eca83d5ca82c7af974511a7e640e22edc2976420744f2e56a"); //1155631


What do these parameters and what put in there. I try find any info about this parameter's but dint find.
I update the altcoin from old sources to new, but stuck on this segwit params.

Jump to: