马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
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_()
|