Resolution Libraries
This page reviews the different resolution library options that can be used for resolving a domain. The libraries are fully supported and maintained by UD.
Resolution libraries are used for interacting with blockchain domain names. They can be used to retrieve payment addresses, IPFS hashes for decentralized websites, DNS records and other records types. Each Resolution Library is built and maintained by Unstoppable Domains, so updates happen automatically.

Supported Domains for Resolution Libraries

The Resolution Libraries support decentralized domains across three main zones:
Name Service
Supported Domains
Zilliqa Name Service (ZNS)
.zil
Ethereum Name Service (ENS)
.eth, .kred, .xyz, .luxe
Unstoppable Name Service (UNS)
.crypto, .nft, .blockchain, .bitcoin, .coin, .wallet, .888, .dao, .x
ENS is not supported in the latest version of our libraries, and there will be no future updates to ENS. The older version of our libraries can still be used for resolution, or developers will need to integrate directly with ENS.

Use Case: Retrieve a Domain Record

Retrieve any record of a domain. Applications sometimes set custom records for a domain to use within their application. The code snippets below show how to do this for Java, JavaScript, Swift, and Golang.
Java
JavaScript
Swift
Golang
1
String record = resolution.getRecord("ryan.crypto", "custom.record.value");
2
assertEquals("Example custom record value", record);
Copied!
1
const { default: Resolution } = require('@unstoppabledomains/resolution');
2
const resolution = new Resolution();
3
4
function resolveCustomRecord(domain, record) {
5
resolution
6
.records(domain, [record])
7
.then((value) => console.log(`Domain ${domain} ${record} is: ${value}`))
8
.catch(console.error);
9
}
10
11
resolveCustomRecord('homecakes.crypto', 'custom.record.value');
Copied!
1
// Lookup specific records
2
resolution.record(domain: "ryan.crypto", record: "custom.record.value") { result in
3
switch result {
4
case .success(let returnValue):
5
// Example custom record value
6
let recordValue = returnValue
7
case .failure(let error):
8
print("Expected record value, but got \(error)")
9
}
10
}
Copied!
1
uns, _ := resolution.NewUnsBuilder().Build()
2
ethAddress, _ := uns.Addr("brad.crypto", "ETH")
3
fmt.Println("ETH address for brad.crypto is", ethAddress)
Copied!

List of UD Resolution Libraries

The following table lists the UD Resolution Libraries along with links to each respective GitHub Repository.

Support

If you have any questions or need assistance with using UD resolution libraries, join our Discord channel for real-time support from us and the community.
Last modified 11d ago