The London Perl and Raku Workshop takes place on 26th Oct 2024. If your company depends on Perl, please consider sponsoring and/or attending.

Changes for version 2.000

  • New features
    • added transaction system
    • added script execution system
    • added more examples
    • added manual
    • many minor additions all across the board
  • Improvements
    • all functions and methods now check their input arguments
    • test suite has been refactored
    • better handling of bytestrings with format descriptions (see Manual)
    • better exception handling and reporting
  • Changes and deprecations
    • various format-specific methods like from_hex, to_bytes are now deprecated in all packages
    • simple serialization methods are now called from_serialized and to_serialized in all packages
    • methods generate_mnemonic and mnemonic_from_entropy have been moved to Bitcoin::Crypto::Util
    • deprecate Bitcoin::Crypto::Segwit (use Bitcoin::Crypto::Util::validate_segwit)
    • deprecate Bitcoin::Crypto::Script->get_script (use to_serialized)
    • deprecate Bitcoin::Crypto::Script->get_script_hash (use get_hash)
    • deprecate Bitcoin::Crypto::Key::Private->new (use from_serialized)
    • deprecate Bitcoin::Crypto::Key::Public->new (use from_serialized)
  • Breaking changes
    • removed second argument from sign_message and verify_message. Now always uses hash256 to digest

Documentation

Module overview
Transaction support details

Modules

Bitcoin cryptography in Perl
BIP44 implementation
Base58 helpers
Bech32 implementation
Stripped down block instance
Exception classes for Bitcoin::Crypto
Bitcoin extended private keys
Bitcoin extended public keys
Bitcoin private keys
Bitcoin public keys
Network management class
Bitcoin Script instance
Bitcoin Script opcode
Bitcoin Script runner
Bitcoin transaction instance
Bitcoin transaction input instance
Bitcoin transaction output instance
Unspent transaction output instance
General Bitcoin utilities

Provides

in lib/Bitcoin/Crypto/Constants.pm
in lib/Bitcoin/Crypto/Exception.pm
in lib/Bitcoin/Crypto/Exception.pm
in lib/Bitcoin/Crypto/Exception.pm
in lib/Bitcoin/Crypto/Exception.pm
in lib/Bitcoin/Crypto/Exception.pm
in lib/Bitcoin/Crypto/Exception.pm
in lib/Bitcoin/Crypto/Exception.pm
in lib/Bitcoin/Crypto/Exception.pm
in lib/Bitcoin/Crypto/Exception.pm
in lib/Bitcoin/Crypto/Exception.pm
in lib/Bitcoin/Crypto/Exception.pm
in lib/Bitcoin/Crypto/Exception.pm
in lib/Bitcoin/Crypto/Exception.pm
in lib/Bitcoin/Crypto/Exception.pm
in lib/Bitcoin/Crypto/Exception.pm
in lib/Bitcoin/Crypto/Exception.pm
in lib/Bitcoin/Crypto/Exception.pm
in lib/Bitcoin/Crypto/Exception.pm
in lib/Bitcoin/Crypto/Exception.pm
in lib/Bitcoin/Crypto/Exception.pm
in lib/Bitcoin/Crypto/Exception.pm
in lib/Bitcoin/Crypto/Exception.pm
in lib/Bitcoin/Crypto/Exception.pm
in lib/Bitcoin/Crypto/Helpers.pm
in lib/Bitcoin/Crypto/Role/BasicKey.pm
in lib/Bitcoin/Crypto/Role/Compressed.pm
in lib/Bitcoin/Crypto/Role/ExtendedKey.pm
in lib/Bitcoin/Crypto/Role/Key.pm
in lib/Bitcoin/Crypto/Role/Network.pm
in lib/Bitcoin/Crypto/Role/ShallowClone.pm
in lib/Bitcoin/Crypto/Role/SignVerify.pm
in lib/Bitcoin/Crypto/Script/Common.pm
in lib/Bitcoin/Crypto/Script/Recognition.pm
in lib/Bitcoin/Crypto/Script/Transaction.pm
in lib/Bitcoin/Crypto/Transaction/Digest.pm
in lib/Bitcoin/Crypto/Transaction/Sign.pm
in lib/Bitcoin/Crypto/Types.pm