hyper-dns

DNS lookup for dat/hyper archives

Usage no npm install needed!

<script type="module">
  import hyperDns from 'https://cdn.skypack.dev/hyper-dns';
</script>

README

hyper-dns

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.

πŸš€ Basic API

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.

πŸ§™β€β™€οΈ What is this magic?

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)

πŸ‘©β€πŸŽ“ Further reading

πŸ“œ License

MIT License