A minimal Swift package for resolving ENS names and Ethereum addresses using the api.ensdata.net API.
Add ENSDataKit to your project using Swift Package Manager:
dependencies: [
.package(url: "https://github.com/Planetable/ENSDataKit.git", from: "1.0.0")
]import ENSDataKit
let client = ENSDataClient()
do {
let data = try await client.resolve("vitalik.eth")
print("Address: \(data.address ?? "N/A")")
print("Twitter: \(data.twitter ?? "N/A")")
print("Description: \(data.description ?? "N/A")")
} catch {
print("Error: \(error)")
}let data = try await client.resolve("0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045")
print("Primary ENS: \(data.ensPrimary ?? "N/A")")The main client for interacting with the ENS Data API.
resolve(_ nameOrAddress: String) async throws -> ENSData- Resolves an ENS name or Ethereum address
- Returns:
ENSDatacontaining all available profile information
A struct containing ENS profile information:
address: Ethereum addressavatar,avatarSmall,avatarUrl: Avatar imagescontentHash: IPFS content hashdescription: Profile descriptionens: ENS nameensPrimary: Primary ENS namegithub: GitHub usernametwitter: Twitter handleurl: Website URLpgp: PGP public keyresolverAddress: ENS resolver contract addresswallets: Cryptocurrency wallet addresses
- iOS 13.0+ / macOS 10.15+ / tvOS 13.0+ / watchOS 6.0+
- Swift 5.9+
MIT