Bitcoin-Crypto
view release on metacpan or search on metacpan
- fix bech32 encoding by removing mandatory bit translation - old behavior can be achieved by using new translate_ functions
- change encode_bech32 and decode_bech32 input and output format
- add new Bitcoin::Crypto::Bech32 exported functions: translate_5to8 and translate_8to5
- remove Bitcoin::Crypto::Bech32::split_bech32 from exported functions
1.001 Thu Sep 9 2021
- prefer GMP to LTM backend in Math::BigInt
1.000 Sun Sep 5 2021
- end of the beta phase
- imported mnemonics must now be proper unicode strings (important for non-english mnemonics)
- module will now use Crypt::Perl when available to produce deterministic signatures
- add Bitcoin::Crypto::Util::mnemonic_to_seed function
- set_compressed method on keys now properly handles undefined values
- code refactors and documentation improvements
0.997 Fri Jun 11 2021
- implement BIP44 derivation paths
- add derive_key_bip44 helper to extended private key class
- remove previously deprecated Exception::KeySign
- refactor testing out of examples
lib/Bitcoin/Crypto/Key/ExtPrivate.pm view on Meta::CPAN
after / in between words.
If no C<$lang> is given then any string passed as C<$mnemonic> will produce a
valid key. B<This means even adding whitespace (eg. trailing newline) will
produce a different key>. Be careful when using this method without C<$lang>
argument as you can easily create keys incompatible with other software due to
these whitespace problems.
Returns a new instance of this class.
B<Important note about unicode:> this function only accepts UTF8-decoded
strings (both C<$mnemonic> and C<$password>), but can't detect whether it got
it or not. This will only become a problem if you use non-ascii mnemonic and/or
password. If there's a possibility of non-ascii, always use utf8 and set
binmodes to get decoded (wide) characters to avoid problems recovering your
wallet.
=head2 from_seed
$key_object = $class->from_seed($seed)
lib/Bitcoin/Crypto/Util.pm view on Meta::CPAN
C<$seed>, which can be fed into L<Bitcoin::Crypto::Key::ExtPrivate/from_seed>.
C<$seed> is a C<512> bit bytestring (64 characters). C<$mnemonic> should be a
BIP39 mnemonic, but will not be checked against a dictionary.
This function is only useful if you need a seed instead of mnemonic (for
example, you use a wallet implementation which does not implement BIP39). If
you only want to create a private key from mnemonic, you should consider using
L<Bitcoin::Crypto::Key::ExtPrivate/from_mnemonic> instead.
B<Important note about unicode:> this function only accepts UTF8-decoded
strings (both C<$mnemonic> and C<$password>), but can't detect whether it got
it or not. This will only become a problem if you use non-ascii mnemonic and/or
password. If there's a possibility of non-ascii, always use utf8 and set
binmodes to get decoded (wide) characters to avoid problems recovering your
wallet.
=head2 get_path_info
$path_data = get_path_info($path);
( run in 0.385 second using v1.01-cache-2.11-cpan-88abd93f124 )