@snort/system
The core Nostr system library providing caching, querying, and relay management.
Installation
bash
bun add @snort/systemQuick Example
typescript
import { NostrSystem, RequestBuilder, EventKind } from '@snort/system'
const System = new NostrSystem({
automaticOutboxModel: true,
buildFollowGraph: true,
checkSigs: true,
})
await System.Init()
await System.ConnectToRelay('wss://relay.snort.social', { read: true, write: true })
const rb = new RequestBuilder('feed')
.withFilter().kinds([EventKind.TextNote]).limit(50)
const q = System.Query(rb)
q.on('event', (events) => console.log(events))Sections
- NostrSystem - Central orchestrator configuration and lifecycle
- Relay Management - Connection pool, relay settings, outbox model
- Query System - RequestBuilder, filters, subscriptions
- Caching - Profile cache, relay cache, CacheRelay
- Signers - EventSigner, PrivateKeySigner, NIP-07, NIP-46, NIP-55
- Event Builder & Publisher - Building, signing, and publishing events
- NostrLink - Link parsing, encoding, and tag conversion
- NIP Implementations - NIP-04, NIP-10, NIP-25, NIP-44, NIP-57, etc.
- Text Parsing - Content parsing, mentions, hashtags, media
- User State - Managing user profile, follows, relays, appdata