Usage
import { resolveLexicon } from 'resolve-lexicon';
const json = await resolveLexicon('com.atproto.repo.getRecord');
console.log(json);
Try it out
Examples: · ·
How it works
Following the AT Lexicon Publication and Resolution spec:
- Parse NSID into authority domain and name
- Query DNS TXT record for
_lexicon.<authority>
(via Cloudflare DNS) - Extract DID from TXT record (format:
did=did:plc:...
) - Resolve DID to PDS endpoint via plc.directory
- Fetch lexicon record from PDS using
com.atproto.repo.getRecord
Note: This library is very minimal, isn't configurable, and doesn't perform any verification of the fetched record. Check out @atproto/lexicon-resolver and @atcute/lexicon-resolver for possible alternatives.