Schwierigkeit bei Testnet-in-a-Box reduzieren?

Ich mache einige Tests und muss oft schnell 6 Blöcke generieren, um einige TX zu bestätigen. Die Generierung jedes Blocks auf meinem Macbook dauert einige Minuten, sodass dies die Dinge erheblich verlangsamt.

Gibt es eine Möglichkeit den Schwierigkeitsgrad anzupassen? Beachten Sie, dass dies nicht für Testnet im Allgemeinen gilt, sondern für das private Testnet in einer Box mit nur 2 Knoten auf meinem Entwicklungscomputer. Vielen Dank!

Antworten (1)

Wenn Sie diese 2 Zeilen ändern, erhalten Sie, was Sie wollen. Beachten Sie, dass es schnell und schmutzig ist und Nicht-Testnet bricht, also verwenden Sie dies nur für Testnet:

diff --git a/src/main.cpp b/src/main.cpp
index a9311e2..b3496a1 100644
--- a/src/main.cpp
+++ b/src/main.cpp
@@ -780,7 +780,7 @@ int64 static GetBlockValue(int nHeight, int64 nFees)
 }

 static const int64 nTargetTimespan = 14 * 24 * 60 * 60; // two weeks
-static const int64 nTargetSpacing = 10 * 60;
+static const int64 nTargetSpacing = 10;
 static const int64 nInterval = nTargetTimespan / nTargetSpacing;

 //
@@ -1784,7 +1784,7 @@ bool LoadBlockIndex(bool fAllowNew)
     if (fTestNet)
     {
         hashGenesisBlock = uint256("0x00000007199508e34a9ff81e6ec0c477a4cccff2a4767a8eee39c11db367b008");
-        bnProofOfWorkLimit = CBigNum(~uint256(0) >> 28);
+        bnProofOfWorkLimit = CBigNum(~uint256(0) >> 15);
         pchMessageStart[0] = 0xfa;
         pchMessageStart[1] = 0xbf;
         pchMessageStart[2] = 0xb5;

Hier ist eine debug.log-Ausgabe mit diesen Änderungen. Ich erzeuge etwa alle 2 Sekunden einen Block. Wenn das zu schnell ist, erhöhen Sie die ">> 15" entsprechend. Jedes Inkrement dort verdoppelt die Zeit zwischen den Blöcken.

03/05/12 07:21:54 Flushing wallet.dat
Flushed wallet.dat 132ms
askfor block 000000935f454d1641e5   0
sending getdata: block 000000935f454d1641e5
received block 000000935f454d1641e5
SetBestChain: new best=000000935f454d1641e5  height=23  work=559980566
ProcessBlock: ACCEPTED
askfor block 00000c4d375ce8f92166   0
sending getdata: block 00000c4d375ce8f92166
received block 00000c4d375ce8f92166
SetBestChain: new best=00000c4d375ce8f92166  height=24  work=561029143
ProcessBlock: ACCEPTED
askfor block 000007e863a6d86bfb1d   0
sending getdata: block 000007e863a6d86bfb1d
received block 000007e863a6d86bfb1d
SetBestChain: new best=000007e863a6d86bfb1d  height=25  work=562077720
ProcessBlock: ACCEPTED
03/05/12 07:21:59 Flushing wallet.dat
Das ist großartig, danke! Ich nehme an, ich muss Bitcoin danach neu erstellen, vielleicht so bitcoin.stackexchange.com/questions/793/… Ich habe es noch nicht geschafft, aber ich werde es versuchen, danke!
Ja, erstellen Sie Bitcoin neu (oder nur Bitcoin, wenn das alles ist, was Sie in Ihren Tests verwenden), und bewahren Sie es irgendwo getrennt von dem „echten“ Bitcoin auf, das Sie im Nicht-Test-Netzwerk verwenden.
Es funktionierte!! Vielen Dank für Ihre Hilfe, ich weiß das wirklich zu schätzen. Ernsthaft.