- Yggdrasil is a research project trying to find a scalable and egalitarian network routing scheme.
- Hyper-Yggdrasil tries to add hole punching to the mix by connecting nodes via Hyperswarm DHT.
This proof of concept works the following way:
01 | Yggdrasil instance no. 1
02 | 🡲 tcp://localhost-1
03 | 🡲 NodeJS: `net` ⇿ `hyperdht`
04 | 🡲 INTERNET
05 | 🡰 NodeJS: `hyperdht` ⇿ `net`
06 | 🡰 tcp://localhost-2
07 | 🡰 Yggdrasil instance no. 2
It shows:
- Two NodeJS scripts are connected via HyperDHT. They also open a local TCP ports.
- Yggdrasil is started connected to the local HyperDHT server/client via TCP.
- IPv6 pings are sent via Yggdrasil.
- Encrypted traffic is observed, pings succeed.
- Yggdrasil Network main page: https://yggdrasil-network.github.io/
- Yggdrasil Matrix channel: https://matrix.to/#/#yggdrasil:matrix.org
- A ChromeOS/Linux setup convenience script: https://github.com/perguth/yggdrasil-chromeos
- A public node to play around with: https://ygg.thingylabs.io/
- The two main clients:
- Yggstack (netstack client): https://github.com/yggdrasil-network/yggstack
- Yggdrasil (server daemon): https://github.com/yggdrasil-network/yggdrasil-go
- Yggdrasil-JS (wip): https://github.com/Saiv46/yggdrasil-js
- Public peer list: https://github.com/yggdrasil-network/public-peers
👋 Idea kicked off at Hackergarten Stuttgart (#Hackergarten).