Provide an option to use ncryptsec

This commit is contained in:
water 2024-11-06 11:11:04 +08:00 committed by GitHub
parent 4c0f963292
commit e7e2714452
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

4
60.md
View File

@ -23,7 +23,8 @@ This NIP doesn't deal with users' *receiving* money from someone else, it's just
"kind": 37375, "kind": 37375,
"content": nip44_encrypt([ "content": nip44_encrypt([
[ "balance", "100", "sat" ], [ "balance", "100", "sat" ],
[ "privkey", "hexkey" ] // explained in NIP-61 [ "privkey", "hexkey" ], // explained in NIP-61
[ "ncryptsec", "NIP-49 encrypted private key" ]
]), ]),
"tags": [ "tags": [
[ "d", "my-wallet" ], [ "d", "my-wallet" ],
@ -50,6 +51,7 @@ Tags:
* `description` - Optional human-readable description of the wallet. * `description` - Optional human-readable description of the wallet.
* `balance` - Optional best-effort balance of the wallet that can serve as a placeholder while an accurate balance is computed from fetching all unspent proofs. * `balance` - Optional best-effort balance of the wallet that can serve as a placeholder while an accurate balance is computed from fetching all unspent proofs.
* `privkey` - Private key used to unlock P2PK ecash. MUST be stored encrypted in the `.content` field. **This is a different private key exclusively used for the wallet, not associated in any way to the user's nostr private key** -- This is only used when receiving funds from others, described in NIP-61. * `privkey` - Private key used to unlock P2PK ecash. MUST be stored encrypted in the `.content` field. **This is a different private key exclusively used for the wallet, not associated in any way to the user's nostr private key** -- This is only used when receiving funds from others, described in NIP-61.
* `ncryptsec` - Provide an option to use either the above `privkey` or `ncryptsec`. This approach can help prevent the user's wallet `privkey` from being exposed in case the main nsec is leaked.
Any tag, other than the `d` tag, can be [[NIP-44]] encrypted into the `.content` field. Any tag, other than the `d` tag, can be [[NIP-44]] encrypted into the `.content` field.