Bitcoin Forum

Bitcoin => Bitcoin Technical Support => Topic started by: Prepper33 on January 06, 2024, 01:42:38 PM



Title: Noobie -- Inbound connections? -- Am I running a full node
Post by: Prepper33 on January 06, 2024, 01:42:38 PM
Noobie here ....

I am trying to setup a full bitcoin node, but am not certain it is working 100%. Some background info:
- running v25.0
- the Network Traffic window shows growing totals of "Received" and "Sent"
- in the Peers window, there are 10 peers each showing the "Direction" as Outbound (no Inbound)
- in the Information window, under "Number of connections":  10(In:0 / Out: 10)
One of the online documents indicates that there should be at least one (1) inbound connection.

Am I running a full node?


Side question: The online documents I've found so far are outdated and difficult to follow. Suggestions?



Title: Re: Noobie -- Inbound connections? -- Am I running a full node
Post by: As03 on January 06, 2024, 01:49:13 PM
Hello Prepper33,

you can follow this guide :

https://bitcoin.org/en/full-node#port-forwarding



Title: Re: Noobie -- Inbound connections? -- Am I running a full node
Post by: satscraper on January 06, 2024, 03:08:52 PM
Noobie here ....

I am trying to setup a full bitcoin node, but am not certain it is working 100%. Some background info:
- running v25.0
- the Network Traffic window shows growing totals of "Received" and "Sent"
- in the Peers window, there are 10 peers each showing the "Direction" as Outbound (no Inbound)
- in the Information window, under "Number of connections":  10(In:0 / Out: 10)
One of the online documents indicates that there should be at least one (1) inbound connection.

Am I running a full node?


Side question: The online documents I've found so far are outdated and difficult to follow. Suggestions?



Strictly speaking the full node  is a node that allows incoming connection on port 8333. In your case this port seems to be closed. Thus open it via relevant  firewall rule if you really want to run the full node.

 Bear in mind that even having this port closed your node is  still capable to receive&validate  blocks and transactions.

Do you really need  your node to be regarded as full?

P.S. Mine is not full, port 8333 is closed on my machine, however, my bitcoins don’t suffer from it.



Title: Re: Noobie -- Inbound connections? -- Am I running a full node
Post by: BlackHatCoiner on January 06, 2024, 07:56:12 PM
Am I running a full node?
You should be downloading blocks, yes. Do you use Bitcoin-QT (the GUI of Bitcoin Core) or bitcoind (the daemon)? If it's the former, does it seem like synchronizing? If it's the latter, does the terminal contain progress, cache, UpdateTip, new best etc.?

Strictly speaking the full node  is a node that allows incoming connection on port 8333.
"Full" refers to verification, and both incoming accepting and outgoing only nodes verify everything. Nodes that allow incoming connections are just more helpful in terms of bandwidth.


