dat-ecosystem-archive / docs

Documentation resources for dat and the surrounding ecosystem [ DEPRECATED - see https://github.com/hypercore-protocol/new-website/tree/master/guides for similar functionality. More info on active projects and modules at https://dat-ecosystem.org/ ]

Home Page:https://dat-ecosystem-archive.github.io/docs/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Getting started with Dat: two things I find confusing

rauschma opened this issue · comments

  • Hashbase only worked after I opened port 3282 on my router’s firewall. Is this really necessary? I couldn’t find anything in the docs regarding ports, only a mention of Dat Doctor.
    • If opening this port is necessary: does Dat support UPnP or PCP? Then it could open and close that port itself, as/when necessary.
  • With the port open, when I run Dat Doctor’s basic test, it gets stuck at “Checking Dat Public Connections via UTP”. What does that mean?
    • It’s not clear to me what “ERROR: symmetric nat” means, either.

This is the full output:

Welcome to Dat Doctor!

Software Info:
  darwin x64
  Node v12.8.0
  Dat Doctor v2.1.2
  dat v13.13.1

Running Basic Tests (Checks your Dat installation and network setup)

✖ Who am I?
  The default Dat port (3282) in use, using random port.
  This may impact Dat's connectivity if you have a firewall.
  ERROR: symmetric nat
✔ Loaded native modules
✔ Resolved Dat Doctor Server
✔ Successful data transfer with Dat Doctor via TCP
⠹ Checking Dat Public Connections via UTP

Other than that: I love how easy it is to get started with Dat!

👋 Hey @rauschma. Answering inline:

Hashbase only worked after I opened port 3282 on my router’s firewall. Is this really necessary?

Hopefully not. We're wrapping up dat 2.0 right now which includes a rewrite of the connections code. The new hole-punching (which opens a p2p connection through the firewall/NAT) has been more reliable, so hopefully the answer will be- no, not necessary.

If opening this port is necessary: does Dat support UPnP or PCP? Then it could open and close that port itself, as/when necessary.

We have UPnP try to open a port in Beaker thanks to a PR, but I haven't dug deeply into it to make sure it's the best implementation (or that it's making a difference). I've been waiting for dat 2 before I dig deeper. AFAIK other dat clients aren't using UPnP yet but they could.

With the port open, when I run Dat Doctor’s basic test, it gets stuck at “Checking Dat Public Connections via UTP”. What does that mean?

Not sure - maybe it's stalling out because it's failing to make a connection. (UTP is an alternative to TCP.)

It’s not clear to me what “ERROR: symmetric nat” means, either.

Probably shouldn't be an "error" but a "symmetric nat" is a kind of router configuration that's uniquely difficult to hole-punch. I'm going to pass it to @mafintosh to see if he has thoughts on whether UPnP or some other mechanism could help here.

Yuh symmetric nats are hard to hole punch as @pfrazee mention. How about we ping you back here in a week or so to try to run this on Dat 2.0?

Thanks @pfrazee & @mafintosh!

How about we ping you back here in a week or so to try to run this on Dat 2.0?

Good plan!

I’m using a Fritz!Box, the same router as almost everyone in Germany, so it’d be great if it worked automatically. Fingers crossed!

For Dat Doctor: would it make sense to have some kind of timeout plus an informative message that suggests a fix. It could also be a URL pointing to further troubleshooting material.

So far these are the docs we have for help with troubleshooting. https://docs.datproject.org/docs/troubleshooting

If you have time, I'd be happy to review a PR that links to these docs in dat-doctor.

Also if you have ideas for stuff that should be added in the docs. 😁

Also if you have ideas for stuff that should be added in the docs.

The answers to my questions I got in this thread were very helpful.