#decentralized-identity #dns-records #dns #decentralized #dht #identity #mainline

pkarr

Public-Key Addressable Resource Records (Pkarr); publish and resolve DNS records over Mainline DHT

53 releases (stable)

new 3.6.0 Mar 12, 2025
3.5.2 Feb 25, 2025
2.3.1 Jan 12, 2025
2.2.1 Dec 17, 2024
0.3.0 Oct 25, 2023

#426 in Network programming

Download history 2607/week @ 2024-11-21 4112/week @ 2024-11-28 3500/week @ 2024-12-05 4176/week @ 2024-12-12 1948/week @ 2024-12-19 1252/week @ 2024-12-26 2873/week @ 2025-01-02 3385/week @ 2025-01-09 2739/week @ 2025-01-16 2838/week @ 2025-01-23 3157/week @ 2025-01-30 3895/week @ 2025-02-06 3790/week @ 2025-02-13 4551/week @ 2025-02-20 3625/week @ 2025-02-27 3635/week @ 2025-03-06

16,269 downloads per month
Used in 47 crates (14 directly)

MIT license

200KB
4K SLoC

Pkarr

Rust implementation of Pkarr for publishing and resolving DNS packets over Mainline DHT.

Documentation

Features

Runtime Support

  • Asynchronous by Default: Built on async/await for optimal performance
  • Blocking API Available: Use Client::as_blocking() for synchronous operations
  • Runtime Agnostic: Compatible with non-Tokio runtimes via async_compat

WebAssembly

  • Browser Environment: Designed for JavaScript/Wasm integration
  • Relay Communication: Uses browser's Fetch API for relay calls
  • Limitations:
    • Not compatible with WASI
    • Cannot use WASI bindings for direct DHT access

lib.rs:

Feature flags

Exported errors

Dependencies

~2–35MB
~534K SLoC