holepunchto / hypercore

Hypercore is a secure, distributed append-only log.

Home Page:https://docs.holepunch.to

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Feature request: support IPv6

mikehearn opened this issue · comments

I tried to use Beaker today with a coworker. We are both behind ISP-level NAT for IPv4 but have native IPv6 to the home. It sorta worked, we both got "able to hole punch" so congrats on that, but it seemed like updates were kind of flaky and stuff. But it feels like in this brave new world we should be able to connect to each other directly via IPv6. More and more users will simply not have an IPv4 address at all in future - it's already the default in large parts of the world.

We are investigating getting ipv6 on the stack. Can you explain a bit more what you experienced in terms of flakiness?

It may not be related to hypercore specifically. I sent him a "pull request" (amazing work on all this guys by the way, truly blown away by how slick it all is). He merged it, but even after hitting reload a bunch of times + hard reload/clear caches etc, I couldn't see the new version. Then his Beaker locked up, he restarted it all, and saw zero peers connected to his profile site. Except I still saw 1 peer connected, so by that point we were truly out of sync.

I then shut down Beaker and restarted it from scratch. Finally the new version loaded correctly. I guess this problem could be caused at many layers of the stack, but as we were discussing possible reasons we realised we were both behind carrier NAT and there was no way to connect to each other via IPv4 except by relying on a mutual bridge point. Feels kind of low tech and grimy compared to the shiny state of the rest of the stack.

cc @pfrazee (maybe we should move this to the beaker repo, lots of moving parts here)

Hmm yeah there's definitely some Beaker issues sticking through there. Beaker locking up is pretty odd.

Hyperswarm question (which has early IPv6 support actually)