View Source NostrBasics.Event.Id (NostrBasics v0.0.9)

Event id conversion functions

Link to this section Summary

Functions

Converts a bech32 event id into its binary format

Converts a bech32 event id into its binary format

Converts an event binary id into a bech32 format

Does its best to convert any event id format to binary, issues an error if it can't

Converts any type of event id into a hex format

Converts a bech32 event id into a hex string format

Link to this section Functions

Link to this function

from_bech32(bech32_event_id)

View Source
@spec from_bech32(binary()) :: {:ok, binary(), binary()} | {:error, atom()}

Converts a bech32 event id into its binary format

examples

Examples

iex> "note19e93faw4ffqepsqsrwrnstd3ee00nmzakwwuyfjm43dankgummfqms4p6q"
...> |> NostrBasics.Event.Id.from_bech32
{:ok, "note", <<0x2e4b14f5d54a4190c0101b87382db1ce5ef9ec5db39dc2265bac5bd9d91cded2::256>>}
@spec from_bech32!(binary()) :: <<_::256>>

Converts a bech32 event id into its binary format

examples

Examples

iex> "note19e93faw4ffqepsqsrwrnstd3ee00nmzakwwuyfjm43dankgummfqms4p6q"
...> |> NostrBasics.Event.Id.from_bech32!
<<0x2e4b14f5d54a4190c0101b87382db1ce5ef9ec5db39dc2265bac5bd9d91cded2::256>>
Link to this function

to_bech32(event_id, hrp)

View Source
@spec to_bech32(<<_::256>> | String.t(), String.t()) :: String.t()

Converts an event binary id into a bech32 format

examples

Examples

iex> <<0x2e4b14f5d54a4190c0101b87382db1ce5ef9ec5db39dc2265bac5bd9d91cded2::256>>
...> |> NostrBasics.Event.Id.to_bech32("note")
"note19e93faw4ffqepsqsrwrnstd3ee00nmzakwwuyfjm43dankgummfqms4p6q"

iex> "2e4b14f5d54a4190c0101b87382db1ce5ef9ec5db39dc2265bac5bd9d91cded2"
...> |> NostrBasics.Event.Id.to_bech32("note")
"note19e93faw4ffqepsqsrwrnstd3ee00nmzakwwuyfjm43dankgummfqms4p6q"
@spec to_binary(<<_::256>> | String.t() | list()) ::
  {:ok, String.t(), <<_::256>>}
  | {:ok, String.t(), [<<_::256>>]}
  | {:error, String.t()}

Does its best to convert any event id format to binary, issues an error if it can't

examples

Examples

iex> "note1qkjgra6cm5ms6m88kqdapfjnxm8q50lcurevtpvm4f6pfs8j5sxq90f098"
...> |> NostrBasics.Event.Id.to_binary()
{ :ok, "note", <<0x05a481f758dd370d6ce7b01bd0a65336ce0a3ff8e0f2c5859baa7414c0f2a40c::256>> }
@spec to_hex(<<_::256>> | binary()) :: {:ok, binary(), <<_::512>>} | {:error, atom()}

Converts any type of event id into a hex format

examples

Examples

iex> <<0x2e4b14f5d54a4190c0101b87382db1ce5ef9ec5db39dc2265bac5bd9d91cded2::256>>
...> |> NostrBasics.Event.Id.to_hex()
{:ok, nil, "2e4b14f5d54a4190c0101b87382db1ce5ef9ec5db39dc2265bac5bd9d91cded2"}

iex> "note19e93faw4ffqepsqsrwrnstd3ee00nmzakwwuyfjm43dankgummfqms4p6q"
...> |> NostrBasics.Event.Id.to_hex
{:ok, "note", "2e4b14f5d54a4190c0101b87382db1ce5ef9ec5db39dc2265bac5bd9d91cded2"}
@spec to_hex!(binary()) :: <<_::512>>

Converts a bech32 event id into a hex string format

examples

Examples

iex> "note19e93faw4ffqepsqsrwrnstd3ee00nmzakwwuyfjm43dankgummfqms4p6q"
...> |> NostrBasics.Event.Id.to_hex!
"2e4b14f5d54a4190c0101b87382db1ce5ef9ec5db39dc2265bac5bd9d91cded2"