Use this to sign Nostr events on web-apps without having to give them your keys.
It implements NIP-07, i.e. provides a window.nostr
object which has the following methods:
async window.nostr.getPublicKey(): string // returns your public key as hex
async window.nostr.signEvent(event): Event // returns the full event object signed
async window.nostr.getRelays(): { [url: string]: RelayPolicy } // returns a map of relays
async window.nostr.nip04.encrypt(pubkey, plaintext): string // returns ciphertext+iv as specified in nip04
async window.nostr.nip04.decrypt(pubkey, ciphertext): string // takes ciphertext+iv as specified in nip04
async window.nostr.nip44.encrypt(pubkey, plaintext): string // takes pubkey, plaintext, returns ciphertext as specified in nip-44
async window.nostr.nip44.decrypt(pubkey, ciphertext): string // takes pubkey, ciphertext, returns plaintext as specified in nip-44
This extension is Chromium-only. For a maintained Firefox fork, see nos2x-fox.
screencast.mp4
To run the plugin from this code:
git clone https://github.com/fiatjaf/nos2x
cd nos2x
yarn
./build.js prod
then
- go to
chrome://extensions
; - ensure "developer mode" is enabled on the top right;
- click on "Load unpackaged";
- select the
extension/
folder of this repository.
LICENSE: public domain.
Icon made by Freepik from www.flaticon.com.