Files
n_signer/client/README.md

2.6 KiB

n_signer C Client — migrated to nostr_core_lib

The hand-rolled nsigner_client.{c,h} that previously lived in this directory has been removed. n_signer now uses the shared, transport-pluggable client stack that lives in nostr_core_lib:

This is the single source of truth for the n_signer wire contract. See nostr_core/NSIGNER_INTEGRATION.md for the full integration contract.

What moved where

Old (client/) New (nostr_core_lib)
nsigner_client_t (stack) nsigner_client_t* (heap) or nostr_signer_t*
nsigner_client_init / connect_unix / close nsigner_transport_open_unix + nsigner_client_new / nsigner_client_free
nsigner_client_get_public_key nostr_signer_get_public_key or nsigner_client_call(..., "get_public_key", ...)
nsigner_client_sign_event nostr_signer_sign_event or nsigner_client_call(..., "sign_event", ...)
nsigner_client_set_auth nsigner_client_set_auth or nostr_signer_nsigner_set_auth
nsigner_client_request / request_raw nsigner_client_call (returns parsed cJSON result)

Consumers (updated)

The nsigner ... client '<json>' subcommand in src/main.c is unaffected — it has its own raw framing pass-through and never used this directory.

Why

Per plans/nsigner_integration_plan.md (Phase 7): retire per-project hand-rolled clients in favor of the shared module in nostr_core_lib, so the wire contract has one implementation and downstream projects get unix/tcp/serial/fds transports for free.