How are Bitcoin Core GUI nodes properly connected and disconnected in regtest mode?

0

1

I'm trying to set up a private Bitcoin network using Bitcoin Core in regtest mode. However, there are two problems:

  1. the port reported by the Bitcoin Core GUI doesn't match the one the node is running at; and
  2. when a peer is disconnected (or even banned) it re-connects automatically.

Here's what I did. I create two folders, alice and bob. I then launch the GUI from the OSX Terminal:

# start Alice node
$ open -n /Applications/Bitcoin-Qt.app --args -regtest -datadir=/Users/{username}/Desktop/alice/ -port=18444

# start Bob node
$ open -n /Applications/Bitcoin-Qt.app --args -regtest -datadir=/Users/{username}/Desktop/bob/ -port=18445

From Alice's Console, I do:

addnode 127.0.0.1:18445 add

This creates a connection to both nodes.

I want to disconnect both nodes from each other.

From Alice's Console, I use:

addnode 127.0.0.1:18445 remove

On Alice's node, the peer is:

127.0.0.1:18445

However, on Bob's node, the peer is

127.0.0.1:57594

but I expect it to be:

127.0.0.1:18444

I try to remove Bob's node from Alice with:

addnode 127.0.0.1:18445 remove

Console returns null but doesn't remove the node.

When I try this from Alice's node:

addnode 127.0.0.1:57549 remove

I get Error: Node has not been added. (code -24)

I then try to disconnect Bob's node from Alice's node using the the Peers tab. Right click on peer (Bob) and choose disconnect.

The node is disconnected for about 45 seconds, then reconnects.

To summarize, I have two questions:

  1. Why doesn't the port number on Bob's node match the port number I gave it?
  2. How can I keep regtest nodes permanently disconnected for arbitrary periods of time and then reconnect them?

Rich Apodaca

Posted 2017-12-14T01:44:44.647

Reputation: 1 896

Answers

2

I want to disconnect both nodes from each other.

From Alice's Console, I use:

addnode 127.0.0.1:18445 remove

This is incorrect. This command will only remove Bob's node from the list of addnode'd peers. The correct command to actually disconnect Bob's node is

disconnectnode "127.0.0.1:18445"

On Alice's node, the peer is:

127.0.0.1:18445

However, on Bob's node, the peer is

127.0.0.1:57594

but I expect it to be:

127.0.0.1:18444

Outbound connections are not made from the P2P port. Rather a random high numbered port is chosen to bind to and the outbound connection is made from there. IIRC this is done by the kernel and not the software itself. This behavior is standard for most software that make outbound connections.

I then try to disconnect Bob's node from Alice's node using the the Peers tab. Right click on peer (Bob) and choose disconnect.

The node is disconnected for about 45 seconds, then reconnects.

A connection is still being made because you did not remove the other node from both nodes (i.e. one node still has the other one in its peers database).

The proper way to do this would be to use the onetry option as that means that the node is not actually added to the peers database but rather tried once. To disconnect, you should be using the disconnectnode command.

Andrew Chow

Posted 2017-12-14T01:44:44.647

Reputation: 40 910

0.15.1 has no disconnectpeer command. It does have a disconnectnode command. Using it, together with the onetry option for connecting did the trick.Rich Apodaca 2017-12-26T00:00:49.173

Oh that's a mistake, I meant to write disconnectnode.Andrew Chow 2017-12-26T02:36:48.827

0

Well I think a big problem might be in the lack of detail:

addnode 127.0.0;1:18445 add

Try 127.0.0.1:18445 instead you have a semicolon before the last 1.

Also have you tried editing this in bitcoin.conf? Try adding the nodes in conf.

Ethan

Posted 2017-12-14T01:44:44.647

Reputation: 1

Edited typo in post. No I have not tried adding nodes in bitcoin.conf. Why would doing so change the outcome?Rich Apodaca 2017-12-14T15:48:09.510

Also added nodes in bitcoin.conf using both addnode and connect. No difference in behavior.Rich Apodaca 2017-12-18T02:06:19.220

0

https://github.com/bitcoin/bitcoin/issues/6901

I found this issue, could be helpful if you are not being able to remove address what about "setban {bob's ip} add {bantime}"

Niroj Shr

Posted 2017-12-14T01:44:44.647

Reputation: 1

I also found that issue. It was helpful in that it shows how to disconnect/ban through the GUI. However, the peer always reconnects when I do so.Rich Apodaca 2017-12-19T19:49:38.653

since thats a regtest, you can delete the alice and bob node and recreate againNiroj Shr 2017-12-20T04:49:46.447