Signature

Bitcoin signature.

class shuttle.providers.bitcoin.signature.Signature(network='testnet', version=2)

Bitcoin Signature class.

Parameters
  • version (int) – bitcoin transaction version, defaults to 2.

  • network (str) – bitcoin network, defaults to testnet.

Returns

Transaction – bitcoin transaction instance.

Note

Bitcoin has only two networks, mainnet and testnet.

hash()

Get bitcoin signature transaction hash.

Returns

str – bitcoin signature transaction hash or transaction id.

>>> signature.hash()
"9cc0524fb8e7b2c5fecaee4eb91d43a3dc5cc18e9906abcb35a5732ff52efcc7"
json()

Get bitcoin signature transaction json format.

Returns

str – bitcoin signature transaction json format.

>>> signature.json()
{"hex": "02000000012c392217483906f902e73c4bc132864de58153772d79268960998162266634be0100000000ffffffff02e80300000000000017a914971894c58d85981c16c2059d422bcde0b156d04487a6290000000000001976a9146bce65e58a50b97989930e9a4ff1ac1a77515ef188ac00000000", "txid": "9cc0524fb8e7b2c5fecaee4eb91d43a3dc5cc18e9906abcb35a5732ff52efcc7", "hash": "9cc0524fb8e7b2c5fecaee4eb91d43a3dc5cc18e9906abcb35a5732ff52efcc7", "size": 117, "vsize": 117, "version": 2, "locktime": 0, "vin": [{"txid": "be346626628199608926792d775381e54d8632c14b3ce702f90639481722392c", "vout": 1, "scriptSig": {"asm": "", "hex": ""}, "sequence": "4294967295"}], "vout": [{"value": "0.00001000", "n": 0, "scriptPubKey": {"asm": "OP_HASH160 971894c58d85981c16c2059d422bcde0b156d044 OP_EQUAL", "hex": "a914971894c58d85981c16c2059d422bcde0b156d04487", "type": "p2sh", "address": "2N729UBGZB3xjsGFRgKivy4bSjkaJGMVSpB"}}, {"value": "0.00010662", "n": 1, "scriptPubKey": {"asm": "OP_DUP OP_HASH160 6bce65e58a50b97989930e9a4ff1ac1a77515ef1 OP_EQUALVERIFY OP_CHECKSIG", "hex": "76a9146bce65e58a50b97989930e9a4ff1ac1a77515ef188ac", "type": "p2pkh", "address": "mqLyrNDjpENRMZAoDpspH7kR9RtgvhWzYE"}}]}
raw()

Get bitcoin signature transaction raw.

Returns

str – bitcoin signature transaction raw.

>>> signature.raw()
"02000000012c392217483906f902e73c4bc132864de58153772d79268960998162266634be0100000000ffffffff02e80300000000000017a914971894c58d85981c16c2059d422bcde0b156d04487a6290000000000001976a9146bce65e58a50b97989930e9a4ff1ac1a77515ef188ac00000000"
sign(unsigned_raw, solver)

Sign unsigned transaction raw.

Parameters
Returns

FundSignature, ClaimSignature, RefundSignature – bitcoin signature instance.

>>> from shuttle.providers.bitcoin.signature import Signature
>>> signature = Signature()
>>> signature.sign(bitcoin_claim_unsigned, claim_solver)
<shuttle.providers.bitcoin.signature.ClaimSignature object at 0x0409DAF0>
signed_raw()

Get bitcoin signed transaction raw.

Returns

str – bitcoin signed transaction raw.

