Skip to main content

PublicKey

Struct PublicKey 

Source
pub struct PublicKey(pub VerifyingKey);
Expand description

This is a public key, which identifies an actor (usually a person) and is shared.

Tuple Fields§

§0: VerifyingKey

Implementations§

Source§

impl PublicKey

Source

pub fn as_hex_string(&self) -> String

Render into a hexadecimal string

Consider converting .into() a PublicKeyHex which is a wrapped type rather than a naked String

Source

pub fn try_from_hex_string(v: &str) -> Result<PublicKey, Error>

Create from a hexadecimal string

Source

pub fn try_as_bech32_string(&self) -> Result<String, Error>

Export as a bech32 encoded string

Source

pub fn try_from_bech32_string(s: &str) -> Result<PublicKey, Error>

Import from a bech32 encoded string

Source

pub fn from_bytes(bytes: &[u8]) -> Result<PublicKey, Error>

Import from raw bytes

Source

pub fn as_bytes(&self) -> Vec<u8>

Export as raw bytes

Source

pub fn verify(&self, message: &[u8], signature: Signature) -> Result<(), Error>

Verify a signed message

Methods from Deref<Target = VerifyingKey>§

Source

pub fn as_affine(&self) -> &AffinePoint

Borrow the inner AffinePoint this type wraps.

Source

pub fn to_bytes(&self) -> GenericArray<u8, <Secp256k1 as Curve>::FieldBytesSize>

Serialize as bytes.

Source

pub fn verify_raw( &self, message: &[u8], signature: &Signature, ) -> Result<(), Error>

Compute Schnorr signature.

§⚠️ Warning

This is a low-level interface intended only for unusual use cases involving verifying pre-hashed messages, or “raw” messages where the message is not hashed at all prior to being used to generate the Schnorr signature.

The preferred interfaces are the DigestVerifier or PrehashVerifier traits.

Trait Implementations§

Source§

impl AsMut<VerifyingKey> for PublicKey

Source§

fn as_mut(&mut self) -> &mut VerifyingKey

Converts this type into a mutable reference of the (usually inferred) input type.
Source§

impl AsRef<VerifyingKey> for PublicKey

Source§

fn as_ref(&self) -> &VerifyingKey

Converts this type into a shared reference of the (usually inferred) input type.
Source§

impl Clone for PublicKey

Source§

fn clone(&self) -> PublicKey

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§

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

Performs copy-assignment from source. Read more
Source§

impl Copy for PublicKey

Source§

impl Debug for PublicKey

Source§

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

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

impl Deref for PublicKey

Source§

type Target = VerifyingKey

The resulting type after dereferencing.
Source§

fn deref(&self) -> &Self::Target

Dereferences the value.
Source§

impl<'de> Deserialize<'de> for PublicKey

Source§

fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
where D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
Source§

impl Eq for PublicKey

Source§

impl From<PublicKey> for VerifyingKey

Source§

fn from(original: PublicKey) -> Self

Converts to this type from the input type.
Source§

impl From<PublicKey> for PublicKeyHex

Source§

fn from(pk: PublicKey) -> PublicKeyHex

Converts to this type from the input type.
Source§

impl From<VerifyingKey> for PublicKey

Source§

fn from(original: VerifyingKey) -> PublicKey

Converts to this type from the input type.
Source§

impl Hash for PublicKey

Source§

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

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 PartialEq for PublicKey

Source§

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

Equality operator ==. Read more
1.0.0 (const: unstable) · Source§

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

Inequality operator !=. Read more
Source§

impl Serialize for PublicKey

Source§

fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
where S: Serializer,

Serialize this value into the given Serde serializer. Read more
Source§

impl StructuralPartialEq for PublicKey

Source§

impl TryFrom<PublicKeyHex> for PublicKey

Source§

type Error = Error

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

fn try_from(pkh: PublicKeyHex) -> Result<PublicKey, Error>

Performs the conversion.

Auto Trait Implementations§

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<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<T> DeserializeOwned for T
where T: for<'de> Deserialize<'de>,

Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

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<P, T> Receiver for P
where P: Deref<Target = T> + ?Sized, T: ?Sized,

Source§

type Target = T

🔬This is a nightly-only experimental API. (arbitrary_self_types)
The target type on which the method may be called.
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.