Nostr WoT

Documentation

Tout ce dont vous avez besoin pour intégrer le Web of Trust dans votre application.

Démarrage rapide

Commencez à utiliser Web of Trust en quelques minutes.

Interroger l’Oracle depuis un navigateur ou un serveur

Oracle v0.3.0 prend en charge les requêtes fetch standard. Utilisez des clés publiques hexadécimales complètes de 64 caractères. Aucune extension ni aucun SDK requis.

Interroger la distance de suivi

typescript
async function getFollowDistance(from: string, to: string) {
  const query = new URLSearchParams({ from, to, max_hops: "2" });
  const response = await fetch(
    "https://wot-oracle.mappingbitcoin.com/distance?" + query
  );
  if (!response.ok) throw new Error("Oracle HTTP " + response.status);
  const data = await response.json();
  return data.hops as number | null;
}

// Replace with real public keys before querying.
const hops = await getFollowDistance("a".repeat(64), "b".repeat(64));
console.log(hops === null ? "No indexed path within 2 hops" : hops);

Valeurs des sauts : 0 = vous-même, 1 = suivi direct, 2 = compte suivi par quelqu’un que vous suivez. Un résultat null signifie qu’aucun chemin n’a été trouvé à la profondeur demandée dans le graphe indexé. La couverture dépend des relais configurés. L’extension fournit la signature et l’identité ; elle ne répond pas aux requêtes de graphe.

Serveur (avec API Oracle)

Pour les applications côté serveur, utilisez l’API REST de l’Oracle. Aucune extension requise.

Inclure les indices publics de mise en sourdine

javascript
const from = "a".repeat(64); // Replace with source pubkey
const to = "b".repeat(64); // Replace with target pubkey
const query = new URLSearchParams({ from, to, max_hops: "3" });
const response = await fetch(
  "https://wot-oracle.mappingbitcoin.com/trust?" + query
);
if (!response.ok) throw new Error("Oracle HTTP " + response.status);
const { follow_distance, public_mute_evidence } = await response.json();
console.log(follow_distance.hops, follow_distance.path_count);
console.log(public_mute_evidence.source_mutes_target);
console.log(public_mute_evidence.source_mute_list_known);

La distance de suivi et les observations publiques de mise en sourdine de kind-10000 sont des indices distincts. L’API ne les combine pas en score numérique et ne déchiffre pas les entrées privées de mise en sourdine. Les listes inconnues et celles sans entrées publiques sont des états différents. Définissez explicitement la politique de votre application.

Utiliser cURL

terminal
$curl --fail-with-body "https://wot-oracle.mappingbitcoin.com/health"
$curl --fail-with-body "https://wot-oracle.mappingbitcoin.com/ready"

Compatibilité du SDK

La version publiée @nostr-wot/[email protected] utilise d’anciens points d’accès distants et champs de réponse qu’Oracle v0.3.0 n’expose pas. Les requêtes distantes de distance du SDK peuvent renvoyer null après un 404 : ne l’interprétez pas comme un résultat vérifié du graphe. Utilisez les exemples fetch ci-dessus pour cet Oracle.

Les paquets de données, de relais et d’identité du SDK restent utiles indépendamment. Pour les requêtes de graphe local et l’intégration React, consultez les exemples vérifiés du SDK. useTrustScore ne fait pas partie de l’API publiée de WoT 1.0.

Compiler depuis les sources

Clonez le dépôt et compilez localement pour le développement ou pour vérifier le code.

terminal
$git clone https://github.com/nostr-wot/nostr-wot-extension.git
$cd nostr-wot-extension && npm install && npm run build

Allez à chrome://extensions, activez le mode développeur, cliquez sur Charger l'extension non empaquetée et sélectionnez le dossier dist/.