|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
本帖最后由 没有退路了 于 2023-3-24 15:17 编辑
逛网页的时候发现别人拿这东西变现了,一个卖1000美金。
正好最近在解析web3源代码,觉得好简单。
只用的web3包里面的eth_account小包。
实现效果如图:
例如我想生成一个12开头的地址靓号
最后跑起来找到了这个号码。
- import csv
- import time
- from eth_account import Account
- # 1.输入一个靓号规则:例如生日1988,AABB,ABCD
- # 2.利用eth_account包,在本地生成私钥,再用私钥生成地址
- # 3.用if 语句进行判断筛选,将符合匹配规则的地址写出来
- # 4.尝试使用多线程或者更高效率的匹配规则提高生成靓号的效率
- print('''
- 这是一个可以生成ETH区块链钱包靓号地址的代码,请勿用于商业用途,
- 点赞关注谢谢你。
- ''')
- # 获取规则数字,其实可以加入字母,a-f之间如aaaa,abcd,aabb
- def get_target():
- print("================")
- target=str(input('请输入一个规则数字,最好是低于4位数,数字越长越难实现:'))
- while not(target):
- target=str(input('请别输入空号:'))
- print('开始计算')
- return target
- # 计时
- def time_master(func):
- def call_func():
- print("开始运行程序...")
- start = time.time()
- func()
- stop = time.time()
- print("结束程序运行...")
- print(f"一共耗费了 {(stop-start):.2f} 秒。")
- return call_func
- # 创建1个eth钱包和地址
- def create_address():
- account=Account.create()
- account_privateKey=account.privateKey.hex()
- account_address=account.address
- return [account_address,account_privateKey]
- # 比对数据
- @time_master
- def target_generation():
- _target=get_target()
- count_num=1
- header=['Address', 'Private Key']
- for i in range(50): #创建1万个地址进行筛选
- data=create_address()
- print(data) #调试程序用
- if data[0][:len(_target)+2] == '0x'+_target:
- print(data[0])#调试程序用
- print(data[1])#调试程序用
- with open('data.csv','w',newline='') as data_csv:
- writer = csv.writer(data_csv)
- writer.writerow(header)
- with open('data.csv','a',newline='') as data_csv:
- writer=csv.writer(data_csv)
- writer.writerow(data)
- print('已经找到了,data_csv 已经创建成功')
- break
- else:
- print(count_num)
- count_num+=1
- continue
- def _main_():
- target_generation()
- _main_()
-
-
-
复制代码
|
|