Title: Re: Noobie -- Inbound connections? -- Am I running a full node
Post by: khaled0111 on January 06, 2024, 10:50:44 PM
According to the definition on bitcoin.org (https://bitcoin.org/en/full-node), you're running a full node as long as it validates every block and transaction it downloads (need to download the whole blockchain) even if it doesn't accept inbound connections.
A full node is a program that fully validates transactions and blocks.

As BlackHatCoiner pointed out, disallowing inbound connections can be helpful in case you have a limited bandwidth. However, you won't be really helping the network and your node serves more as a wallet than a network node.
By allowing inbound connections, your node will be able to relay validated blocks and transactions to the other nodes and/or spv wallets which are connected to it.


Title: Re: Noobie -- Inbound connections? -- Am I running a full node
Post by: nc50lc on January 07, 2024, 08:47:08 AM
- in the Peers window, there are 10 peers each showing the "Direction" as Outbound (no Inbound)
- in the Information window, under "Number of connections":  10(In:0 / Out: 10)
These are pointing to the same information.
As the name implies, it's just the direction in which your node found those peers, 10 outbound means that your node is the one initiated the connection.
You can think of those as peers that "you found".

Inbound on the other hand, are peers that "found you".
Since you have no inbound connections, other nodes cannot initiate connections to your node due to it being undiscoverable.
However, that doesn't mean that you not connected to the Bitcoin Network, you've got 10 peers still.

Follow the guide in the first reply or enable UPnP in both your router and Bitcoin Core settings to be able to open the necessary port.
The latter is less secure for your network.

Am I running a full node?
After Initial Block Download (IBD), yes.


Title: Re: Noobie -- Inbound connections? -- Am I running a full node
Post by: satscraper on January 07, 2024, 08:55:07 AM
Strictly speaking the full node  is a node that allows incoming connection on port 8333.
"Full" refers to verification,

According to the definition on bitcoin.org (https://bitcoin.org/en/full-node),

That is loose rather than strict  interpretation.

"Full" ( in strict definition)   refers to node which is able to perform all assigned duties including relay. Thus, node with port 8333 closed can not be  regarded as "full". Closing this port on all available nodes would result in    network halting.


Title: Re: Noobie -- Inbound connections? -- Am I running a full node
Post by: o_e_l_e_o on January 07, 2024, 10:34:10 AM
Literally the only difference between an inbound and an outbound connection is which node initiated it. Once the connection is made, they function identically.

By allowing inbound connections, your node will be able to relay validated blocks and transactions to the other nodes and/or spv wallets which are connected to it.
His node will still relay all transactions and blocks to the nodes he initiated an outbound connection with.


Title: Re: Noobie -- Inbound connections? -- Am I running a full node
Post by: BlackHatCoiner on January 07, 2024, 11:17:36 AM
"Full" ( in strict definition)   refers to node which is able to perform all assigned duties including relay.
Full nodes make a full verification against consensus rules. Pruned nodes, for example, are full nodes. I don't know where you've got this "strict" definition. I use the bitcoin wiki (https://en.bitcoin.it/wiki/Full_node).

Also, non-incoming accepting full nodes do relay everything normally.

Literally the only difference between an inbound and an outbound connection is which node initiated it. Once the connection is made, they function identically.
Another difference is that by allowing incoming connections, you get to establish up to 125 connections (https://github.com/bitcoin/bitcoin/blob/master/doc/reduce-traffic.md) by default, whereas with listen=0, up to 11.


Title: Re: Noobie -- Inbound connections? -- Am I running a full node
Post by: satscraper on January 08, 2024, 04:47:57 AM
Pruned nodes, for example, are full nodes.


Definitely yes if pruned node doesn't prevent  both incoming and outgoing connections.   Pruning has to do solely to blockchain storage technique used by node.


I don't know where you've got this "strict" definition.


I’ve come across this definition somewhere, and it seems to me be a logical one. If I find a link, I’ll share.


Title: Re: Noobie -- Inbound connections? -- Am I running a full node
Post by: ABCbits on January 17, 2024, 11:50:32 AM
Am I running a full node?
You should be downloading blocks, yes. Do you use Bitcoin-QT (the GUI of Bitcoin Core) or bitcoind (the daemon)? If it's the former, does it seem like synchronizing? If it's the latter, does the terminal contain progress, cache, UpdateTip, new best etc.?

Strictly speaking the full node  is a node that allows incoming connection on port 8333.
"Full" refers to verification, and both incoming accepting and outgoing only nodes verify everything. Nodes that allow incoming connections are just more helpful in terms of bandwidth.

In addition, it doesn't have to be port 8333. And talking about firewall, OP should also check firewall on their router and configure port forwarding on the router if needed.

Literally the only difference between an inbound and an outbound connection is which node initiated it. Once the connection is made, they function identically.
Another difference is that by allowing incoming connections, you get to establish up to 125 connections (https://github.com/bitcoin/bitcoin/blob/master/doc/reduce-traffic.md) by default, whereas with listen=0, up to 11.

It should be 10, not 11.


Title: Re: Noobie -- Inbound connections? -- Am I running a full node
Post by: nc50lc on January 18, 2024, 06:09:53 AM
BlackHatCoiner is correct, 11 is the maximum possible outbound peers.

Here's Bitcoin's current "net.h": github.com/bitcoin/bitcoin/blob/master/src/net.h (https://github.com/bitcoin/bitcoin/blob/3d52cedb497e0ec029ba3cef95b00169c157d8ae/src/net.h#L71-L78)
The lines MAX_OUTBOUND_FULL_RELAY_CONNECTIONS, MAX_BLOCK_RELAY_ONLY_CONNECTIONS and MAX_FEELER_CONNECTIONS all count toward the maximum outbound connections.


Title: Re: Noobie -- Inbound connections? -- Am I running a full node
Post by: ABCbits on January 18, 2024, 10:09:13 AM
BlackHatCoiner is correct, 11 is the maximum possible outbound peers.

Here's Bitcoin's current "net.h": github.com/bitcoin/bitcoin/blob/master/src/net.h (https://github.com/bitcoin/bitcoin/blob/3d52cedb497e0ec029ba3cef95b00169c157d8ae/src/net.h#L71-L78)
The lines MAX_OUTBOUND_FULL_RELAY_CONNECTIONS, MAX_BLOCK_RELAY_ONLY_CONNECTIONS and MAX_FEELER_CONNECTIONS all count toward the maximum outbound connections.

Thanks for the correction with source code reference, i totally forget about feeler connection. Although FWIW it's primarily used not to relay TX/block[1].

[1] https://bitcoin.stackexchange.com/a/112248 (https://bitcoin.stackexchange.com/a/112248)