input serialize

This commit is contained in:
4tochka 2018-03-28 14:48:00 +04:00
parent 5e72fc707d
commit 5eba8bb1c0

View File

@ -200,6 +200,12 @@ class Input:
sequence = int.from_bytes(stream.read(4), 'little') sequence = int.from_bytes(stream.read(4), 'little')
return cls(outpoint, script, sequence) return cls(outpoint, script, sequence)
def serialize(self):
return self.outpoint[0] + self.outpoint[1].to_bytes(4, 'little') \
+ to_var_int(len(self.sig_script.raw)) + self.sig_script.raw \
+ self.sequence.to_bytes(4, 'little')
class Output: class Output:
""" Transactin output class """ """ Transactin output class """
@ -418,11 +424,11 @@ class Transaction():
version = self.version.to_bytes(4,'little') version = self.version.to_bytes(4,'little')
ninputs = to_var_int(self.tx_in_count) ninputs = to_var_int(self.tx_in_count)
inputs = [] inputs = []
for number, i in enumerate(self.tx_in): for i in self.tx_in:
input = i.outpoint[0]+i.outpoint[1].to_bytes(4,'little') # input = i.outpoint[0]+i.outpoint[1].to_bytes(4,'little')
input += to_var_int(len(i.sig_script.raw)) + i.sig_script.raw # input += to_var_int(len(i.sig_script.raw)) + i.sig_script.raw
input += i.sequence.to_bytes(4,'little') # input += i.sequence.to_bytes(4,'little')
inputs.append(input) inputs.append(i.serialize())
nouts = to_var_int(self.tx_out_count) nouts = to_var_int(self.tx_out_count)
outputs = [] outputs = []
for number, i in enumerate(self.tx_out): for number, i in enumerate(self.tx_out):