NostrElixir.Event (nostr_elixir v0.1.0)
View SourceEvent creation, signing, verification, and helpers for NostrElixir.
Examples
iex> alias NostrElixir.{Keys, Event}
iex> keys = Keys.generate_keypair()
iex> event_json = Event.new(keys.public_key, "Hello, Nostr!", 1, [])
iex> signed_event_json = Event.sign(event_json, keys.secret_key)
iex> Event.verify(signed_event_json)
true
Summary
Functions
Create and sign a metadata event.
Create and sign a text note event.
Parse event from JSON (validates required fields).
Create a new unsigned event (JSON string).
Sign an event (JSON string) with a secret key.
Return the event as JSON (identity function).
Verify an event's signature.
Types
Functions
@spec create_metadata(map() | String.t(), map()) :: event_json()
Create and sign a metadata event.
@spec create_text_note(map() | String.t(), content()) :: event_json()
Create and sign a text note event.
@spec from_json(event_json()) :: event_json()
Parse event from JSON (validates required fields).
@spec new(pubkey(), content(), integer(), tags()) :: event_json()
Create a new unsigned event (JSON string).
@spec sign(event_json(), secret_key()) :: event_json()
Sign an event (JSON string) with a secret key.
@spec to_json(event_json()) :: event_json()
Return the event as JSON (identity function).
@spec verify(event_json()) :: boolean()
Verify an event's signature.