TLDR
I added an outbox improvement PR to NDK that
- improves algo event coverage by ~~ 25% by utilizing thompson learning
- decreases result loading time 40%-50% by fetching NIP-66 relay liveness results
More details
NDK PR #387 adds NIP-66 relay filtering at the NDK connection level — filtering dead relays before WebSocket connection establishment (~45% faster loading in their benchmarks).
Once it lands, we can pass nip66MonitorRelays to the NDK constructor in src/lib/ndk.ts:
const ndk = new NDK({
explicitRelayUrls: [...RELAYS.DEFAULT],
nip66MonitorRelays: ['wss://relaypag.es', 'wss://relay.nostr.watch', 'wss://monitorlizard.nostr1.com'],
});
This is independent from our application-level NIP-66 integration (#136) which handles NIP-50 relay discovery and search-time dead relay filtering. The NDK layer would provide WebSocket connection savings on top.
Blocked on: nostr-dev-kit/ndk#387
TLDR
I added an outbox improvement PR to NDK that
More details
NDK PR #387 adds NIP-66 relay filtering at the NDK connection level — filtering dead relays before WebSocket connection establishment (~45% faster loading in their benchmarks).
Once it lands, we can pass
nip66MonitorRelaysto the NDK constructor insrc/lib/ndk.ts:This is independent from our application-level NIP-66 integration (#136) which handles NIP-50 relay discovery and search-time dead relay filtering. The NDK layer would provide WebSocket connection savings on top.
Blocked on: nostr-dev-kit/ndk#387