Struct bitcoin::key::CompressedPublicKey
source · pub struct CompressedPublicKey(pub PublicKey);
Expand description
An always-compressed Bitcoin ECDSA public key
Tuple Fields§
§0: PublicKey
Implementations§
source§impl CompressedPublicKey
impl CompressedPublicKey
sourcepub fn pubkey_hash(&self) -> PubkeyHash
pub fn pubkey_hash(&self) -> PubkeyHash
Returns bitcoin 160-bit hash of the public key
sourcepub fn wpubkey_hash(&self) -> WPubkeyHash
pub fn wpubkey_hash(&self) -> WPubkeyHash
Returns bitcoin 160-bit hash of the public key for witness program
sourcepub fn p2wpkh_script_code(&self) -> ScriptBuf
pub fn p2wpkh_script_code(&self) -> ScriptBuf
Returns the script code used to spend a P2WPKH input.
sourcepub fn write_into<W: Write + ?Sized>(&self, writer: &mut W) -> Result<(), Error>
pub fn write_into<W: Write + ?Sized>(&self, writer: &mut W) -> Result<(), Error>
Write the public key into a writer
sourcepub fn read_from<R: Read + ?Sized>(reader: &mut R) -> Result<Self, Error>
pub fn read_from<R: Read + ?Sized>(reader: &mut R) -> Result<Self, Error>
Read the public key from a reader
This internally reads the first byte before reading the rest, so
use of a BufReader
is recommended.
sourcepub fn to_bytes(&self) -> [u8; 33]
pub fn to_bytes(&self) -> [u8; 33]
Serializes the public key.
As the type name suggests, the key is serialzied in compressed format.
Note that this can be used as a sort key to get BIP67-compliant sorting.
That’s why this type doesn’t have the to_sort_key
method - it would duplicate this one.
sourcepub fn from_slice(data: &[u8]) -> Result<Self, Error>
pub fn from_slice(data: &[u8]) -> Result<Self, Error>
Deserialize a public key from a slice
sourcepub fn from_private_key<C: Signing>(
secp: &Secp256k1<C>,
sk: &PrivateKey
) -> Result<Self, UncompressedPublicKeyError>
pub fn from_private_key<C: Signing>( secp: &Secp256k1<C>, sk: &PrivateKey ) -> Result<Self, UncompressedPublicKeyError>
Computes the public key as supposed to be used with this secret
Trait Implementations§
source§impl Clone for CompressedPublicKey
impl Clone for CompressedPublicKey
source§fn clone(&self) -> CompressedPublicKey
fn clone(&self) -> CompressedPublicKey
Returns a copy of the value. Read more
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source
. Read moresource§impl Debug for CompressedPublicKey
impl Debug for CompressedPublicKey
source§impl<'de> Deserialize<'de> for CompressedPublicKey
impl<'de> Deserialize<'de> for CompressedPublicKey
source§fn deserialize<D: Deserializer<'de>>(d: D) -> Result<Self, D::Error>
fn deserialize<D: Deserializer<'de>>(d: D) -> Result<Self, D::Error>
Deserialize this value from the given Serde deserializer. Read more
source§impl Display for CompressedPublicKey
impl Display for CompressedPublicKey
source§impl From<&CompressedPublicKey> for PubkeyHash
impl From<&CompressedPublicKey> for PubkeyHash
source§fn from(key: &CompressedPublicKey) -> Self
fn from(key: &CompressedPublicKey) -> Self
Converts to this type from the input type.
source§impl From<&CompressedPublicKey> for WPubkeyHash
impl From<&CompressedPublicKey> for WPubkeyHash
source§fn from(key: &CompressedPublicKey) -> Self
fn from(key: &CompressedPublicKey) -> Self
Converts to this type from the input type.
source§impl From<CompressedPublicKey> for PubkeyHash
impl From<CompressedPublicKey> for PubkeyHash
source§fn from(key: CompressedPublicKey) -> Self
fn from(key: CompressedPublicKey) -> Self
Converts to this type from the input type.
source§impl From<CompressedPublicKey> for PublicKey
impl From<CompressedPublicKey> for PublicKey
source§fn from(value: CompressedPublicKey) -> Self
fn from(value: CompressedPublicKey) -> Self
Converts to this type from the input type.
source§impl From<CompressedPublicKey> for WPubkeyHash
impl From<CompressedPublicKey> for WPubkeyHash
source§fn from(key: CompressedPublicKey) -> Self
fn from(key: CompressedPublicKey) -> Self
Converts to this type from the input type.
source§impl From<CompressedPublicKey> for XOnlyPublicKey
impl From<CompressedPublicKey> for XOnlyPublicKey
source§fn from(pk: CompressedPublicKey) -> Self
fn from(pk: CompressedPublicKey) -> Self
Converts to this type from the input type.
source§impl FromStr for CompressedPublicKey
impl FromStr for CompressedPublicKey
source§impl Hash for CompressedPublicKey
impl Hash for CompressedPublicKey
source§impl Ord for CompressedPublicKey
impl Ord for CompressedPublicKey
source§fn cmp(&self, other: &CompressedPublicKey) -> Ordering
fn cmp(&self, other: &CompressedPublicKey) -> Ordering
1.21.0 · source§fn max(self, other: Self) -> Selfwhere
Self: Sized,
fn max(self, other: Self) -> Selfwhere Self: Sized,
Compares and returns the maximum of two values. Read more
source§impl PartialEq<CompressedPublicKey> for CompressedPublicKey
impl PartialEq<CompressedPublicKey> for CompressedPublicKey
source§fn eq(&self, other: &CompressedPublicKey) -> bool
fn eq(&self, other: &CompressedPublicKey) -> bool
This method tests for
self
and other
values to be equal, and is used
by ==
.source§impl PartialOrd<CompressedPublicKey> for CompressedPublicKey
impl PartialOrd<CompressedPublicKey> for CompressedPublicKey
source§fn partial_cmp(&self, other: &CompressedPublicKey) -> Option<Ordering>
fn partial_cmp(&self, other: &CompressedPublicKey) -> Option<Ordering>
1.0.0 · source§fn le(&self, other: &Rhs) -> bool
fn le(&self, other: &Rhs) -> bool
This method tests less than or equal to (for
self
and other
) and is used by the <=
operator. Read moresource§impl Serialize for CompressedPublicKey
impl Serialize for CompressedPublicKey
source§impl TryFrom<PublicKey> for CompressedPublicKey
impl TryFrom<PublicKey> for CompressedPublicKey
impl Copy for CompressedPublicKey
impl Eq for CompressedPublicKey
impl StructuralEq for CompressedPublicKey
impl StructuralPartialEq for CompressedPublicKey
Auto Trait Implementations§
impl RefUnwindSafe for CompressedPublicKey
impl Send for CompressedPublicKey
impl Sync for CompressedPublicKey
impl Unpin for CompressedPublicKey
impl UnwindSafe for CompressedPublicKey
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more