问题描述
Armory 在创建新钱包时创建 Wallet file
和 LMDB
文件。我做了一个超深层磁盘清理,看看我是否可以恢复钱包文件,但我找不到它。我能找到的唯一文件是 armory_*****_wallet.lmdb
,主要在 102KiB 左右。我不确定它是否包含与 Wallet file
相关的任何内容,但我只是想阅读其中的内容。
以下方法可行吗?
我不知道,但在我看来,私钥有可能位于闪电内存映射数据库 (LMDB) 文件中。可能使用钱包密码加密。
我从头开始创建了一个钱包并与它分享了我的结果,例如由 Armory
创建的 lmdb file。
我已关注 guide-1、guide-2 和 guide-3 以便能够读取该文件。
我的脚本:
#!/usr/bin/env python3
import lmdb
import caffe
lmdb_file = "armory_2tG9psLQX_wallet.lmdb"
lmdb_env = lmdb.open(lmdb_file,subdir=False)
lmdb_txn = lmdb_env.begin()
lmdb_cursor = lmdb_txn.cursor()
datum = caffe.proto.caffe_pb2.Datum()
for key,value in lmdb_cursor:
print(key)
print(value)
print("----------------")
for key,value in lmdb_cursor:
print(key.decode('utf-8'))
print(value.decode('utf-8'))`
这只会打印出来:
b'99AxiN7y'
b'\x00\x00\x00\x00\x00\x00\x02\x00\x01\x00\x00\x00\x00\x00\x00\x00\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00k\x00\x00\x00\x00\x00\x00\x00\n\x00\x00\x00\x00\x00\x00\x00'
b'WalletHeader'
b'\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x03\x00\x00\x00\x00\x00\x00\x00\x06\x00\x00\x00\x00\x00\x00\x00'
--------------
99AxiN7y
k
WalletHeader
由于文件大小要大得多,我不知道为什么它只能打印一个字符作为值。有没有其他方法可以深入读取 lmdb
文件或其大小无关紧要?好像 99AxiN7y
是原始钱包文件的 wallet-id。
我确定文件没有损坏,我尝试使用由 armory_***wallet.lmdb
创建的新 Armory
文件并生成了类似的结果。
=> 真正的问题是 LMDB 文件是否也包含私钥,我们可以从中恢复钱包吗?
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)