def sub_transaction(self, recipient, amount):
     # 交易结构[[t1,t2,t3]]
     if amount > self.amount:
         return False
     else:
         t1 = {# 字典顺序不能修改,否则网络传输过程中改变最终hash值
                 'amount': amount,
                 'recipient': recipient,
                 'sender': str(self.public_key),
                 }
         signature = sign(t1, self.private_key)
         t2 = {'signature': signature}
         t3 = {'txhash': sha_256(t1)}
         tx = [t1, t2, t3]
         self.current_transactions.append(tx)
         return True
Beispiel #2
0
def sign_verify(private_key, message, sender, recipient, amount):
    sign_pub_key = wallet.sign(private_key, message)
    return sign_pub_key
Beispiel #3
0
addrfrom = P2PKHBitcoinAddress.from_pubkey(pubkey)
addrfromhex = P2PKHBitcoinAddress.from_pubkey(pubkeyhex.decode("hex"))
print("\nAddress From %s" % addrfrom)
print("\nAddress From Hex %s" % addrfromhex)

message = "bitid://localhost:5000/callback?x=30f56bc022dde976&u=1"

print("\nClear: %s" % message)
encrypted = encrypt.encrypt(wallet.get_public_key(), message)
print("\nEncrypted: %s" % encrypted)

decrypted = encrypt.decrypt(wallet.get_private_key_wif(), encrypted)
print("\nDecrypted: %s" % decrypted)

signature = wallet.sign(message)

print("\nSignature: %s" % signature)
print("\nVerified: %s" % wallet.verify(message, signature))

test1_raw_hex = '3e52050b58e1765ca9abfce576aa0efc27eaa4dd11a4051affabd050e6b92324'
test1_private_key_wif = privateKeyToWif(test1_raw_hex)
test1_key = CBitcoinSecret(test1_private_key_wif)
test1_pub = test1_key.pub

test2_private_key_wif = wallet.get_private_key_wif()
test2_key = wallet.get_private_key()
test2_pub = test2_key.pub

message = "foobar"
print("\nClear: %s" % message)
Beispiel #4
0
	def SignTx(self, priv_key, msg):
		signature_and_public_key =  wallet.sign(priv_key, msg)
		self.msg = msg
		self.signature = str(signature_and_public_key[0])[2:-1]
		self.public_key = '04' + signature_and_public_key[-1]