nips/55.md

28 lines
1.2 KiB
Markdown
Raw Normal View History

2024-05-17 11:02:34 -04:00
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.
2024-05-04 19:18:25 -04:00
## Defining the file path for UDS
2024-05-17 11:05:35 -04:00
UDS needs a file path as a qualifier so that both client and server can agree on a place to exchange information.
2024-05-04 19:18:25 -04:00
2024-05-17 11:19:19 -04:00
The system wide file path will be chosen as `/tmp/nip55.sock`
2024-05-17 11:10:16 -04:00
2024-05-17 11:19:19 -04:00
The user specific file path will be chosen as `~/.nostr/nip55.sock`
2024-05-04 19:18:25 -04:00
## Communication
2024-05-17 11:02:34 -04:00
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.