抱歉,您的浏览器无法访问本站

本页面需要浏览器支持(启用)JavaScript


了解详情 >

我的ens域名bugmaker.eth绑定的ETH地址是0xB888888888241d1D6b07158c501eD45f909a8465,可能很多人都觉得地址再好看也没什么用,反正只是一个地址而已。

正所谓千金难买心头好,只要自己觉得好看就行了。

大多数人都是通过钱包软件生成ETH地址的,生成的地址随机性很高,看起来并不怎么好看。其实可以使用python写代码来生成比较好看的地址,而且可以自定义靓地址的规则,比如生成以下类型的地址:

1
2
3
4
5
* 0x88888888...     //重复字符
* 0x12345678... //递增数字
* 0x5201314.... //特殊数字
* 0xdeadbeef... //特殊单词
* 0x19990909... //生日日期

网上也有一些在线生成靓地址的工具,但是代码是在别人服务器运行的,也就是说服务器可能会偷偷保存钱包的私钥,使用这样的工具并不是很安全。

而我们在本地运行的代码,是离线生成钱包地址的,也就是说可以先关闭网络再运行代码,基本上不会有风险问题。

因此,我们可以使用以下python代码来生成地址:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
from eth_account import Account
from multiprocessing import Process

def check_address(address):
address = address[2:]
# 开头4个字符相同,如0x8888...
if address[0] == address[1] == address[2] == address[3]:
return "aaaa_"
# 结尾4个字符相同,如0x...8888
if address[-1] == address[-2] == address[-3] == address[-4]:
return "_aaaa"
return None

def run():
while True:
account = Account.create()
address = str(account.address)
address_type = check_address(address)
if not address_type:
continue
print(address)
private_key = str(account._key_obj)
with open(f"{address_type}.txt", "a+") as f:
f.write(f"{address} {private_key}\n")
f.close

if __name__ == "__main__":
# 使用4进程运行
for i in range(4):
process = Process(target=run)
process.start()

由于python不能使用多线程,所以代码使用多进程运行。代码默认使用4个进程,如果电脑的CPU核数比较高,可以把进程数调大一点,每个进程对应一个核,运行效率会比较高。

也可以克隆以下仓库的代码运行:

评论