NostrElixir.Nip57 (nostr_elixir v0.1.0)

View Source

NIP-57: Lightning Zaps (public, private, anonymous zap requests and decryption)

Examples

iex> alias NostrElixir.Nip57
iex> data = Nip57.ZapRequestData.new(
...>   public_key: "npub...",
...>   relays: ["wss://relay.damus.io"],
...>   message: "Thanks!",
...>   amount: 1000
...> )
iex> keys = ... # JSON-encoded NostrElixir.Keys
iex> event_json = Nip57.private_zap_request(data, keys)
iex> event = Jason.decode!(event_json)
...
iex> decrypted = Nip57.decrypt_sent_private_zap_message(secret_key, public_key, event_json)
...

Summary

Functions

Create an anonymous zap request event (returns JSON string).

Decrypt a received private zap message (returns decrypted event JSON).

Decrypt a sent private zap message (returns decrypted event JSON).

Create a private zap request event (returns JSON string).

Functions

anonymous_zap_request(data)

Create an anonymous zap request event (returns JSON string).

decrypt_received_private_zap_message(secret_key, event_json)

Decrypt a received private zap message (returns decrypted event JSON).

decrypt_sent_private_zap_message(secret_key, public_key, event_json)

Decrypt a sent private zap message (returns decrypted event JSON).

private_zap_request(data, secret_key_hex)

Create a private zap request event (returns JSON string).