4

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
  • 171
  • 1
  • 9

2 Answers2

9

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
  • 7,278
  • 1
  • 11
  • 32
  • $ bitcoin-cli getblockcount: 538439 – Sonic Soul Aug 25 '18 at 21:02
  • $ bitcoin-cli -testnet getblockcount: 538439 – Sonic Soul Aug 25 '18 at 21:03
  • looks like its going against main – Sonic Soul Aug 25 '18 at 21:03
  • hmm i do see the testnet3 folder under bitcoin now .. – Sonic Soul Aug 25 '18 at 21:13
  • Hmm. might be an issue with your `bitcoin.conf` – JBaczuk Aug 25 '18 at 21:23
  • 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 Aug 25 '18 at 21:29
  • You might want to restart the daemons using `$bitcoin-cli stop` and `$bitcoin-cli -testnet stop` and then start again. – JBaczuk Aug 25 '18 at 21:38
  • hmm tried that but keep seeing *Binding RPC on address 0.0.0.0 port 8332 failed.* – Sonic Soul Aug 26 '18 at 13:38
  • Is something using that port? – JBaczuk Aug 26 '18 at 14:51
  • 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 time – Sonic Soul Aug 26 '18 at 15:08
  • 1
    Clear that line. If you only put the flag in the command line you can run both. – JBaczuk Aug 26 '18 at 15:26
  • thanks! good to know :) for some reason w/out the line testnet wasn't working for me though.. keep getting that error in debug.log – Sonic Soul Aug 26 '18 at 15:59
  • Is it still not working? Would be helpful to post bitcoin.conf – JBaczuk Aug 26 '18 at 16:34
  • Let us [continue this discussion in chat](https://chat.stackexchange.com/rooms/82279/discussion-between-sonic-soul-and-jbaczuk). – Sonic Soul Aug 26 '18 at 21:30
0

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

Haddar Macdasi
  • 978
  • 1
  • 14
  • 22