pub struct PrivateKey {
pub compressed: bool,
pub network: NetworkKind,
pub inner: SecretKey,
}Expand description
A Bitcoin ECDSA private key
Fields§
§compressed: boolWhether this private key should be serialized as compressed
network: NetworkKindThe network kind on which this key should be used
inner: SecretKeyThe actual ECDSA key
Implementations§
Source§impl PrivateKey
impl PrivateKey
Sourcepub fn generate(network: impl Into<NetworkKind>) -> PrivateKey
pub fn generate(network: impl Into<NetworkKind>) -> PrivateKey
Constructs new compressed ECDSA private key using the secp256k1 algorithm and a secure random number generator.
Sourcepub fn new(key: SecretKey, network: impl Into<NetworkKind>) -> PrivateKey
pub fn new(key: SecretKey, network: impl Into<NetworkKind>) -> PrivateKey
Constructs compressed ECDSA private key from the provided generic Secp256k1 private key and the specified network
Sourcepub fn new_uncompressed(
key: SecretKey,
network: impl Into<NetworkKind>,
) -> PrivateKey
pub fn new_uncompressed( key: SecretKey, network: impl Into<NetworkKind>, ) -> PrivateKey
Constructs uncompressed (legacy) ECDSA private key from the provided generic Secp256k1 private key and the specified network
Sourcepub fn public_key<C>(&self, secp: &Secp256k1<C>) -> PublicKeywhere
C: Signing,
pub fn public_key<C>(&self, secp: &Secp256k1<C>) -> PublicKeywhere
C: Signing,
Creates a public key from this private key
Sourcepub fn from_slice(
data: &[u8],
network: impl Into<NetworkKind>,
) -> Result<PrivateKey, Error>
pub fn from_slice( data: &[u8], network: impl Into<NetworkKind>, ) -> Result<PrivateKey, Error>
Deserialize a private key from a slice
Sourcepub fn fmt_wif(&self, fmt: &mut dyn Write) -> Result<(), Error>
pub fn fmt_wif(&self, fmt: &mut dyn Write) -> Result<(), Error>
Format the private key to WIF format.
Sourcepub fn from_wif(wif: &str) -> Result<PrivateKey, FromWifError>
pub fn from_wif(wif: &str) -> Result<PrivateKey, FromWifError>
Parse WIF encoded private key.
Sourcepub fn negate(&self) -> PrivateKey
pub fn negate(&self) -> PrivateKey
Returns a new private key with the negated secret value.
The resulting key corresponds to the same x-only public key (identical x-coordinate) but with the opposite y-coordinate parity. This is useful for ensuring compatibility with specific public key formats and BIP-340 requirements.
Trait Implementations§
Source§impl Clone for PrivateKey
impl Clone for PrivateKey
Source§fn clone(&self) -> PrivateKey
fn clone(&self) -> PrivateKey
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for PrivateKey
impl Debug for PrivateKey
Source§impl<'de> Deserialize<'de> for PrivateKey
impl<'de> Deserialize<'de> for PrivateKey
Source§fn deserialize<D>(d: D) -> Result<PrivateKey, <D as Deserializer<'de>>::Error>where
D: Deserializer<'de>,
fn deserialize<D>(d: D) -> Result<PrivateKey, <D as Deserializer<'de>>::Error>where
D: Deserializer<'de>,
Source§impl Display for PrivateKey
impl Display for PrivateKey
Source§impl FromStr for PrivateKey
impl FromStr for PrivateKey
Source§type Err = FromWifError
type Err = FromWifError
Source§fn from_str(s: &str) -> Result<PrivateKey, FromWifError>
fn from_str(s: &str) -> Result<PrivateKey, FromWifError>
s to return a value of this type. Read more