Skip to main content

NostrKeys

Struct NostrKeys 

Source
pub struct NostrKeys {
    pub public_key: PublicKey,
    /* private fields */
}
Expand description

Nostr keys

Fields§

§public_key: PublicKey

Public key

Implementations§

Source§

impl Keys

Source

pub fn vanity<S>( prefixes: Vec<S>, bech32: bool, num_cores: usize, ) -> Result<Keys, Error>
where S: Into<String>,

Generate new vanity public key

Source§

impl Keys

Source

pub fn new(secret_key: SecretKey) -> Keys

Initialize nostr keys from secret key.

This method internally construct the Keypair and derive the PublicKey.

Source

pub fn new_with_ctx<C>(secp: &Secp256k1<C>, secret_key: SecretKey) -> Keys
where C: Signing,

Initialize nostr keys from secret key.

This method internally construct the Keypair and derive the PublicKey.

Source

pub fn parse<S>(secret_key: S) -> Result<Keys, Error>
where S: AsRef<str>,

Parse secret key from hex or bech32 and compose keys

Source

pub fn parse_with_ctx<C, S>( secp: &Secp256k1<C>, secret_key: S, ) -> Result<Keys, Error>
where C: Signing, S: AsRef<str>,

Parse secret key from hex or bech32 and compose keys

Source

pub fn generate() -> Keys

Generate random keys

This constructor use a random number generator that retrieves randomness from the operating system (see OsRng).

Use Keys::generate_with_rng to specify a custom random source.

Check Keys::generate_with_ctx to learn more about how this constructor works internally.

Source

pub fn generate_with_rng<R>(rng: &mut R) -> Keys
where R: Rng + ?Sized,

Generate random keys using a custom random source

Check Keys::generate_with_ctx to learn more about how this constructor works internally.

Source

pub fn generate_with_ctx<C, R>(secp: &Secp256k1<C>, rng: &mut R) -> Keys
where C: Signing, R: Rng + ?Sized,

Generate random keys

Generate random keys without construct the Keypair. This allows faster keys generation (i.e. for vanity pubkey mining). The Keypair will be automatically created when needed and stored in a cell.

Source

pub fn generate_without_keypair_with_ctx<C, R>( secp: &Secp256k1<C>, rng: &mut R, ) -> Keys
where C: Signing, R: Rng + ?Sized,

👎Deprecated since 0.35.0: Use generate_with_ctx instead
Source

pub fn generate_without_keypair<R>(rng: &mut R) -> Keys
where R: Rng + ?Sized,

👎Deprecated since 0.35.0: Use generate or generate_with_rng instead
Source

pub fn public_key(&self) -> PublicKey

Get public key

Source

pub fn public_key_ref(&self) -> &PublicKey

👎Deprecated since 0.35.0

Get public key

Source

pub fn secret_key(&self) -> &SecretKey

Get secret key

Source

pub fn key_pair<C>(&self, secp: &Secp256k1<C>) -> &Keypair
where C: Signing,

Get keypair

Source

pub fn sign_schnorr(&self, message: &Message) -> Signature

Creates a schnorr signature of the Message.

This method use a random number generator that retrieves randomness from the operating system (see OsRng).

Source

pub fn sign_schnorr_with_ctx<C, R>( &self, secp: &Secp256k1<C>, message: &Message, rng: &mut R, ) -> Signature
where C: Signing, R: Rng + CryptoRng,

Creates a schnorr signature of the Message using a custom random number generation source.

Trait Implementations§

Source§

impl Clone for Keys

Source§

fn clone(&self) -> Keys

Returns a duplicate of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for Keys

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

Formats the value using the given formatter. Read more
Source§

impl FromMnemonic for Keys

Source§

type Err = Error

Error
Source§

fn from_mnemonic_with_ctx<C, S>( secp: &Secp256k1<C>, mnemonic: S, passphrase: Option<S>, account: Option<u32>, type: Option<u32>, index: Option<u32>, ) -> Result<Keys, <Keys as FromMnemonic>::Err>
where C: Signing, S: AsRef<str>,

Derive from BIP-39 mnemonics with custom account (ENGLISH wordlist). Read more
Source§

fn from_mnemonic<S>( mnemonic: S, passphrase: Option<S>, ) -> Result<Self, Self::Err>
where S: AsRef<str>,

Derive from BIP-39 mnemonics (ENGLISH wordlist). Read more
Source§

fn from_mnemonic_with_account<S>( mnemonic: S, passphrase: Option<S>, account: Option<u32>, ) -> Result<Self, Self::Err>
where S: AsRef<str>,

Derive from BIP-39 mnemonics with custom account (ENGLISH wordlist). Read more
Source§

fn from_mnemonic_advanced<S>( mnemonic: S, passphrase: Option<S>, account: Option<u32>, type: Option<u32>, index: Option<u32>, ) -> Result<Self, Self::Err>
where S: AsRef<str>,

Derive from BIP-39 mnemonics with custom account, type and/or index (ENGLISH wordlist). Read more
Source§

impl FromStr for Keys

Available on crate feature std only.
Source§

fn from_str(secret_key: &str) -> Result<Keys, <Keys as FromStr>::Err>

Try to parse Keys from secret key hex or bech32

Source§

type Err = Error

