Быстрый старт
Начните работу с Web of Trust за несколько минут.
Запросы к Oracle из браузера или с сервера
Oracle v0.3.0 поддерживает стандартные запросы fetch. Используйте полные публичные ключи из 64 шестнадцатеричных символов. Расширение и SDK не требуются.
Запросить расстояние по подпискам
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);Число переходов: 0 = вы сами, 1 = прямая подписка, 2 = подписка пользователя, на которого вы подписаны. Результат null означает, что в индексированном графе не найден путь в пределах запрошенной глубины. Охват зависит от настроенных реле. Расширение обеспечивает подписание и идентификацию; оно не отвечает на запросы к графу.
Сервер (с Oracle API)
Для серверных приложений используйте REST API Oracle. Расширение не требуется.
Включить публичные сведения о заглушении
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);Расстояние по подпискам и публичные наблюдения заглушения kind-10000 — независимые сведения. API не объединяет их в числовую оценку и не расшифровывает приватные записи заглушения. Неизвестные списки заглушения и списки без публичных записей — разные состояния. Явно задайте правила своего приложения.
Использование cURL
Совместимость SDK
Опубликованная версия @nostr-wot/[email protected] использует устаревшие удалённые эндпоинты и поля ответа, которых нет в Oracle v0.3.0. Удалённые запросы расстояния через SDK могут вернуть null после 404: не считайте это подтверждённым результатом графа. Для этого Oracle используйте приведённые выше примеры fetch.
Пакеты SDK для данных, реле и идентификации остаются полезными независимо друг от друга. Запросы к локальному графу и интеграция React описаны в проверенных примерах SDK. useTrustScore не входит в опубликованный API WoT 1.0.
Сборка из исходного кода
Клонируйте репозиторий и соберите локально для разработки или проверки кода.
Перейдите на chrome://extensions, включите Режим разработчика, нажмите «Загрузить распакованное» и выберите папку dist/.