NIP-07
Especificação do protocolo Nostr voltada para navegação web e aplicações web.
Capacidade window.nostr para navegadores web
draft optional
O objeto window.nostr pode ser disponibilizado por navegadores web ou extensões, e sites ou aplicações web podem fazer uso dele após verificar sua disponibilidade.
Esse objeto deve definir os seguintes métodos:
async window.nostr.getPublicKey(): string
// retorna uma chave pública em formato hexadecimal
async window.nostr.signEvent(event: {
created_at: number,
kind: number,
tags: string[][],
content: string
}): Event
// recebe um objeto de evento, adiciona `id`, `pubkey` e `sig` e o retorna
Além desses dois métodos básicos acima, as seguintes funções também podem ser implementadas de forma opcional:
async window.nostr.nip04.encrypt(pubkey, plaintext): string
// retorna ciphertext e iv conforme especificado no nip-04 (obsoleto)
async window.nostr.nip04.decrypt(pubkey, ciphertext): string
// recebe ciphertext e iv conforme especificado no nip-04 (obsoleto)
async window.nostr.nip44.encrypt(pubkey, plaintext): string
// retorna ciphertext conforme especificado no nip-44
async window.nostr.nip44.decrypt(pubkey, ciphertext): string
// recebe ciphertext conforme especificado no nip-44
Recomendação para autores de extensões
Para garantir que o window.nostr esteja disponível para clientes Nostr no momento do carregamento da página, autores que criam extensões para Chromium e Firefox devem carregar seus scripts especificando:
"run_at": "document_end"
no manifesto da extensão.
Implementação
Veja: https://github.com/aljazceru/awesome-nostr#nip-07-browser-extensions
No comments yet.