(config_path, *, n, chain, extra_config="", disable_autoconnect=True)
| 378 | |
| 379 | |
| 380 | def write_config(config_path, *, n, chain, extra_config="", disable_autoconnect=True): |
| 381 | # Translate chain subdirectory name to config name |
| 382 | if chain == 'testnet3': |
| 383 | chain_name_conf_arg = 'testnet' |
| 384 | chain_name_conf_section = 'test' |
| 385 | else: |
| 386 | chain_name_conf_arg = chain |
| 387 | chain_name_conf_section = chain |
| 388 | with open(config_path, 'w', encoding='utf8') as f: |
| 389 | if chain_name_conf_arg: |
| 390 | f.write("chain={}\n".format(chain_name_conf_arg)) |
| 391 | if chain_name_conf_section: |
| 392 | f.write("[{}]\n".format(chain_name_conf_section)) |
| 393 | f.write("port=" + str(p2p_port(n)) + "\n") |
| 394 | f.write("rpcport=" + str(rpc_port(n)) + "\n") |
| 395 | f.write("fallbackfee=0.0002\n") |
| 396 | f.write("server=1\n") |
| 397 | f.write("keypool=1\n") |
| 398 | f.write("discover=0\n") |
| 399 | f.write("dnsseed=0\n") |
| 400 | f.write("fixedseeds=0\n") |
| 401 | f.write("listenonion=0\n") |
| 402 | # Increase peertimeout to avoid disconnects while using mocktime. |
| 403 | # peertimeout is measured in mock time, so setting it large enough to |
| 404 | # cover any duration in mock time is sufficient. It can be overridden |
| 405 | # in tests. |
| 406 | f.write("peertimeout=999999999\n") |
| 407 | f.write("printtoconsole=0\n") |
| 408 | f.write("upnp=0\n") |
| 409 | f.write("natpmp=0\n") |
| 410 | f.write("shrinkdebugfile=0\n") |
| 411 | # To improve SQLite wallet performance so that the tests don't timeout, use -unsafesqlitesync |
| 412 | f.write("unsafesqlitesync=1\n") |
| 413 | # Elements: |
| 414 | f.write("validatepegin=0\n") |
| 415 | f.write("con_parent_pegged_asset=" + BITCOIN_ASSET + "\n") |
| 416 | f.write("con_blocksubsidy=5000000000\n") |
| 417 | f.write("con_connect_genesis_outputs=0\n") |
| 418 | f.write("anyonecanspendaremine=0\n") |
| 419 | f.write("walletrbf=0\n") # Default is 1 in Elements |
| 420 | f.write("con_bip34height=1\n") |
| 421 | f.write("con_bip65height=1\n") |
| 422 | f.write("con_bip66height=1\n") |
| 423 | f.write("blindedaddresses=0\n") # Set to minimize broken tests in favor of custom |
| 424 | f.write("evbparams=dynafed:"+str(2**31)+":::\n") # Never starts unless overridden |
| 425 | f.write("minrelaytxfee=0.00001\n") |
| 426 | #f.write("pubkeyprefix=111\n") |
| 427 | #f.write("scriptprefix=196\n") |
| 428 | #f.write("bech32_hrp=bcrt\n") |
| 429 | if disable_autoconnect: |
| 430 | f.write("connect=0\n") |
| 431 | f.write(extra_config) |
| 432 | |
| 433 | |
| 434 | def append_config(datadir, options): |
no test coverage detected