Neue Parameter von chainparams.cpp. Was tragen sie auf und wie erzeugen sie?

Was machen diese Parameter und was ist dort einzufügen

        uint256S("00000fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff"); //what this do ? end what put to here

        consensus.nRuleChangeActivationThreshold = 6048; // 75% of 8064 //what this do end what put ?
        consensus.nMinerConfirmationWindow = 8064; // nPowTargetTimespan / nPowTargetSpacing * 4  //what this do ?
        consensus.vDeployments[Consensus::DEPLOYMENT_TESTDUMMY].bit = 28; //what this setting's do ? 
        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"); //what this do end what put here ?

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

        nPruneAfterHeight = 100000;  //what this do ?

Ich muss die vorhandene Münze in eine neue Brieftasche umkonfigurieren, bin aber bei diesen Parametern hängen geblieben.

Für alle, die eine Frage ablehnen, ich versuche, über diese Param-Info zu finden, finde aber nichts, oder stimmen Sie einfach ab, was Sie nicht verstehen?

Ich verstehe, dass es Zeit für Start und Ende ist. Aber wie es funktioniert.

Antworten (1)

uint256S("00000fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff"); //what this do ? end what put to here

Die erste Zeile beschreibt eine Mindestschwierigkeit.

consensus.nRuleChangeActivationThreshold = 6048; // 75% of 8064 //what this do end what put ?
consensus.nMinerConfirmationWindow = 8064; // nPowTargetTimespan / nPowTargetSpacing * 4  //what this do ?

Die nächsten beiden Zeilen besagen, dass Regeländerungen eine Zustimmung von 75 % erfordern, gemessen über 4 Retargeting-Perioden.

consensus.vDeployments[Consensus::DEPLOYMENT_TESTDUMMY].bit = 28; //what this setting's do ? 
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

Die nächsten elf Zeilen beschreiben die Mindest- und Höchstzeiten, die drei Softforks aktivieren können, und wie sie mithilfe von Versionsbits signalisiert werden sollen.

// The best chain should have at least this much work.
consensus.nMinimumChainWork = uint256S("0x000000000000000000000000000000000000000000000006805c7318ce2736c0"); //what this do end what put here ?

Die nächsten beiden Zeilen geben die Mindestmenge an Kettenarbeit an, die ein Client haben muss, bevor er sich als synchronisiert betrachtet.

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

Die nächsten beiden Zeilen deaktivieren Signaturprüfungen für Blöcke, die Vorfahren des Blocks sind, der durch diesen Block-Hash angegeben ist.

nPruneAfterHeight = 100000;  //what this do ?

Die nächsten beiden Zeilen deaktivieren das Block-Pruning für Blöcke unterhalb einer bestimmten Höhe. Bei Bitcoin liegt das daran, dass die meisten Anfangsblöcke leer sind. Dies ist in diesem Commit dokumentiert .

ungefähr 2, wie ich es verstehe, ist es im Zeitblock * 4, aber es ist auf Minute oder Sekunde, wenn ich eine Blockzeit von 2 Minuten habe. Konsens.nPowTargetTimespan = 10 * 60; // 10 Minuten Konsens.nPowTargetSpacing = 5 * 60; //5 Minute muss ich die 8 setzen oder wie berechne ich diesen Parameter richtig
@tseries Weder noch, es wird in Blöcken ausgedrückt.
Das verstehe ich, aber wenn ich diese Regel verwende, habe ich 8 Sekunden, ich denke, es ist zu niedrig. Ob dieser Wert für diese Parameter beansprucht wird oder es kann ein beliebiger Wert sein.
@tseries Wenn Sie diesen Wert verringern, wird eine Regeländerung schneller aktiviert. Wenn Sie ihn erhöhen, wird eine Regeländerung langsamer aktiviert.