nips/55.md
2024-05-17 11:19:19 -04:00

28 lines
1.2 KiB
Markdown

NIP-55
======
Unix Domain Socket Communication
--------------------------------
`optional`
For the purpose of this NIP, we will define a standard way to communicate via Unix Domain Sockets (UDS). UDS is a way to communicate between processes on the same machine. This NIP will define a standard way to communicate between the client and the server.
## Defining the file path for UDS
UDS needs a file path as a qualifier so that both client and server can agree on a place to exchange information.
The system wide file path will be chosen as `/tmp/nip55.sock`
The user specific file path will be chosen as `~/.nostr/nip55.sock`
## Communication
Communications over this socket will be done via the JSON-RPC collection found in NIP-46. This will allow for a standard way to communicate between the client and the server.
## Motivation
Managing private keys across multiple applications can be tedious and insecure.
By centralizing key management, users can store their private keys in a single, secure application. This key management application will handle all signing requests from other applications via UDS, ensuring that private keys are never exposed to individual applications.