A bitcoin node have two most important forms of interactions with different nodes:
- sending confirmed blocks, saved on blocks folder: to do it, specifically in nodes syncing from scratch, the bitcoin will need to have all blocks saved on disk, pruned nodes doesn’t have all blocks, so that they might not be used for syncing from scratch. It may be managed utilizing
-prune
setting. - sending transactions, that may be retrieved utilizing knowledge in chainstate folder: the chainstate are the worldwide state of blockchain that now have round 13GB, it can’t be pruned and must be loaded within the RAM to confirm transactions, retrieve and propagate them. May be partially managed utilizing
-blocksonly
setting.
These settings depend upon the best way you need to assist the bitcoin community:
If you wish to serve nodes that do Preliminary block obtain or syncing from some days, you shouldn’t prune your node and you should utilize -blocksonly
setting, that may cut back load and bandwidth, by not propagating transactions, solely blocks. We are able to name this node a “archive node”.
If you wish to propagate transactions, newest 288 blocks, or use your node for mining, you shouldn’t use -blocksonly
however you may set -prune
to scale back the house of storing some historic blocks.
In my checks i used a non-pruned full node. The node transferred round 400GB/Month, nevertheless it was linked to three ISPs, Tor and I2P. I used bitcoin-cli getnettotals
to examine.
It doesn’t need to be on port 8333, and it’ll not matter if the port are closed for inbound connections, the node will get much less connections and won’t be proven in bitnodes.io
I additionally don’t have any public port in IPv4, however i do have in IPv6, you may examine in case your IPv6 are firewalled or not.
You need to use Tor and I2P to have a public deal with too.
Its attainable to have a public deal with utilizing a VPS (or one other machine) that does have a public deal with, on this case you want a reverse tunnel to that machine, it may be made utilizing SSH -R choice. On this case you add -externalip=IP
choice to the general public IP of the server, it is going to be used just for inbound connections, since its not routable for outbound (npr).