pub struct Keypair(/* private fields */);Expand description
A vanilla Ed25519 key pair
Implementations§
Source§impl Keypair
impl Keypair
Sourcepub const SECRET_KEY_LENGTH: usize = 32
pub const SECRET_KEY_LENGTH: usize = 32
Can be used for generating a Keypair without a dependency on rand types
Sourcepub fn new_from_array(secret_key: [u8; 32]) -> Keypair
pub fn new_from_array(secret_key: [u8; 32]) -> Keypair
Constructs a new Keypair using secret key bytes
Sourcepub fn try_from_base58_string(s: &str) -> Result<Keypair, Error>
pub fn try_from_base58_string(s: &str) -> Result<Keypair, Error>
Recovers a Keypair from a base58-encoded string
Sourcepub fn from_base58_string(s: &str) -> Keypair
pub fn from_base58_string(s: &str) -> Keypair
Recovers a Keypair from a base58-encoded string
§Panics
Panics if given a malformed base58 string, or if the contents of the encoded string is invalid Keypair data.
Sourcepub fn to_base58_string(&self) -> String
pub fn to_base58_string(&self) -> String
Returns this Keypair as a base58-encoded string
Sourcepub fn secret_bytes(&self) -> &[u8; 32]
pub fn secret_bytes(&self) -> &[u8; 32]
Gets this Keypair’s secret key bytes
Sourcepub fn insecure_clone(&self) -> Keypair
pub fn insecure_clone(&self) -> Keypair
Allows Keypair cloning
Note that the Clone trait is intentionally unimplemented because making a
second copy of sensitive secret keys in memory is usually a bad idea.
Only use this in tests or when strictly required. Consider using std::sync::Arc<Keypair>
instead.
Trait Implementations§
Source§impl EncodableKey for Keypair
impl EncodableKey for Keypair
fn read<R>(reader: &mut R) -> Result<Keypair, Box<dyn Error>>where
R: Read,
fn write<W>(&self, writer: &mut W) -> Result<String, Box<dyn Error>>where
W: Write,
fn read_from_file<F>(path: F) -> Result<Self, Box<dyn Error>>
fn write_to_file<F>(&self, outfile: F) -> Result<String, Box<dyn Error>>
Source§impl EncodableKeypair for Keypair
impl EncodableKeypair for Keypair
Source§fn encodable_pubkey(&self) -> <Keypair as EncodableKeypair>::Pubkey
fn encodable_pubkey(&self) -> <Keypair as EncodableKeypair>::Pubkey
Returns the associated pubkey. Use this function specifically for settings that involve
reading or writing pubkeys. For other settings, use Signer::pubkey() instead.
type Pubkey = Address
Source§impl Signer for Keypair
impl Signer for Keypair
Source§fn pubkey(&self) -> Address
fn pubkey(&self) -> Address
Pubkey if the implementor has none.Source§fn try_pubkey(&self) -> Result<Address, SignerError>
fn try_pubkey(&self) -> Result<Address, SignerError>
Source§fn sign_message(&self, message: &[u8]) -> Signature
fn sign_message(&self, message: &[u8]) -> Signature
message
bytes. Returns the all-zeros Signature if signing is not possible.Source§fn try_sign_message(&self, message: &[u8]) -> Result<Signature, SignerError>
fn try_sign_message(&self, message: &[u8]) -> Result<Signature, SignerError>
message bytes.Source§fn is_interactive(&self) -> bool
fn is_interactive(&self) -> bool
Auto Trait Implementations§
impl Freeze for Keypair
impl RefUnwindSafe for Keypair
impl Send for Keypair
impl Sync for Keypair
impl Unpin for Keypair
impl UnsafeUnpin for Keypair
impl UnwindSafe for Keypair
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
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
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 moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
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