The associated error which can be returned from parsing.
Source§

impl Hash for Keys

Source§

fn hash<H>(&self, state: &mut H)
where H: Hasher,

Feeds this value into the given Hasher. Read more
1.3.0 · Source§

fn hash_slice<H>(data: &[Self], state: &mut H)
where H: Hasher, Self: Sized,

Feeds a slice of this type into the given Hasher. Read more
Source§

impl Ord for Keys

Source§

fn cmp(&self, other: &Keys) -> Ordering

This method returns an Ordering between self and other. Read more
1.21.0 · Source§

fn max(self, other: Self) -> Self
where Self: Sized,

Compares and returns the maximum of two values. Read more
1.21.0 · Source§

fn min(self, other: Self) -> Self
where Self: Sized,

Compares and returns the minimum of two values. Read more
1.50.0 · Source§

fn clamp(self, min: Self, max: Self) -> Self
where Self: Sized,

Restrict a value to a certain interval. Read more
Source§

impl PartialEq for Keys

Source§

fn eq(&self, other: &Keys) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · Source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl PartialOrd for Keys

Source§

fn partial_cmp(&self, other: &Keys) -> Option<Ordering>

This method returns an ordering between self and other values if one exists. Read more
1.0.0 · Source§

fn lt(&self, other: &Rhs) -> bool

Tests less than (for self and other) and is used by the < operator. Read more
1.0.0 · Source§

fn le(&self, other: &Rhs) -> bool

Tests less than or equal to (for self and other) and is used by the <= operator. Read more
1.0.0 · Source§

fn gt(&self, other: &Rhs) -> bool

Tests greater than (for self and other) and is used by the > operator. Read more
1.0.0 · Source§

fn ge(&self, other: &Rhs) -> bool

Tests greater than or equal to (for self and other) and is used by the >= operator. Read more
Source§

impl Eq for Keys

Auto Trait Implementations§

§

impl !Freeze for Keys

§

impl RefUnwindSafe for Keys

§

impl Send for Keys

§

impl Sync for Keys

§

impl Unpin for Keys

§

impl UnsafeUnpin for Keys

§

impl UnwindSafe for Keys

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<'a, T, E> AsTaggedExplicit<'a, E> for T
where T: 'a,

Source§

fn explicit(self, class: Class, tag: u32) -> TaggedParser<'a, Explicit, Self, E>

Source§

impl<'a, T, E> AsTaggedExplicit<'a, E> for T
where T: 'a,

Source§

fn explicit(self, class: Class, tag: u32) -> TaggedParser<'a, Explicit, Self, E>

Source§

impl<'a, T, E> AsTaggedImplicit<'a, E> for T
where T: 'a,

Source§

fn implicit( self, class: Class, constructed: bool, tag: u32, ) -> TaggedParser<'a, Implicit, Self, E>

Source§

impl<'a, T, E> AsTaggedImplicit<'a, E> for T
where T: 'a,

Source§

fn implicit( self, class: Class, constructed: bool, tag: u32, ) -> TaggedParser<'a, Implicit, Self, E>

Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<Q, K> Comparable<K> for Q
where Q: Ord + ?Sized, K: Borrow<Q> + ?Sized,

Source§

fn compare(&self, key: &K) -> Ordering

Compare self to key and return their ordering.
Source§

impl<Q, K> Equivalent<K> for Q
where Q: Eq + ?Sized, K: Borrow<Q> + ?Sized,

Source§

fn equivalent(&self, key: &K) -> bool

Checks if this value is equivalent to the given key. Read more
Source§

impl<Q, K> Equivalent<K> for Q
where Q: Eq + ?Sized, K: Borrow<Q> + ?Sized,

Source§

fn equivalent(&self, key: &K) -> bool

Compare self to key and return true if they are equal.
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T> FromRef<T> for T
where T: Clone,

Source§

fn from_ref(input: &T) -> T

Converts to this type from a reference to the input type.
Source§

impl<T> Instrument for T

Source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> IntoEither for T

Source§

fn into_either(self, into_left: bool) -> Either<Self, Self>

Converts self into a Left variant of Either<Self, Self> if into_left is true. Converts self into a Right variant of Either<Self, Self> otherwise. Read more
Source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where F: FnOnce(&Self) -> bool,

Converts self into a Left variant of Either<Self, Self> if into_left(&self) returns true. Converts self into a Right variant of Either<Self, Self> otherwise. Read more
Source§

impl<T> Pointable for T

Source§

const ALIGN: usize

The alignment of pointer.
Source§

type Init = T

The type for initializers.
Source§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
Source§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
Source§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
Source§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
Source§

impl<T> PolicyExt for T
where T: ?Sized,

Source§

fn and<P, B, E>(self, other: P) -> And<T, P>
where T: Policy<B, E>, P: Policy<B, E>,

Create a new Policy that returns Action::Follow only if self and other return Action::Follow. Read more
Source§

fn or<P, B, E>(self, other: P) -> Or<T, P>
where T: Policy<B, E>, P: Policy<B, E>,

Create a new Policy that returns Action::Follow if either self or other returns Action::Follow. Read more
Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

Source§

fn vzip(self) -> V

Source§

impl<T> WithSubscriber for T

Source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

impl<A, B, T> HttpServerConnExec<A, B> for T
where B: Body,