http://www.7klian.com

基于Python的比特币地点验证开拓教程

步调1:获取我们要查抄的值是否有效。
print(“t|___> Checksum: “, checksum)
    hash = hashlib.sha256(binascii.unhexlify(hash)).hexdigest()

生意业务提供在拥有私钥和地点的比特币钱包之间转移资产。私钥确保生意业务来自钱包的所有者。您还可以在此处查抄如何生成比特币地点和私钥。
    print(“[FALSE] checksum is not valid!”)

生成地点后,您可以以后处查抄余额和属于该地点的生意业务;尽量客户端页面或其他来历会生成比特币地点,而不会向外部发送任何信息,可是我们可以查抄余额和生意业务,余额显示为0 BTC。另外当我们变动比特币地点的一个字符时,,会收到“Checksum does not exist!”的错误提示。该示例说明白如何确保我们的比特币地点有效。您可以在下图看到步调;

print(“————————————–“)
checksum = base58Decoder[len(base58Decoder)-8:]
————————————–
最后,功效如下:

让我们开始研究如何验证比特币地点;
|___> Checksum:  b0a511fb
步调4:按照上图,我们将SHA256哈希应用于从步调3建设的作为Prefix&Hash的值。
base58Decoder = base58.b58decode(bitcoinAddress).hex()
prefixAndHash = base58Decoder[:len(base58Decoder)-8]

    print(“Hash#”, x, ” : “, hash)
for x in range(1,3):
Hash 2  :  b0a511fb05bcf1872be44d98dad592c9641fe47ee7f48f1ecee18b6805bd4ba4
print(“Bitcoin Address: “, bitcoinAddress)
步调3:在步调2中建设的值将生存network&hash和checksum值。我们实验查抄此校验和值以验证比特币地点。
步调2:我们将Base58解码应用于在步调1得到的值。
步调5:在步调4中建设的值的前4个字节被称为Checksum。因此在步调3中建设的校验和值必需便是该值。
|___> Prefix & Hash:  00daa4e87dcb30d406d24f76bcc2afe2ef550c9068
if(checksum == hash[:8]):
print(“————————————–“)
————————————–
print(“t|___> Prefix & Hash: “, prefixAndHash)
有几种钱包范例,譬喻冷钱包和热钱包。冷藏钱包意味着您将私钥和比特币地点保存为脱机状态。由于没有网络,比特币地点拥有者有责任对其举办安详掩护。纸钱包被视为一种冷钱包。根基上它使比特币地点和私钥独立于任何数字情况或计较机。因此它用于恒久持有资产,而不消于即时交易勾当。
bitcoinAddress = input(“Enter a bitcoin address:”)
Bitcoin Address:  1Lw5rqh94dWzArQ9tDY6Ucswxo3Ums7VWi
Hash 1  :  1d7d571d176f378eabd73b1e3ac0fb5a688855d41ae5ee8956afb9c13b5c7027
Base58 Decoder:  00daa4e87dcb30d406d24f76bcc2afe2ef550c9068b0a511fb
hash = prefixAndHash
[TRUE] checksum is valid!

    print(“[TRUE] checksum is valid!”)
Enter a bitcoin address:1Lw5rqh94dWzArQ9tDY6Ucswxo3Ums7VWi
————————————–
print(“————————————–“)
有很多客户端比特币钱包生成器,它们生成比特币地点和私钥。凡是记着比特币地点和私钥并不容易,因为它们来自各类数字和字符。因此它可以作为QR码记录在纸上,并可以轻松地从移动应用措施或此类应用措施读取QR码。

else:
print(“Base58 Decoder: “, base58Decoder)

郑重声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,多谢。

相关文章阅读