
383
부록
A
연습문제 해답
>>> sig = Signature.parse(der)
>>> print(point.verify(z, sig))
True
연습문제
8.5
p2sh
트랜잭션을 검증할 수 있도록
sig
_
hash
와
verify
_
input
메서드를 수정하시오.
class Tx:
...
def sig_hash(self, input_index, redeem_script=None):
'''Returns the integer representation of the hash that needs to get
signed for index input_index'''
s = int_to_little_endian(self.version, 4)
s += encode_varint(len(self.tx_ins))
for i, tx_in in enumerate(self.tx_ins):
if i == input_index:
if redeem_script:
script_sig = redeem_script
else:
script_sig = tx_in.script_pubkey(self.testnet)
else:
script_sig = None
s += TxIn(
prev_tx=tx_in.prev_tx,
prev_index=tx_in.prev_index,
script_sig=script_sig ...