<p>You cannot request this information, because it does not exist.</p>

<p>There is no central registry of nodes, nor do they have identities to begin with. Full nodes do maintain a database of IP addresses of peers they now about, but that is not, and is not intended to be, a comprehensive list of all nodes on the network.</p>

<p>The closest that exists are network crawlers who ask around for IP addresses and try connecting to them (some DNS seed report results based on crawler information), but even that is only an approximation, and can only discover nodes that are reachable. The vast majority of full nodes only make outgoing connections.</p>

CC BY-SA 4.0
2023-02-06T14:55:53.623Z
Thanks a lot for this information but i am building my own blockchain from scratch and are wondering how bitcoin calculates 51% of the network if it does not have a list of all peers
Noah Bergh
CC BY-SA 4.0
2019-11-01T19:53:47.203Z
2019-11-01T20:19:33.713Z
2019-11-01T20:19:33.713Z
Pieter Wuille
<p><code>getpeerinfo</code> returns information about currently connected peers, but not the entire network. Since Bitcoin is a decentralised peer-to-peer network, no peer can possibly establish an accurate view of the full network connection graph.</p>

<p>Consider how these peer connections are established which are returned by <code>getpeerinfo</code>. When your node is started, it will bootstrap a list of peer endpoint addresses from known seed servers. Once a sufficient number of addresses is acquired, it begins connections (This address list is actively amended as new addresses are propagated to your node after the seed session).</p>

<ul>
<li><code>Outbound connections</code>: Up to N peers on address list acquired during the seed session.</li>
<li><code>Inbound connections</code>: Accepts connections from up to M peers connecting to your node</li>
<li><code>Manual connections</code>: Configured permanent peers your node (attempts) to maintain connections to.</li>
</ul>

<p>There is a configurable limit to all types of connections for your node. In any case, the limited view of the network means your node will never have a full view of the global Bitcoin p2p network.</p>

CC BY-SA 4.0
2019-02-04T18:53:15.553Z
Thank you for your answer. What I ment was to call seeders listed here: https://github.com/bitcoin/bitcoin/blob/aa624b61c928295c27ffbb4d27be582f5aa31b56/src/chainparams.cpp#L127
for list of "full nodes" but I still dont know how to request that and even if I manage to get that data from all seeds, will the list contain all "full nodes" or just few.
Lucas K.
CC BY-SA 4.0
2019-02-05T02:04:30.683Z
They don’t return a “full list” either.
Claris
CC BY-SA 4.0
2019-02-04T17:56:40.230Z
2019-02-04T17:56:40.230Z
James C.
<p><strong>Is there any way to get all full nodes by RPC call?</strong></p>

<p>Afaik full node contains information of other full nodes in the network and was wondering how to request that.</p>

<p>I red the documentation on <strong><a href="https://bitcoin.org/en/developer-reference#bitcoin-core-apis" rel="nofollow noreferrer">Bitcoin Core Apis</a></strong> and all I found is <strong>getpeerinfo</strong> which returns a list of connected nodes but the JSON it gave me seem to not contain that information.</p>

<p>Does anyone know if this data is accessable and how to get it?</p>

<bitcoin-core><json-rpc><full-node>
JSON-RPC get full nodes information
Lucas K.
# JSON-RPC get full nodes information

(Asked by: username_0 on 2019-02-04)

**Is there any way to get all full nodes by RPC call?**

Afaik full node contains information of other full nodes in the network and was wondering how to request that.

I red the documentation on **[Bitcoin Core Apis](https://bitcoin.org/en/developer-reference#bitcoin-core-apis)** and all I found is **getpeerinfo** which returns a list of connected nodes but the JSON it gave me seem to not contain that information.

Does anyone know if this data is accessable and how to get it?

**Tags:** bitcoin-core, json-rpc, full-node


---

## 2 answers

### Answer by username_1 on 2019-11-01. Score: 1

You cannot request this information, because it does not exist.

There is no central registry of nodes, nor do they have identities to begin with. Full nodes do maintain a database of IP addresses of peers they now about, but that is not, and is not intended to be, a comprehensive list of all nodes on the network.

The closest that exists are network crawlers who ask around for IP addresses and try connecting to them (some DNS seed report results based on crawler information), but even that is only an approximation, and can only discover nodes that are reachable. The vast majority of full nodes only make outgoing connections.

> **Comments:**
> **username_2**: Thanks a lot for this information but i am building my own blockchain from scratch and are wondering how bitcoin calculates 51% of the network if it does not have a list of all peers  

---

### Answer by username_3 on 2019-02-04. Score: 0

`getpeerinfo` returns information about currently connected peers, but not the entire network. Since Bitcoin is a decentralised peer-to-peer network, no peer can possibly establish an accurate view of the full network connection graph.

Consider how these peer connections are established which are returned by `getpeerinfo`. When your node is started, it will bootstrap a list of peer endpoint addresses from known seed servers. Once a sufficient number of addresses is acquired, it begins connections (This address list is actively amended as new addresses are propagated to your node after the seed session).

* `Outbound connections`: Up to N peers on address list acquired during the seed session.
* `Inbound connections`: Accepts connections from up to M peers connecting to your node
* `Manual connections`: Configured permanent peers your node (attempts) to maintain connections to.

There is a configurable limit to all types of connections for your node. In any case, the limited view of the network means your node will never have a full view of the global Bitcoin p2p network.

> **Comments:**
> **username_0**: Thank you for your answer. What I ment was to call seeders listed here: https://github.com/bitcoin/bitcoin/blob/aa624b61c928295c27ffbb4d27be582f5aa31b56/src/chainparams.cpp#L127 for list of "full nodes" but I still dont know how to request that and even if I manage to get that data from all seeds, will the list contain all "full nodes" or just few.  
> **username_4**: They don’t return a “full list” either.  

---

