<p>A node is a machine that is connected to other nodes on the Bitcoin network which sends and receives blocks and transactions with other nodes.</p>

<p>A peer is a node which your node is connected to. Peer is often used interchangeably with node.</p>

<p>A seed node is a node which you connect to briefly in order to find other nodes to actually connect to. When you connect to a seed node, you only do so to get the IP addresses of other nodes. Then you disconnect. No blocks or transactions are sent to or received from that seed node.</p>

<p><code>-addnode</code> will have your node connect to another node and have it as a peer. So you will send and receive blocks and transactions with whatever IP address you specify.</p>

<p><code>-seednode</code> will have your node connect to another node and use it as a seed node. So it only connects to that node, gets a bunch of nodes' IP addresses, and disconnects. It then connects to those IP addresses as a peer.</p>

<p>If you have <code>dns=0</code> and <code>dnsseed=0</code>, then your node will have a harder time connecting to the Bitcoin network. The DNS seeding (which is disabled by those options) allows your node to ask a few DNS servers for the IP addresses of some seed nodes. Without them, you will be only using the hardcoded fallback seed nodes which may not necessarily still be online. If you insist on disabling DNS seeding, then you should use both the <code>-addnode</code> and <code>-seednode</code> options so that you at least establish a connection to a node and get more IP addresses to connect to.</p>

CC BY-SA 4.0
2018-12-31T11:12:23.250Z
In what situation would one use `seednode` and not want to stay connected to the peer/node? And wouldn't `addnode` also provide a list of the node's peers?
noob
CC BY-SA 4.0
2018-12-31T03:08:31.137Z
2018-12-31T03:08:31.137Z
Ava Chow
<p>Could someone please elaborate on the difference between the <code>addnode</code> and <code>seednode</code> settings in the bitcoind configuration file.</p>

<pre><code>-addnode=&lt;ip&gt;   Add a node to connect to and attempt to keep the connection open 

-seednode=&lt;ip&gt;  Connect to a node to retrieve peer addresses, and disconnect 
</code></pre>

<p>In which situation should I be using either of them, or perhaps both? And would either of them be preferable for a node configured to run through Tor with <code>dns=0</code> and <code>dnsseed=0</code> set?</p>

<p>Further clarification on the difference between seeds vs peers vs nodes is appreciated.</p>

<bitcoin.conf><peer-discovery><dns>
addnode vs seednode
noob
# addnode vs seednode

(Asked by: username_0 on 2018-12-30)

Could someone please elaborate on the difference between the `addnode` and `seednode` settings in the bitcoind configuration file.

```
-addnode=<ip>   Add a node to connect to and attempt to keep the connection open 

-seednode=<ip>  Connect to a node to retrieve peer addresses, and disconnect 

```

In which situation should I be using either of them, or perhaps both? And would either of them be preferable for a node configured to run through Tor with `dns=0` and `dnsseed=0` set?

Further clarification on the difference between seeds vs peers vs nodes is appreciated.

**Tags:** bitcoin.conf, peer-discovery, dns


---

## 1 answers

### Answer by username_1 on 2018-12-31. Score: 3

A node is a machine that is connected to other nodes on the Bitcoin network which sends and receives blocks and transactions with other nodes.

A peer is a node which your node is connected to. Peer is often used interchangeably with node.

A seed node is a node which you connect to briefly in order to find other nodes to actually connect to. When you connect to a seed node, you only do so to get the IP addresses of other nodes. Then you disconnect. No blocks or transactions are sent to or received from that seed node.

`-addnode` will have your node connect to another node and have it as a peer. So you will send and receive blocks and transactions with whatever IP address you specify.

`-seednode` will have your node connect to another node and use it as a seed node. So it only connects to that node, gets a bunch of nodes' IP addresses, and disconnects. It then connects to those IP addresses as a peer.

If you have `dns=0` and `dnsseed=0`, then your node will have a harder time connecting to the Bitcoin network. The DNS seeding (which is disabled by those options) allows your node to ask a few DNS servers for the IP addresses of some seed nodes. Without them, you will be only using the hardcoded fallback seed nodes which may not necessarily still be online. If you insist on disabling DNS seeding, then you should use both the `-addnode` and `-seednode` options so that you at least establish a connection to a node and get more IP addresses to connect to.

> **Comments:**
> **username_0**: In what situation would one use `seednode` and not want to stay connected to the peer/node? And wouldn't `addnode` also provide a list of the node's peers?  

---

