コード例 #1
0
ファイル: masternode.py プロジェクト: seci-nect/electrum-seci
 def serialize(self, vds=None):
     if not vds:
         vds = BCDataStream()
     serialize_input(vds, self.vin)
     vds.write(hash_decode(self.block_hash))
     vds.write_int64(self.sig_time)
     vds.write_string(self.sig)
     return vds.input.encode('hex')
コード例 #2
0
    def create_proposal_tx(self, proposal_name, password, save = True):
        """Create a fee transaction for proposal_name."""
        proposal = self.get_proposal(proposal_name)
        if proposal.fee_txid:
            print_error('Warning: Proposal "%s" already has a fee tx: %s' % (proposal_name, proposal.fee_txid))
        if proposal.submitted:
            raise Exception('Proposal has already been submitted')

        h = bitcoin.hash_decode(proposal.get_hash()).encode('hex')
        script = '6a20' + h # OP_RETURN hash
        outputs = [(bitcoin.TYPE_SCRIPT, script.decode('hex'), BUDGET_FEE_TX)]
        tx = self.wallet.mktx(outputs, password, self.config)
        proposal.fee_txid = tx.hash()
        if save:
            self.save()
        return tx
コード例 #3
0
ファイル: masternode.py プロジェクト: seci-nect/electrum-seci
def serialize_input(vds, vin):
    vds.write(hash_decode(vin['prevout_hash']))
    vds.write_uint32(vin['prevout_n'])
    vds.write_string(vin['scriptSig'])
    vds.write_uint32(vin['sequence'])