bitcoinlib
bitcoinlib copied to clipboard
Doge txid problem
>>> tx = bitcoinlib.transactions.Transaction(
inputs=inputs,
outputs=outputs,
network="bitcoinlib",
version=1,
witness_type=witness,
)
>>> tx.sign(keys=keys)
>>> print(tx.as_dict())
{'txid': 'ce740c9087b265a87e578eef42ba388d93028b0df8209521bfceb4be52665f3f', 'date': None, 'network': 'dogecoin', 'witness_type': 'legacy', 'coinbase': False, 'flag': None, 'txhash': '', 'confirmations': None, 'block_height': None, 'block_hash': None, 'fee': 100000000, 'fee_per_kb': None, 'inputs': [{'index_n': 0, 'prev_txid': '4b43c97c2d45855e85942a04c95b5c8083ef33bcfbe3348b785a9aa218016ff9', 'output_n': 0, 'script_type': 'sig_pubkey', 'address': 'DLbgym7GJ4Jpx3rV1Cu2aDu2YrwFyrbUQv', 'value': 1500000000, 'public_keys': '02b9338bdff457ce217fce7703216064fb09d54d8c13012679da990ab6385d544d', 'compressed': True, 'encoding': 'base58', 'double_spend': False, 'script': '473044022066a936496cb0812f8277c9125e3567f0f0e0dcc904825aff93bba701fd3a2a8802207cd12639ff97645e79f5d4a1f89ab39ae11d14e611b693a27d8972b6a259ba3a012102b9338bdff457ce217fce7703216064fb09d54d8c13012679da990ab6385d544d', 'redeemscript': '', 'sequence': 4294967295, 'signatures': ['66a936496cb0812f8277c9125e3567f0f0e0dcc904825aff93bba701fd3a2a887cd12639ff97645e79f5d4a1f89ab39ae11d14e611b693a27d8972b6a259ba3a'], 'sigs_required': 1, 'locktime_cltv': None, 'locktime_csv': None, 'public_hash': 'a991735941d14026bc6e0364f25ddd4931bc39be', 'script_code': '76a914a991735941d14026bc6e0364f25ddd4931bc39be88ac', 'unlocking_script': '473044022066a936496cb0812f8277c9125e3567f0f0e0dcc904825aff93bba701fd3a2a8802207cd12639ff97645e79f5d4a1f89ab39ae11d14e611b693a27d8972b6a259ba3a012102b9338bdff457ce217fce7703216064fb09d54d8c13012679da990ab6385d544d', 'unlocking_script_unsigned': '76a914a991735941d14026bc6e0364f25ddd4931bc39be88ac', 'witness_type': 'legacy', 'witness': '3044022066a936496cb0812f8277c9125e3567f0f0e0dcc904825aff93bba701fd3a2a8802207cd12639ff97645e79f5d4a1f89ab39ae11d14e611b693a27d8972b6a259ba3a0102b9338bdff457ce217fce7703216064fb09d54d8c13012679da990ab6385d544d', 'sort': False, 'valid': None}], 'outputs': [{'value': 1400000000, 'script': '76a91461d0db8c4a3f41af8bfa15cc3ec81c16e5188cfb88ac', 'script_type': 'p2pkh', 'public_key': '', 'public_hash': '61d0db8c4a3f41af8bfa15cc3ec81c16e5188cfb', 'address': 'DE4JHYgh9qSBz4okqtYDVppEJK6ZMprCE7', 'output_n': 0, 'spent': False, 'spending_txid': '', 'spending_index_n': None}], 'input_total': 1500000000, 'output_total': 1400000000, 'version': 1, 'locktime': 0, 'raw': '0100000001f96f0118a29a5a788b34e3fbbc33ef83805c5bc9042a94855e85452d7cc9434b000000006a473044022066a936496cb0812f8277c9125e3567f0f0e0dcc904825aff93bba701fd3a2a8802207cd12639ff97645e79f5d4a1f89ab39ae11d14e611b693a27d8972b6a259ba3a012102b9338bdff457ce217fce7703216064fb09d54d8c13012679da990ab6385d544dffffffff01004e7253000000001976a91461d0db8c4a3f41af8bfa15cc3ec81c16e5188cfb88ac00000000', 'size': 191, 'vsize': None, 'verified': False, 'status': 'new'}
>>> print(tx.txid)
ce740c9087b265a87e578eef42ba388d93028b0df8209521bfceb4be52665f3f
>>> t = bitcoinlib.transactions.Transaction.import_raw(rawtx=tx.as_dict()["raw"], network="dogecoin")
>>> print(t.txid)
cc5033e052f80a3c38e579e5389b491dfd47ff9d5967ecdfefb91b7dbe2f7871
How can it works? I mean, why the same raw transaction has different txid?
Could you check if the problem persists in the new version of the library (0.6.0)? I fixed a couple of issues with some service providers.
bitcoinlib==0.6.0
>>> tx = bitcoinlib.transactions.Transaction(
inputs=inputs,
outputs=outputs,
network="bitcoinlib",
version=1,
witness_type=witness,
)
>>> tx.sign(keys=keys)
>>> print(tx.as_dict())
{'txid': 'ce740c9087b265a87e578eef42ba388d93028b0df8209521bfceb4be52665f3f', 'date': None, 'network': 'dogecoin', 'witness_type': 'legacy', 'coinbase': False, 'flag': None, 'txhash': '', 'confirmations': None, 'block_height': None, 'block_hash': None, 'fee': 100000000, 'fee_per_kb': None, 'inputs': [{'index_n': 0, 'prev_txid': '4b43c97c2d45855e85942a04c95b5c8083ef33bcfbe3348b785a9aa218016ff9', 'output_n': 0, 'script_type': 'sig_pubkey', 'address': 'DLbgym7GJ4Jpx3rV1Cu2aDu2YrwFyrbUQv', 'value': 1500000000, 'public_keys': '02b9338bdff457ce217fce7703216064fb09d54d8c13012679da990ab6385d544d', 'compressed': True, 'encoding': 'base58', 'double_spend': False, 'script': '473044022066a936496cb0812f8277c9125e3567f0f0e0dcc904825aff93bba701fd3a2a8802207cd12639ff97645e79f5d4a1f89ab39ae11d14e611b693a27d8972b6a259ba3a012102b9338bdff457ce217fce7703216064fb09d54d8c13012679da990ab6385d544d', 'redeemscript': '', 'sequence': 4294967295, 'signatures': ['66a936496cb0812f8277c9125e3567f0f0e0dcc904825aff93bba701fd3a2a887cd12639ff97645e79f5d4a1f89ab39ae11d14e611b693a27d8972b6a259ba3a'], 'sigs_required': 1, 'locktime_cltv': None, 'locktime_csv': None, 'public_hash': 'a991735941d14026bc6e0364f25ddd4931bc39be', 'script_code': '76a914a991735941d14026bc6e0364f25ddd4931bc39be88ac', 'unlocking_script': '473044022066a936496cb0812f8277c9125e3567f0f0e0dcc904825aff93bba701fd3a2a8802207cd12639ff97645e79f5d4a1f89ab39ae11d14e611b693a27d8972b6a259ba3a012102b9338bdff457ce217fce7703216064fb09d54d8c13012679da990ab6385d544d', 'unlocking_script_unsigned': '76a914a991735941d14026bc6e0364f25ddd4931bc39be88ac', 'witness_type': 'legacy', 'witness': '3044022066a936496cb0812f8277c9125e3567f0f0e0dcc904825aff93bba701fd3a2a8802207cd12639ff97645e79f5d4a1f89ab39ae11d14e611b693a27d8972b6a259ba3a0102b9338bdff457ce217fce7703216064fb09d54d8c13012679da990ab6385d544d', 'sort': False, 'valid': None}], 'outputs': [{'value': 1400000000, 'script': '76a91461d0db8c4a3f41af8bfa15cc3ec81c16e5188cfb88ac', 'script_type': 'p2pkh', 'public_key': '', 'public_hash': '61d0db8c4a3f41af8bfa15cc3ec81c16e5188cfb', 'address': 'DE4JHYgh9qSBz4okqtYDVppEJK6ZMprCE7', 'output_n': 0, 'spent': False, 'spending_txid': '', 'spending_index_n': None}], 'input_total': 1500000000, 'output_total': 1400000000, 'version': 1, 'locktime': 0, 'raw': '0100000001f96f0118a29a5a788b34e3fbbc33ef83805c5bc9042a94855e85452d7cc9434b000000006a473044022066a936496cb0812f8277c9125e3567f0f0e0dcc904825aff93bba701fd3a2a8802207cd12639ff97645e79f5d4a1f89ab39ae11d14e611b693a27d8972b6a259ba3a012102b9338bdff457ce217fce7703216064fb09d54d8c13012679da990ab6385d544dffffffff01004e7253000000001976a91461d0db8c4a3f41af8bfa15cc3ec81c16e5188cfb88ac00000000', 'size': 191, 'vsize': None, 'verified': False, 'status': 'new'}
>>> print(tx.txid)
ce740c9087b265a87e578eef42ba388d93028b0df8209521bfceb4be52665f3f
>>> t = bitcoinlib.transactions.Transaction.parse_hex(rawtx=tx.as_dict()["raw"], network="dogecoin")
>>> print(t.txid)
cc5033e052f80a3c38e579e5389b491dfd47ff9d5967ecdfefb91b7dbe2f7871
Still has the same values...