使用python制作一个通过助记词碰撞生成私钥和地址并检查余额的脚本

首先立项之前先确定脚本工具的功能内容:

总体来说就是用Python代码实现一个用于生成随机BTC私钥和地址的脚本,并且输出相关信息“包括压缩和非压缩形式的地址、对应的WIF(Wallet Import Format)私钥、以及通过这些私钥生成的地址的余额”。

核心代码:

from bitcash import *
from bitcash.format import bytes_to_wif
import random
import atexit
import time
from colorama import Fore, Style

art = """
  _   _  ___  _   _  ______   _____ _   _  ____  ____ _    _   _ ____  
 | | | |/ _ \| \ | |/ ___\ \ / |_ _| \ | |/ ___|/ ___| |  | | | | __ ) 
 | |_| | | | |  \| | |  _ \ V / | ||  \| | |  _| |   | |  | | | |  _ \ 
 |  _  | |_| | |\  | |_| | | |  | || |\  | |_| | |___| |__| |_| | |_) |
 |_| |_|\___/|_| \_|\____| |_| |___|_| \_|\____|\____|_____\___/|____/ 
||---------------------------------------------------------------------||
||- WebSite --------------------------------httpS://bbs.hongying.club -||
||- Telegram-------------------------https://t.me/hongyingclub_office -||
||- DEV     ------------------------------------- DEV.to/HongYingclub -||
||=====================================================================||

"""

print("Start ...")
print(art)

count = 0
total = 0
while True:
    x = 1
    y = 115792089237316195423570985008687907852837564279074904382605163141518161494336
    ran = random.randint(x, y)
    seed = str(ran)
    key = Key.from_int(ran)
    wif = bytes_to_wif(key.to_bytes(), compressed=False)
    wif2 = bytes_to_wif(key.to_bytes(), compressed=True)
    key1 = Key(wif)
    privkey = key.to_hex()
    privkey2 = key1.to_hex()
    caddr = key.address # For Compressed Address
    uaddr = key1.address # For UNCompressed Address
    bal = key.get_balance('bch')
    bal2 = key1.get_balance('bch')
    count += 1
    total += 2
    #=============================================
    print("=============================================")
    print(Fore.YELLOW+"\nCurrent PrivateKey --> "+seed)
    print(Fore.GREEN+"Compressed Address : "+Fore.LIGHTGREEN_EX+caddr+Style.RESET_ALL)
    print("Private Key : "+privkey)
    print(Fore.RED+"WIF : "+wif2+Fore.CYAN+"  |BAL : "+Style.RESET_ALL+bal)
    print("-----------------------------")
    print(Fore.GREEN+"Uncompressed Address : "+Fore.LIGHTGREEN_EX+uaddr+Style.RESET_ALL)
    print("Private Key : "+privkey2)
    print(Fore.RED+"WiF : "+wif+Fore.CYAN+"  |BAL : "+Style.RESET_ALL+bal2)
    print(Fore.YELLOW+"Scan Number : "+Fore.WHITE+str(count)+Fore.MAGENTA+" Total Wallet : "+Fore.WHITE+str(total))
    time.sleep(1)

代码分析:

from bitcash import *
from bitcash.format import bytes_to_wif
import random
import atexit
import time

这段代码使用了  bitcash  库,这是一个用于比特币现金(BCH)操作的Python库。

    ran = random.randint(x, y)
    seed = str(ran)
    key = Key.from_int(ran)
    wif = bytes_to_wif(key.to_bytes(), compressed=False)
    wif2 = bytes_to_wif(key.to_bytes(), compressed=True)
    key1 = Key(wif)
    privkey = key.to_hex()
    privkey2 = key1.to_hex()

代码中定义了一个无限循环,每次循环都会生成一个新的随机私钥,然后计算出对应的WIF格式的私钥、压缩和非压缩的比特币地址,并查询这些地址的余额。

注意:这个脚本生成的私钥对应的地址可能没有任何余额,因为它们是随机生成的,并不对应任何实际的比特币交易。

有空可以关注或者加入我们BBS大家研究研究

JavaScript 离线生成 TRON (Tethered Runtime Operating System) 私钥地址助记通常涉及到加密货币钱包的创建,这需要保证安全性隐私。由于涉及敏感操作,下面是一般的步骤: 1. **安装库**:首先,你需要安装一个支持 TRON 的 JavaScript 钱包生成库,比如 `tron-sdk` 或者 `truffle-hdwallet-provider`。 ```javascript npm install tron-sdk ``` 2. **创建钱包**:在本地环境中创建一个新的 HDWallet(Hierarchical Deterministic Wallet),它允许生成离线密钥。这通常包括一个助记(Mnemonic Phrase)一个私钥(PrivateKey)。 ```javascript const Tron = require('tron-sdk'); const Wallet = Tron.HDWallet; // 创建一个随机助记,注意这是非常重要的离线部分 const mnemonic = await Wallet.generateMnemonic(); // 通过助记获取私钥 const privateKey = Wallet.fromMnemonic(mnemonic).toPrivateKey(); ``` 3. **生成地址**:有了私钥,你可以计算出对应的公钥,转化为地址。在 TRON 中,地址是由公钥哈希得到的。 ```javascript const address = Wallet.fromPrivateKey(privateKey).address(); ``` 4. **保存数据**:因为涉及到离线环境,生成私钥助记应在安全的地方存储,例如纸质记录或者安全的电子介质,不要将它们暴露在网上。 重要提示:在实际应用中,尤其是生产环境,建议配合硬件钱包服务(如Tron Hardware Wallets)来进行离线操作,以最大程度地保护用户的安全。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

HongYingClub

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值