>>> from shuttle.providers.bitcoin.signature import Signature
>>> signature = Signature()
>>> signature.sign(bitcoin_refund_unsigned, refund_solver)
>>> signature.signed_raw()
"eyJmZWUiOiA2NzgsICJyYXciOiAiMDIwMDAwMDAwMTJjMzkyMjE3NDgzOTA2ZjkwMmU3M2M0YmMxMzI4NjRkZTU4MTUzNzcyZDc5MjY4OTYwOTk4MTYyMjY2NjM0YmUwMTAwMDAwMDAwZmZmZmZmZmYwMmU4MDMwMDAwMDAwMDAwMDAxN2E5MTQ5NzE4OTRjNThkODU5ODFjMTZjMjA1OWQ0MjJiY2RlMGIxNTZkMDQ0ODdhNjI5MDAwMDAwMDAwMDAwMTk3NmE5MTQ2YmNlNjVlNThhNTBiOTc5ODk5MzBlOWE0ZmYxYWMxYTc3NTE1ZWYxODhhYzAwMDAwMDAwIiwgIm91dHB1dHMiOiBbeyJhbW91bnQiOiAxMjM0MCwgIm4iOiAxLCAic2NyaXB0IjogIjc2YTkxNDZiY2U2NWU1OGE1MGI5Nzk4OTkzMGU5YTRmZjFhYzFhNzc1MTVlZjE4OGFjIn1dLCAidHlwZSI6ICJiaXRjb2luX2Z1bmRfdW5zaWduZWQifQ"
type()

Get bitcoin signature transaction type.

Returns

str – bitcoin signature transaction type.

>>> signature.type()
"bitcoin_fund_signed"

FundSignature

class shuttle.providers.bitcoin.signature.FundSignature(network='testnet', version=2)

Bitcoin FundSignature class.

Parameters
  • version (int) – bitcoin fund signature transaction version, defaults to 2.

  • network (str) – bitcoin network, defaults to testnet.

Returns

FundSignature – bitcoin fund signature instance.

Fee

Get bitcoin fund signature transaction fee.

>>> fund_signature.fee
675
sign(unsigned_raw, solver)

Sign unsigned fund transaction raw.

Parameters
Returns

FundSignature – bitcoin fund signature instance.

>>> from shuttle.providers.bitcoin.signature import FundSignature
>>> fund_signature = FundSignature()
>>> fund_signature.sign(bitcoin_fund_unsigned, fund_solver)
<shuttle.providers.bitcoin.signature.FundSignature object at 0x0409DAF0>

ClaimSignature

class shuttle.providers.bitcoin.signature.ClaimSignature(network='testnet', version=2)

Bitcoin ClaimSignature class.

Parameters
  • version (int) – bitcoin claim signature transaction version, defaults to 2.

  • network (str) – bitcoin network, defaults to testnet.

Returns

ClaimSignature – bitcoin claim signature instance.

Fee

Get bitcoin claim signature transaction fee.

>>> claim_signature.fee
675
sign(unsigned_raw, solver)

Sign unsigned claim transaction raw.

Parameters
Returns

ClaimSignature – bitcoin claim signature instance.

>>> from shuttle.providers.bitcoin.signature import ClaimSignature
>>> claim_signature = ClaimSignature()
>>> claim_signature.sign(bitcoin_claim_unsigned, claim_solver)
<shuttle.providers.bitcoin.signature.ClaimSignature object at 0x0409DAF0>

RefundSignature

class shuttle.providers.bitcoin.signature.RefundSignature(network='testnet', version=2)

Bitcoin RefundSignature class.

Parameters
  • version (int) – bitcoin refund signature transaction version, defaults to 2.

  • network (str) – bitcoin network, defaults to testnet.

Returns

RefundSignature – bitcoin claim signature instance.

Fee

Get bitcoin refund signature transaction fee.

>>> refund_signature.fee
675
sign(unsigned_raw, solver)

Sign unsigned refund transaction raw.

Parameters
Returns

RefundSignature – bitcoin refund signature instance.

>>> from shuttle.providers.bitcoin.signature import RefundSignature
>>> refund_signature = RefundSignature()
>>> refund_signature.sign(bitcoin_refund_unsigned, refund_solver)
<shuttle.providers.bitcoin.signature.RefundSignature object at 0x0409DAF0>