Couche de données
Les fonctions autonomes récupèrent profils, notes, fils, abonnements et interactions. Les hooks React ajoutent un cache qui renvoie les données stockées tout en les revalidant. Les fonctions de données partagent leur propre pool de connexions.
terminal
$npm install nostr-wot-sdk@3.0.0 nostr-tools
typescript
import {
fetchProfile, fetchNotesByAuthor, fetchEngagement, setDefaultRelays,
} from "nostr-wot-sdk/data";
setDefaultRelays(["wss://relay.damus.io", "wss://nos.lol"]);
async function loadAuthor(pubkey: string) {
const profile = await fetchProfile(pubkey);
const notes = await fetchNotesByAuthor(pubkey, { limit: 50 });
const engagement = await fetchEngagement(notes.map(note => note.id));
return { profile, notes, engagement };
}tsx
"use client";
import { useProfile } from "nostr-wot-sdk/data/react";
function ProfileCard({ pubkey }: { pubkey: string }) {
const profile = useProfile(pubkey);
if (!profile) return null;
return <h2>{profile.displayName ?? profile.name ?? pubkey}</h2>;
}