这是我当前的脚本:
import argparse
from pybitcointools import *
parser = argparse.ArgumentParser()
parser.add_argument('filename')
args = parser.parse_args()
with open(args.filename) as textfile:
for line in textfile:
priv = sha256(line.rstrip())
wif_u = encode_privkey(priv, 'wif')
wif_c = encode_privkey(priv, 'wif_compressed')
addr_u = pubtoaddr(privtopub(priv))
addr_c = pubtoaddr(compress(privtopub(priv)))
print("%s,%s" % (addr_u, wif_u))
print("%s,%s" % (addr_c, wif_c))
我运行此脚本将 1000 行转换为 2000 个比特币脑钱包(1000 x 2 包括压缩和未压缩)。运行需要 12.5 秒。
如果我删除这些行,它会从 12.5 秒下降到 0.2 秒:
addr_u = pubtoaddr(privtopub(priv))
addr_c = pubtoaddr(compress(privtopub(priv)))
但当然,我需要地址,而不仅仅是 WIF 格式的私钥。
所以这是我想弄清楚的三件事:
为什么地址生成时间比私钥生成时间长?
有没有办法加快现有 Python 脚本的运行速度,使其在不到一秒的时间内运行?
如果没有,有没有人知道可以更快地完成此操作的简单替代方法?
我不介意使用 Python、Perl、C,无论做什么,都是最快的。
守着一只汪
相关分类