As a single bitcoind node I can only detect how many connected peers I have. Is there a way to have a vision of the whole bitcoin network?
There are websites such as Bitnodes.io that track the number of nodes currently reachable in the network. The site also gives an account of the versions the nodes deploy and what countries they are located in.
According to Bitnodes.io, there are currently 6426 nodes reachable.
To collect your own list of nodes, you'd ask your peers for more peers, i.e.
getaddr, then recursively request more peers from the newly discovered peers, until you have polled everyone you have discovered.
Note that this doesn't guarantee you to find all nodes, as some don't accept connections from the outside, and
getaddr doesn't necessarily give you all peers. Also see: Does getaddr.bitnodes.io find all Bitcoin nodes or only one node per mining pool?
Thank you! How do they get this data by running multiple nodes around the world and converge? Aug 21, 2015 at 13:43
@moshaholo: See my updated answer.– Murch ♦Aug 21, 2015 at 13:50
1Also note that this is considered spamming and a DOS attack. It goes against the whole idea of P2P and the network implements methods to defend against such activities. The bitnodes people are in close contact with the bitcoin core developers and try to be as non aggressive as possible. Still plenty of nodes ban them anyway.– JannesAug 22, 2015 at 4:25
If I understand the answer correctly, it is about the active nodes. Can we know how many nodes there are in total? Regardless whether they are active or not. Also, does this exist for other cryptocurrencies? And are there historical data for it? Feb 17, 2018 at 19:56
There are other estimates, like for example the data Luke-Jr collects with his seed node: luke.dashjr.org/programs/bitcoin/files/charts/software.html Some historical data can be found here: coin.dance/nodes Other cryptocurrencies have fewer of these private sites as these spring up with a bigger community.– Murch ♦Feb 17, 2018 at 21:23