@@ -32,15 +32,15 @@ def set_test_params(self):
32
32
33
33
# Create nodes 0 and 1 to mine.
34
34
# Create node 2 to test pruning.
35
- self .full_node_default_args = ["-maxreceivebuffer=20000" ,"-blockmaxsize=999000" , "-checkblocks=5" , "-limitdescendantcount=100" , "-limitdescendantsize=5000" , "-limitancestorcount=100" , "-limitancestorsize=5000" ]
35
+ self .full_node_default_args = ["-dip3params=2000:2000" , "-dip8params=2000" , "- maxreceivebuffer=20000" ,"-blockmaxsize=999000" , "-checkblocks=5" , "-limitdescendantcount=100" , "-limitdescendantsize=5000" , "-limitancestorcount=100" , "-limitancestorsize=5000" ]
36
36
# Create nodes 3 and 4 to test manual pruning (they will be re-started with manual pruning later)
37
37
# Create nodes 5 to test wallet in prune mode, but do not connect
38
38
self .extra_args = [self .full_node_default_args ,
39
39
self .full_node_default_args ,
40
- ["-disablegovernance" ,"-txindex=0" ,"-maxreceivebuffer=20000" ,"-prune=550" ],
41
- ["-disablegovernance" ,"-txindex=0" ,"-maxreceivebuffer=20000" ,"-blockmaxsize=999000" ],
42
- ["-disablegovernance" ,"-txindex=0" ,"-maxreceivebuffer=20000" ,"-blockmaxsize=999000" ],
43
- ["-disablegovernance" ,"-txindex=0" ,"-prune=550" ]]
40
+ ["-dip3params=2000:2000" , "-dip8params=2000" , "- disablegovernance" ,"-txindex=0" ,"-maxreceivebuffer=20000" ,"-prune=550" ],
41
+ ["-dip3params=2000:2000" , "-dip8params=2000" , "- disablegovernance" ,"-txindex=0" ,"-maxreceivebuffer=20000" ,"-blockmaxsize=999000" ],
42
+ ["-dip3params=2000:2000" , "-dip8params=2000" , "- disablegovernance" ,"-txindex=0" ,"-maxreceivebuffer=20000" ,"-blockmaxsize=999000" ],
43
+ ["-dip3params=2000:2000" , "-dip8params=2000" , "- disablegovernance" ,"-txindex=0" ,"-prune=550" ]]
44
44
45
45
def setup_network (self ):
46
46
self .setup_nodes ()
@@ -125,7 +125,7 @@ def reorg_test(self):
125
125
# Reboot node 1 to clear its mempool (hopefully make the invalidate faster)
126
126
# Lower the block max size so we don't keep mining all our big mempool transactions (from disconnected blocks)
127
127
self .stop_node (1 )
128
- self .start_node (1 , extra_args = ["-maxreceivebuffer=20000" ,"-blockmaxsize=5000" , "-checkblocks=5" ])
128
+ self .start_node (1 , extra_args = ["-dip3params=2000:2000" , "-dip8params=2000" , "- maxreceivebuffer=20000" ,"-blockmaxsize=5000" , "-checkblocks=5" ])
129
129
130
130
height = self .nodes [1 ].getblockcount ()
131
131
self .log .info ("Current block height: %d" % height )
@@ -146,12 +146,14 @@ def reorg_test(self):
146
146
assert (self .nodes [1 ].getblockcount () == invalidheight - 1 )
147
147
self .log .info ("New best height: %d" % self .nodes [1 ].getblockcount ())
148
148
149
+ # Mine one block to avoid automatic recovery from forks on restart
150
+ self .nodes [1 ].generate (1 )
149
151
# Reboot node1 to clear those giant tx's from mempool
150
152
self .stop_node (1 )
151
- self .start_node (1 , extra_args = ["-maxreceivebuffer=20000" ,"-blockmaxsize=5000" , "-checkblocks=5" ])
153
+ self .start_node (1 , extra_args = ["-dip3params=2000:2000" , "-dip8params=2000" , "- maxreceivebuffer=20000" ,"-blockmaxsize=5000" , "-checkblocks=5" ])
152
154
153
155
self .log .info ("Generating new longer chain of 300 more blocks" )
154
- self .nodes [1 ].generate (300 )
156
+ self .nodes [1 ].generate (299 )
155
157
156
158
self .log .info ("Reconnect nodes" )
157
159
connect_nodes (self .nodes [0 ], 1 )
@@ -223,14 +225,14 @@ def reorg_back(self):
223
225
224
226
def manual_test (self , node_number , use_timestamp ):
225
227
# at this point, node has 995 blocks and has not yet run in prune mode
226
- self .start_node (node_number , extra_args = ["-disablegovernance" , "-txindex=0" ])
228
+ self .start_node (node_number , extra_args = ["-dip3params=2000:2000" , "-dip8params=2000" , "- disablegovernance" , "-txindex=0" ])
227
229
node = self .nodes [node_number ]
228
230
assert_equal (node .getblockcount (), 995 )
229
231
assert_raises_rpc_error (- 1 , "not in prune mode" , node .pruneblockchain , 500 )
230
232
231
233
# now re-start in manual pruning mode
232
234
self .stop_node (node_number )
233
- self .start_node (node_number , extra_args = ["-disablegovernance" , "-txindex=0" , "-prune=1" ])
235
+ self .start_node (node_number , extra_args = ["-dip3params=2000:2000" , "-dip8params=2000" , "- disablegovernance" , "-txindex=0" , "-prune=1" ])
234
236
node = self .nodes [node_number ]
235
237
assert_equal (node .getblockcount (), 995 )
236
238
@@ -312,15 +314,15 @@ def has_block(index):
312
314
313
315
# stop node, start back up with auto-prune at 550MB, make sure still runs
314
316
self .stop_node (node_number )
315
- self .start_node (node_number , extra_args = ["-disablegovernance" , "-txindex=0" , "-prune=550" ])
317
+ self .start_node (node_number , extra_args = ["-dip3params=2000:2000" , "-dip8params=2000" , "- disablegovernance" , "-txindex=0" , "-prune=550" ])
316
318
317
319
self .log .info ("Success" )
318
320
319
321
def wallet_test (self ):
320
322
# check that the pruning node's wallet is still in good shape
321
323
self .log .info ("Stop and start pruning node to trigger wallet rescan" )
322
324
self .stop_node (2 )
323
- self .start_node (2 , extra_args = ["-disablegovernance" , "-txindex=0" , "-prune=550" ])
325
+ self .start_node (2 , extra_args = ["-dip3params=2000:2000" , "-dip8params=2000" , "- disablegovernance" , "-txindex=0" , "-prune=550" ])
324
326
self .log .info ("Success" )
325
327
326
328
# check that wallet loads successfully when restarting a pruned node after IBD.
@@ -330,7 +332,7 @@ def wallet_test(self):
330
332
nds = [self .nodes [0 ], self .nodes [5 ]]
331
333
self .sync_blocks (nds , wait = 5 , timeout = 300 )
332
334
self .stop_node (5 ) #stop and start to trigger rescan
333
- self .start_node (5 , extra_args = ["-disablegovernance" , "-txindex=0" , "-prune=550" ])
335
+ self .start_node (5 , extra_args = ["-dip3params=2000:2000" , "-dip8params=2000" , "- disablegovernance" , "-txindex=0" , "-prune=550" ])
334
336
self .log .info ("Success" )
335
337
336
338
def run_test (self ):
0 commit comments