Advanced resolving of decentralized web links using different name systems such as DNS Txt entries and .well-known
https lookups locations.
It implements various naming systems such as dat, hyper and cabal but is extensible to support other systems as well.
After installing it through npm, you can simply run it like this:
const { resolveProtocol, resolve, resolveURL } = require('hyper-dns')
const protocol = 'dat'
const domain = 'dat-ecosystem.org'
const key = await resolveProtocol(protocol, domain)
Note: You may need to wrap it in a
async
function until top level async/await lands.
That's it! 🎉 - in the key
variable you will get the dat
key or null
, if it can't be found.
Different decentralized web systems have different means to resolve "names" to a decentralized document.
hyper-dns
contains a variety of implementations. Many are using DNS TXT records that contain a key of specified pattern, but other means are possible as well. − (more in the Protocol Guide)
The power of hyper-dns
in comparison to other, protocol-specific implementations is that it has a shared cache for all protocols, it works in he browser and does a list of things well. − (more in the Architecture Overview)
- Architecture Overview …to learn how caching and other things work. 🕵️♀️
- API documentation …for getting to know the API in detail. 🧑💻
- Contribution Guide …because help is always welcome. 🥳
- Protocol Guide …for current protocols and adding new ones. 🤠