running live and test node simultaneously

3

it took me 4 days to fully synchronize my node, but its finally running and i can create wallets etc..

I wanted to experiment with some transactions on testnet, so need to either change my config or create a separate instance.

But I don't want to lose my synchronized live node, so what's the best strategy to switch to testnet while still being able to switch back?

# [core]
datadir=/mnt/volume-nyc1-03/Bitcoin
dbcache=2000
txindex=1

# [rpc]
# Accept command line and JSON-RPC commands.
server=1
# Username for JSON-RPC connections
rpcuser=bitcoin
# Password for JSON-RPC connections
rpcpassword=sayblockchainonemoretime
rpcport=8332
rpcallowip=x.x.x.x/x (ip masked) 
# [wallet]
# Do not load the wallet and disable wallet RPC calls.
disablewallet=0

Sonic Soul

Posted 2018-08-25T13:41:16.090

Reputation: 141

Answers

6

You can run both at the same time:

$ bitcoind -daemon
$ bitcoind -testnet -daemon

Then you can issue commands on either using:

$ bitcoin-cli <commmand>

or

$ bitcoin-cli -testnet <command>

The blockchains are stored in ./bitcoin/blocks for mainnet and /bitcoin/testnet3/blocks for testnet.

Update: With the bitcoin.conf updated in the question remove rpcport=8332, so it doesn't try to use the same port for mainnet and testnet RPC.

Update 2: With 0.17 release, it is now possible for a single configuration file to set different options for different networks in bitcoin.conf:

main.uacomment=bitcoin
test.uacomment=bitcoin-testnet
regtest.uacomment=regtest

For more information, see the 0.17.0 Release Notes

JBaczuk

Posted 2018-08-25T13:41:16.090

Reputation: 6 172

$ bitcoin-cli getblockcount: 538439Sonic Soul 2018-08-25T21:02:50.007

$ bitcoin-cli -testnet getblockcount: 538439Sonic Soul 2018-08-25T21:03:26.477

looks like its going against mainSonic Soul 2018-08-25T21:03:59.453

hmm i do see the testnet3 folder under bitcoin now ..Sonic Soul 2018-08-25T21:13:36.047

Hmm. might be an issue with your bitcoin.confJBaczuk 2018-08-25T21:23:14.040

seeing this in debug.log 2018-08-25 21:08:24 Using 16 MiB out of 32/2 requested for script execution cache, able to store 524288 elements 2018-08-25 21:08:24 Using 2 threads for script verification 2018-08-25 21:08:24 scheduler thread start 2018-08-25 21:08:24 Binding RPC on address :: port 8332 failed. 2018-08-25 21:08:24 Binding RPC on address 0.0.0.0 port 8332 failed. 2018-08-25 21:08:24 Unable to bind any endpoint for RPC server 2018-08-25 21:08:24 Error: Unable to start HTTP server. See debug log for details.Sonic Soul 2018-08-25T21:29:30.963

You might want to restart the daemons using $bitcoin-cli stop and $bitcoin-cli -testnet stop and then start again.JBaczuk 2018-08-25T21:38:49.230

hmm tried that but keep seeing Binding RPC on address 0.0.0.0 port 8332 failed.Sonic Soul 2018-08-26T13:38:18.200

Is something using that port?JBaczuk 2018-08-26T14:51:52.290

so i set testnet=1 in bitcoin.conf which seems to work but now the main node is only running test i think. not sure if i can run both at the same timeSonic Soul 2018-08-26T15:08:48.687

1Clear that line. If you only put the flag in the command line you can run both.JBaczuk 2018-08-26T15:26:59.037

thanks! good to know :) for some reason w/out the line testnet wasn't working for me though.. keep getting that error in debug.logSonic Soul 2018-08-26T15:59:28.713

Is it still not working? Would be helpful to post bitcoin.confJBaczuk 2018-08-26T16:34:04.017

Let us continue this discussion in chat.

Sonic Soul 2018-08-26T21:30:48.473

0

Run bitcoin.exe with conf and datadir params And set the configuration file with testnet=1

Haddar Macdasi

Posted 2018-08-25T13:41:16.090

Reputation: 845

i saw the config and am aware of these settings. but not sure how to ensure that my live blockchain stays untouchedSonic Soul 2018-08-25T14:19:15.363

By default the two networks will operate in different directories.Pieter Wuille 2018-08-25T16:58:06.290