add blockcore to nip-07 and mark extra methods as optional.

This commit is contained in:
fiatjaf 2022-12-18 06:35:30 -03:00
parent c840d75ce0
commit 745297e8c4
No known key found for this signature in database
GPG Key ID: BAD43C4BE5C1A3A1

11
07.md
View File

@ -13,12 +13,17 @@ That object must define the following methods:
```
async window.nostr.getPublicKey(): string // returns a public key as hex
async window.nostr.signEvent(event: Event): Event // takes an event object and returns it with the `sig`
async window.nostr.getRelays(): { [url: string]: {read: boolean, write: boolean} } // returns a map of relay urls to relay policies
async window.nostr.nip04.encrypt(pubkey, plaintext): string // returns ciphertext+iv as specified in nip-04
async window.nostr.nip04.decrypt(pubkey, ciphertext): string // takes ciphertext+iv as specified in nip-04
```
Aside from these two basic above, the following functions can also be implemented optionally:
```
async window.nostr.getRelays(): { [url: string]: {read: boolean, write: boolean} } // returns a basic map of relay urls to relay policies
async window.nostr.nip04.encrypt(pubkey, plaintext): string // returns ciphertext and iv as specified in nip-04
async window.nostr.nip04.decrypt(pubkey, ciphertext): string // takes ciphertext and iv as specified in nip-04
```
### Implementation
- [nos2x](https://github.com/fiatjaf/nos2x) is available as a Chromium extension that provides such capabilities.
- [Alby](https://getalby.com) is a Bitcoin extension that also provides a compatible `window.nostr`.
- [Blockcore](https://www.blockcore.net/wallet)