Nostr WoT

Documentazione

Tutto ciò di cui hai bisogno per integrare Web of Trust nella tua applicazione.

Avvio Rapido

Inizia a usare Web of Trust in pochi minuti.

Interroga l’Oracle da un browser o server

Oracle v0.3.0 supporta richieste fetch standard. Usa chiavi pubbliche esadecimali complete di 64 caratteri. Non sono richiesti estensione o SDK.

Interroga la distanza di follow

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);

Valori dei salti: 0 = te stesso, 1 = follow diretto, 2 = follow di qualcuno che segui. Un risultato null indica che non è stato trovato un percorso entro la profondità richiesta nel grafo indicizzato. La copertura dipende dai relay configurati. L’estensione fornisce firma e identità; non risponde alle query del grafo.

Server (con API Oracle)

Per applicazioni lato server, usa l’API REST dell’Oracle. Non richiede un’estensione.

Includi le evidenze pubbliche di silenziamento

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 distanza di follow e le osservazioni pubbliche di silenziamento kind-10000 sono evidenze separate. L’API non le combina in un punteggio numerico e non decifra le voci private di silenziamento. Le liste sconosciute e quelle senza voci pubbliche sono stati diversi. Definisci esplicitamente le regole della tua applicazione.

Usare cURL

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

Compatibilità SDK

La versione pubblicata @nostr-wot/[email protected] usa vecchi endpoint remoti e campi di risposta che Oracle v0.3.0 non espone. Le query remote di distanza dell’SDK possono restituire null dopo un 404: non interpretarlo come un risultato verificato del grafo. Usa gli esempi fetch precedenti per questo Oracle.

I pacchetti dati, relay e identità dell’SDK restano utili indipendentemente. Per query del grafo locale e integrazione React, consulta gli esempi SDK verificati. useTrustScore non fa parte dell’API pubblicata di WoT 1.0.

Compila dal Sorgente

Clona il repository e compila localmente per lo sviluppo o per verificare il codice.

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

Vai su chrome://extensions, attiva la Modalità sviluppatore, clicca Carica non pacchettizzata e seleziona la cartella dist/.