Changes for version 4.001
- Public interface changes
- Bitcoin::Crypto::Transaction:
- added block attribute
- added is_coinbase method
- added params argument to from_serialized method
- Bitcoin::Crypto::Block:
- added clearer to merkle_root attribute
- added clearer to height attribute
- height attribute can now be lazy built from coinbase transaction in version 2 and above blocks
- Bitcoin::Crypto::Transaction:
- Improvements and behavior changes
- block and transaction deserialization performance has been greatly improved
- checking bytestrings in various function inputs has been optimized
- adding a transaction to a block now sets the block attribute in the transaction
- calling update_utxos on a transaction now sets block in utxo if transaction has a block
- coinbase transactions are now verified using a simplified procedure:
- general format of the coinbase transaction is verified
- some details, most notably block subsidy, are currently not verified
- verification requires a block to be set in the transaction
- deserializing a block now validates the coinbase transaction
- Deprecations
- passing block through the parameter to verify method is now deprecated in favor of set_block
Documentation
Module overview
Taproot support details
Transaction support details
Modules
Bitcoin cryptography in Perl
BIP44 (multi-account hierarchy) implementation
BIP85 (deterministic entropy) implementation
Base58 helpers
Bech32 implementation
Bitcoin block implementation
Path for BIP32 key derivation
Exception classes for Bitcoin::Crypto
Bitcoin extended private keys
Bitcoin extended public keys
"Nothing up my sleeve" key generator
Bitcoin private keys
Bitcoin public keys
Network management class
Partially Signed Bitcoin Transactions
Single field of a PSBT
PSBT field types
Single map of a PSBT
Bitcoin Script instance
Bitcoin Script opcode
Bitcoin Script runner
BIP341 Script trees
Bitcoin script subclass for tapscripts
Bitcoin opcodes specific to tapscript
Bitcoin transaction instance
BIP341 Control blocks
Result of digesting a transaction
Bitcoin transaction input instance
Bitcoin transaction output instance
Unspent transaction output instance
Bitcoin-specific data types
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/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/Key/Base.pm
in lib/Bitcoin/Crypto/Key/ExtBase.pm
in lib/Bitcoin/Crypto/Role/Compressed.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/Role/WithDerivationPath.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/Digest/Config.pm
in lib/Bitcoin/Crypto/Transaction/Sign.pm
Examples
- ex/bip44.pl
- ex/bip44_extpub.pl
- ex/bip85_mnemonic.pl
- ex/networks.pl
- ex/persistent_hd_wallet.pl
- ex/script_runner.pl
- ex/signature_generator.pl
- ex/tx/legacy.pl
- ex/tx/multisig_compat_create.pl
- ex/tx/multisig_compat_redeem.pl
- ex/tx/multisig_create.pl
- ex/tx/multisig_redeem.pl
- ex/tx/nulldata.pl
- ex/tx/segwit.pl
- ex/tx/taproot.pl
- ex/tx/taproot_script_create.pl
- ex/tx/taproot_script_redeem.pl
- ex/tx_dumper.pl