New answers tagged

0

Amiti Uttarwar answered this in this Bitcoin Core PR review club session on the PR 18038 in April 2020. Unbroadcast (introduced in PR 18038) is defined as when the initial broadcast of a transaction hasn't been deemed successful. Every 10-15 minutes a node re-attempts broadcast of unbroadcast transactions. An initial broadcast is deemed successful by the ...


6

While nodes are set to be listening by default, the vast majority does not permit inbound connections either because listening has been disabled or their network setup doesn't make the necessary port accessible. There seem to be in the range of 8-10k listening nodes, while estimates for non-listening nodes range in 60-400k depending on the source. Next to ...


0

This is not surprising, and I believe it is actually normal behavior. It's an artifact of the flood method that Bitcoin uses to relay blocks and transactions. Consider the following: one of your peers announces an unknown transaction of size 1000 bytes to your node, so your node requests and downloads. Now your node announces the same transaction to every ...


1

Yes you can specify -externalip multiple times. The config option -externalip allows you to specify your own public reachable address. This can also be an onion address. From the Bitcoin Core Tor documentation: The one that will be rumoured to a particular peer is the most compatible one and also using heuristics, e.g. the address with the most incoming ...


5

To run a Bitcoin full node you don't need to have a static IP address as when your IP address changes you should still be able to find peers and connect to them. However, if you want to maintain the same peers getting a static IP address is a good idea. Your connection to existing peers will drop if your IP address changes and you will either reconnect to ...


0

This was answered by James O'Beirne during a presentation on Bitcoin Core architecture at Bitcoin Edge Dev++ (2018). net_processing routes P2P messages into validation calls and response P2P messages. It adapts the network layer to the chainstate layer and translates network messages into calls for local state changes. Much of net_processing is ...


3

Adding more advanced prediction of what transactions are useful to prefill was probably intended as a TODO when Compact Blocks were implemented, but to the best of my knowledge, nobody has worked on it since. It is worth pointing out that Compact Blocks in practice (and in non-adverserial situations) works extremely well. On my own long-running node, as of ...


Top 50 recent answers are included