🚨 Latest Research:Tanstack npm Packages Compromised in Ongoing Mini Shai-Hulud Supply-Chain Attack.Learn More
Socket
Book a DemoSign in
Socket

@nostr-dev-kit/cache-sqlite

Package Overview
Dependencies
Maintainers
2
Versions
57
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@nostr-dev-kit/cache-sqlite

SQLite cache adapter for NDK using better-sqlite3, compatible with Node.js environments.

latest
Source
npmnpm
Version
8.0.0
Version published
Maintainers
2
Created
Source

NDK Cache SQLite

SQLite cache adapter for NDK using better-sqlite3, compatible with Node.js environments.

Features

  • Node.js Compatible: Uses better-sqlite3 for native Node.js SQLite support
  • Schema Compatibility: Uses the same database schema as cache-sqlite-wasm for easy migration
  • High Performance: Leverages better-sqlite3's synchronous API for optimal performance
  • Full NDK Integration: Implements the complete NDKCacheAdapter interface
  • TypeScript Support: Full TypeScript definitions included

Installation

npm install @nostr-dev-kit/cache-sqlite
# or
yarn add @nostr-dev-kit/cache-sqlite
# or
bun add @nostr-dev-kit/cache-sqlite

Usage

import NDK from '@nostr-dev-kit/ndk';
import { NDKCacheAdapterSqlite } from '@nostr-dev-kit/cache-sqlite';

const cache = new NDKCacheAdapterSqlite({
  dbPath: './ndk-cache.db', // Optional: custom database path
  dbName: 'ndk-cache'       // Optional: database name (used if dbPath not provided)
});

const ndk = new NDK({
  cacheAdapter: cache,
  // ... other NDK options
});

// Initialize the cache adapter
await cache.initializeAsync(ndk);
await ndk.connect();

Configuration Options

interface NDKCacheAdapterSqliteOptions {
  dbPath?: string;  // Custom path to SQLite database file
  dbName?: string;  // Database name (default: 'ndk-cache')
}

Database Schema

The adapter uses the same schema as cache-sqlite-wasm:

  • events - Stores Nostr events
  • profiles - Stores user profiles
  • decrypted_events - Stores decrypted events
  • unpublished_events - Tracks unpublished events
  • event_tags - Indexes event tags for fast queries
  • relay_status - Tracks relay connection status
  • nutzap_monitor_state - Stores nutzap monitoring state

Compatibility

This package is designed to be a drop-in replacement for cache-sqlite-wasm in Node.js environments. The database schema is identical, allowing for easy migration between the two adapters.

Development

# Install dependencies
bun install

# Run tests
bun test

# Build the package
bun run build

License

MIT

Keywords

nostr

FAQs

Package last updated on 10 Feb 2026

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts