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
andtestnet
.-
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
unsigned_raw (str) – bitcoin unsigned transaction raw.
solver (bitcoin.solver.FundSolver, bitcoin.solver.ClaimSolver, bitcoin.solver.RefundSolver) – bitcoin solver
- 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
unsigned_raw (str) – bitcoin unsigned fund transaction raw.
solver (bitcoin.solver.FundSolver) – bitcoin fund solver.
- 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
unsigned_raw (str) – bitcoin unsigned claim transaction raw.
solver (bitcoin.solver.ClaimSolver) – bitcoin claim solver.
- 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
unsigned_raw (str) – bitcoin unsigned refund transaction raw.
solver (bitcoin.solver.RefundSolver) – bitcoin refund solver.
- 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>