<blockquote>
  <p><strong>I read that bitcoin is using DNS seeds for discovering users. In such case when running full node at home, one must configure his router to forward the port, firewall, etc.</strong></p>
</blockquote>

<p>That isn't true for wallets at least. You can certainly run Bitcoin-core without configuring port-forwarding or changing any firewall rules.</p>

<blockquote>
  <p><strong>What do you think about webRTC technology?</strong></p>
</blockquote>

<p>It seems designed for real-time communications between web-browsers.</p>

<p>That means it is not a good fit for cryptocurrency networks that work anything like Bitcoin.</p>

<ul>
<li><p>You don't need real-time communications - predictability of response times is not at all critical.</p></li>
<li><p>You probably don't want to be restricted to browser-based communications or to solutions optimised for browsers.</p></li>
</ul>

CC BY-SA 4.0
2018-11-20T20:43:08.350Z
So for wallets(SPV's) I don't configure it, but still I have to comunicate to the full node. How would you suggest establishing connection between full node and SPV(light node)?
dtechlearn
CC BY-SA 4.0
2018-11-20T23:16:41.173Z
@dtechlearn: I would probably follow the model for SPV defined in the Bitcoin whitepaper and [bip-0037](https://github.com/bitcoin/bips/blob/master/bip-0037.mediawiki) etc.
RedGrittyBrick
CC BY-SA 4.0
2018-11-20T18:34:24.713Z
2018-11-20T18:34:24.713Z
RedGrittyBrick
<p>To deal with WebRTC u need to understand SIP which is big deal already.
Once u understand SIP u know then that u need server. Many servers.
Read more here <a href="https://bloggeek.me/webrtc-not-p2p/" rel="nofollow noreferrer">https://bloggeek.me/webrtc-not-p2p/</a>
Sounds like totally away from Crypto.</p>

CC BY-SA 4.0
2018-11-20T10:16:37.913Z
I don't understand Boris... I just need the stun server and signaling server to know currently connected users, 
which is similar to those addresses from bitcoin to initiate the connection
Isn't that correct?
dtechlearn
CC BY-SA 4.0
2018-11-20T10:45:40.433Z
But where is decentralization? What if I DDOS 2 ur servers?
Boris Ivanov
CC BY-SA 4.0
2018-11-20T13:02:50.827Z
Maybe it would be possible to make the signaling server every in node that is connected. Just thinking. So you think this is not good idea to use webRTC for such a thing?
dtechlearn
CC BY-SA 4.0
2018-11-20T13:43:43.857Z
I don't think it is secure and anonymous enough (as it was developed for another purpose) to be used in crypto.
Boris Ivanov
CC BY-SA 4.0
2018-11-20T15:00:18.400Z
so its purpose is to exchange media, data... So you would suggest using DNS seed... which mean If someone wants to use my app, they must configure their router to forward port right? 

In bitcoin paper, they say, that core attempts to reconfigure the router. Is this possible to send request for forwarding port programaticly? thanks Boris
dtechlearn
CC BY-SA 4.0
2018-11-20T15:11:51.443Z
u can use simple ubuntu on Digital Ocean or similar (where u have public IPs). No need to keep seeding it at home.
Boris Ivanov
CC BY-SA 4.0
2018-11-20T15:18:48.620Z
Let us [continue this discussion in chat](https://chat.stackexchange.com/rooms/86021/discussion-between-dtechlearn-and-boris-ivanov).
dtechlearn
CC BY-SA 4.0
2018-11-20T09:41:29.690Z
2018-11-20T09:41:29.690Z
Boris Ivanov
<p>I am learning and trying to implement my own cryptocurrency and I am thinking about how could I achieve the peer to peer connections.</p>

<p>I read that bitcoin is using DNS seeds for discovering users.
In such case when running full node at home, one must configure his router to forward the port, firewall, etc..</p>

<p>What do you think about webRTC technology? Do you think this could be good way of solving p2p network? In this case, no router configuration is needed and firewall is ok.</p>

<p>Do you see some pros/cons of these aproaches? </p>

CC BY-SA 4.0
2018-11-20T15:14:46.953Z
What does port forwarding and firewalls have to do with DNS seeds? Those are two completely unrelated things. Even without DNS seeds you still need to port forward.
Ava Chow
CC BY-SA 4.0
2018-11-20T15:17:14.310Z
well i am trying to say, that's the way how are peers discovered in bitcoin.
And if I want for example to be full node, i need configure firewall and router. Do I understand it correctly?
dtechlearn
CC BY-SA 4.0
2018-11-20T15:20:20.993Z
No, you do not need to configure your router and firewall to run a full node. Contrary to popular belief, full nodes do not need to accept incoming connections. If you only make outbound connections, you are still helping the network because you are still receiving, verifying, and relaying blocks and transactions.
Ava Chow
CC BY-SA 4.0
2018-11-20T15:24:43.423Z
That's true, so I just implement connection from client(home) to public nodes? but what if all nodes are behind nat(homes) . Then I should configure it hm?
dtechlearn
<network><full-node>
Networking in cryptocurrency
dtechlearn
# Networking in cryptocurrency

(Asked by: username_0 on 2018-11-20)

I am learning and trying to implement my own cryptocurrency and I am thinking about how could I achieve the peer to peer connections.

I read that bitcoin is using DNS seeds for discovering users.
In such case when running full node at home, one must configure his router to forward the port, firewall, etc..

What do you think about webRTC technology? Do you think this could be good way of solving p2p network? In this case, no router configuration is needed and firewall is ok.

Do you see some pros/cons of these aproaches?

**Tags:** network, full-node

> **Comments:**
> **username_1**: What does port forwarding and firewalls have to do with DNS seeds? Those are two completely unrelated things. Even without DNS seeds you still need to port forward.  
> **username_0**: well i am trying to say, that's the way how are peers discovered in bitcoin. And if I want for example to be full node, i need configure firewall and router. Do I understand it correctly?  
> **username_1**: No, you do not need to configure your router and firewall to run a full node. Contrary to popular belief, full nodes do not need to accept incoming connections. If you only make outbound connections, you are still helping the network because you are still receiving, verifying, and relaying blocks and transactions.  
> **username_0**: That's true, so I just implement connection from client(home) to public nodes? but what if all nodes are behind nat(homes) . Then I should configure it hm?  

---

## 2 answers

### Answer by username_2 on 2018-11-20. Score: 0

> **I read that bitcoin is using DNS seeds for discovering users. In such case when running full node at home, one must configure his router to forward the port, firewall, etc.**

That isn't true for wallets at least. You can certainly run Bitcoin-core without configuring port-forwarding or changing any firewall rules.

> **What do you think about webRTC technology?**

It seems designed for real-time communications between web-browsers.

That means it is not a good fit for cryptocurrency networks that work anything like Bitcoin.

* You don't need real-time communications - predictability of response times is not at all critical.
* You probably don't want to be restricted to browser-based communications or to solutions optimised for browsers.

> **Comments:**
> **username_0**: So for wallets(SPV's) I don't configure it, but still I have to comunicate to the full node. How would you suggest establishing connection between full node and SPV(light node)?  
> **username_2**: @username_0: I would probably follow the model for SPV defined in the Bitcoin whitepaper and [bip-0037](https://github.com/bitcoin/bips/blob/master/bip-0037.mediawiki) etc.  

---

### Answer by username_3 on 2018-11-20. Score: 0

To deal with WebRTC u need to understand SIP which is big deal already.
Once u understand SIP u know then that u need server. Many servers.
Read more here <https://bloggeek.me/webrtc-not-p2p/>
Sounds like totally away from Crypto.

> **Comments:**
> **username_0**: I don't understand username_3... I just need the stun server and signaling server to know currently connected users,  which is similar to those addresses from bitcoin to initiate the connection Isn't that correct?  
> **username_3**: But where is decentralization? What if I DDOS 2 ur servers?  
> **username_0**: Maybe it would be possible to make the signaling server every in node that is connected. Just thinking. So you think this is not good idea to use webRTC for such a thing?  
> **username_3**: I don't think it is secure and anonymous enough (as it was developed for another purpose) to be used in crypto.  
> **username_0**: so its purpose is to exchange media, data... So you would suggest using DNS seed... which mean If someone wants to use my app, they must configure their router to forward port right?   In bitcoin paper, they say, that core attempts to reconfigure the router. Is this possible to send request for forwarding port programaticly? thanks username_3  
> **username_3**: u can use simple ubuntu on Digital Ocean or similar (where u have public IPs). No need to keep seeding it at home.  
> **username_0**: Let us [continue this discussion in chat](https://chat.stackexchange.com/rooms/86021/discussion-between-username_0-and-username_3).  

---

