nostr-websocket

Consolidate WebSocket connection patterns for Nostr relays in Go, C++, and Rust.

1|Updated Sep 20, 2025
One-click install
npx skills add https://github.com/Silberengel/next.orly.dev --skill nostr-websocket-silberengel
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: nostr-websocket
Source: https://github.com/Silberengel/next.orly.dev/tree/main/.claude/skills/nostr-websocket
Command: npx skills add https://github.com/Silberengel/next.orly.dev --skill nostr-websocket-silberengel

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes references (resource) components.

What problem does it solve?

Nostr relay WebSocket integration is intricate and error-prone; this skill centralizes RFC 6455 fundamentals, production-ready patterns, and language-specific implementations to help you design, implement, and troubleshoot reliable relay connections.

Core Features & Use Cases

  • Understand and implement the WebSocket handshake, frame handling, masking rules, ping/pong keep-alives, and close semantics for Nostr relays.
  • Explore language-specific patterns across Go (khatru), C++ (strfry), and Rust (nostr-rs-relay) with concrete code examples for lifecycle management, concurrency safety, and message routing.
  • Use cases include building a Nostr relay client/server, debugging real-time event streams, and optimizing throughput and reliability.

Quick Start

Review RFC 6455 WebSocket basics and study production-ready patterns across Go, C++, and Rust to implement robust Nostr relay WebSocket clients and servers.

Frequently Asked Questions about nostr-websocket

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I handle WebSocket handshakes and framing for a Nostr relay?

Nostr relay WebSocket connections require RFC 6455 compliant handshake, frame handling, masking rules, and ping/pong keep-alives. This skill provides production-ready patterns for lifecycle management and real-time event broadcasting across Go, C++, and Rust.

What is the best way to manage concurrency safely in a Nostr relay?

Safe concurrent access in a Nostr relay requires per-connection lifecycle management and message batching. This skill outlines language-specific concurrency patterns for Go (khatru), C++ (strfry), and Rust (nostr-rs-relay) to optimize throughput and reliability.

Does this provide WebSocket code examples for Go, Rust, and C++ relays?

Yes, it provides concrete code examples for Go (khatru), C++ (strfry), and Rust (nostr-rs-relay). These examples cover WebSocket lifecycle management, concurrency safety, and message routing for building and debugging Nostr relay clients and servers.

How do I debug real-time Nostr event streams over WebSocket?

Debugging real-time Nostr event streams involves tracing WebSocket close semantics and framing issues. This skill centralizes RFC 6455 fundamentals and troubleshooting patterns to identify and resolve reliability and throughput bottlenecks in relay connections.

Why does my Nostr relay WebSocket connection keep dropping?

Dropped WebSocket connections often stem from improper ping/pong keep-alives or close semantics. This skill addresses RFC 6455 compliance and per-connection lifecycle management to troubleshoot and prevent unstable Nostr relay connections.