签署一个事务时,我已经从之前引用的事务中复制了scriptPubKey(对于输入中的脚本字段)并附加了哈希类型。
然后在原始事务中,我用scriptSig替换了脚本并删除了哈希类型。 Raw Transaction
但是,当我检查交易是coinb.in时,它表示交易未签名。 我用来生成的代码的灵感来自Ken Shirriff's blog和Shlomi's video on youtube
我的代码版本可以找到here
填充交易的片段在这里:
def get_real_transaction(self,account):
sigscript = self.generate_sig_script(account)
self.real_transaction = ""
self.real_transaction = (
self.version
+ self.txn_inputs_count
+ self.txn_inputs[0]["output_hash"]
+ self.txn_inputs[0]["output_index"]
+ self.txn_inputs[0]["sigScriptBytes"]
+ self.txn_inputs[0]["sigScript"]
+ self.txn_inputs[0]["sequence"]
+ self.txn_outputs_count
+ self.txn_outputs[0]["value"]
+ self.txn_outputs[0]["scriptPubKeyBytes"]
+ self.txn_outputs[0]["scriptPubKey"]
+ self.locktime
)
return self.real_transaction
整个transaction.py为here
任何指导/提示都会非常有用。