コード例 #1
0
ファイル: sig.py プロジェクト: sparklecoin/btcpy
 def solve(self, digest):
     from .transaction import Witness
     pubkey = self.privk.pub()
     sig = self.privk.sign(digest)
     return (ScriptSig.from_stack_data([
         StackData.from_bytes(sig + self.sighash.as_byte()),
         StackData.from_bytes(pubkey.compressed)
     ]), Witness([]))
コード例 #2
0
ファイル: sig.py プロジェクト: sparklecoin/btcpy
 def solve(self, *digests):
     from .transaction import Witness
     if len(digests) != len(self.privkeys):
         raise ValueError('{} privkeys provided and {} digests'.format(
             len(self.privkeys), len(digests)))
     script_sig_data = [StackData.zero()]
     for priv, digest, sighash in zip(self.privkeys, digests,
                                      self.sighashes):
         sig = priv.sign(digest)
         script_sig_data.append(
             StackData.from_bytes(sig + sighash.as_byte()))
     return ScriptSig.from_stack_data(script_sig_data), Witness([])
コード例 #3
0
def nulldata_script(data: bytes) -> NulldataScript:
    '''create nulldata (OP_return) script'''

    stack = StackData.from_bytes(data)
    return NulldataScript(stack)
コード例 #4
0
def SegWit_Witness(sig, pubkey):  #TODO Successfully
    witness_sig = StackData.from_bytes(unhexlify(sig))
    witness_pubkey = StackData.from_bytes(unhexlify(pubkey))
    witness = Witness([witness_sig, witness_pubkey])
    return witness
コード例 #5
0
ファイル: sig.py プロジェクト: sparklecoin/btcpy
 def solve(self, *digests):
     script_sig, witness = self.inner_solver.solve(*digests)
     script_sig_data = script_sig.get_data()
     script_sig_data.append(StackData.from_bytes(self.preimage))
     return ScriptSig.from_stack_data(script_sig_data), witness