首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

No.17|技术|pywallet使用教程

每日一说

简单的生活数字的世界

市场情绪:51.91%

pywallet使用教程

wallet.dat文件非常重要,包含了我们钱包中很多重要的信息,如果你因为某些原因遇到文件损坏的情况,可以试试pywallet来解决,原版的pywallet有一些问题,这里可以用我修改过的版本,首先把代码下载下来:https://github.com/llx1105/pywallet,对于不同的操作系统,使用它的区别还是很大,下面我分开介绍一下。

一、OSX系统安装

1.安装mac ports

进入https://www.macports.org/install.php,按照下图的三步一步一步执行。

然后是安装Xcode,找到对应的版本安装好,然后是打开你的Terminal输入

sudo xcodebuild -license

然后输入

agree

如图:

最后下载macport,需要一点时间,然后安装。

安装完成后,把

export PATH=$PATH:/opt/local/bin

export MANPATH=$MANPATH:/opt/local/share/man

export INFOPATH=$INFOPATH:/opt/local/share/info

到你的bash_profile文件中去。

安装成功后,我们在命令行输入port应该是这样的

2.用port安装python27 py27-twisted py27-pip py-bsddb3

sudoport install python27 py27-twisted py27-pip py-bsddb3python_select

3.设置python版本

sudoportselect--set python python27

4.安装ecdsa

sudoeasy_install ecdsa

以上就是环境的配置安装等等。在安装的过程中可能会遇到一些问题,

1.运行程序时,提示no module named bsddb3

这里可能是macport有问题,我们改用pip装,解决办法:

sudoeasy_install pip

sudo YES_I_HAVE_THE_RIGHT_TO_USE_THIS_BERKELEY_DB_VERSION=1 BERKELEYDB_DIR=$(brew --cellar)/berkeley-db/6.2.32 pip install bsddb3

2.ImportError: No module named Crypto.Cipher

解决办法:

sudo easy_install pycrypto

3.twisted Object has no attribute 'OP_NO_TLSv1_1'

解决办法:

sudo pip install --upgrade pyopenssl --ignore-installed pyopenssl

二、Windows系统安装

1. 安装python 2.7

本地下载安装python 2.7.2版本并且配置好环境变量:

在https://www.python.org/downloads/选择并且下载python 2.7.2版本,记得根据自己电脑位数选择正确的版本。下载好之后运行msi文件,一路next,注意选择安装的位置。

配置python的环境变量,把python的安装目录添加到path系统变量中即可。

检测python是否安装成功且配置好环境变量win + r 后输入cmd进入命令行,输入Python

2.安装 Twisted 11.0.0 for Py2.7

在https://pypi.python.org/pypi/Twisted/11.0.0选择标注的文件下载并运行。

3. 安装 Zope.Interface

随后我们执行pip list会得到:

对了,我们需要给它添加到环境变量中去,我们在path最后加上 你安装的位置\py\Scripts;最后再验证下就OK了。

安装*.whl文件以及其他依赖

打开命令行,来到我们刚刚下载好的whl文件的位置,执行 pip install 文件名(要带上后缀.whl)如:以及执行:

pip install pycrypto --allow-external pycrypto

pip install ecdsa

三、主要功能

Pywallet有web页面的操作,但是由于年代久远,很多功能现在并不支持了。我们通过命令行来操作其实更加的简单。

1.从wallet.dat中找到钱包的私钥,公钥,地址等。

命令:

sudo python pywallet.py --recover --recov_size 512Mio --recov_device '你的wallet.dat文件地址' --coin_type 'bitcoin/litecoin 目前只支持这两种' --recov_outputdir '输出的地址'

成功后会在你输出的地址中生成一个包含钱包中包含的钥匙地址信息的txt文件。

参数意义:

recover 执行恢复操作,必填

recov_size 文件所处目录位置大小,Mio即mb,必须为512的倍数,不用太精确,必填

recover_device wallet.dat文件的地址,如 /Users/blockchain/wallet.dat, 必填

coin_type 币种类型,目前只支持bitcoin和litecoin, 选填

recov_outputdir 输出的地址,必填

write_text 是否输出txt文件,选填

例子:

OSX系统下:

sudo python pywallet.py --recover --write_text --recov_size 512Mio --coin_type Litecoin --recov_device /Users/blockchain/wallet.dat --recov_outputdir /Users/blockchain/wallet

Windows系统下:

python pywallet.py --recover --write_text --recov_size 512Mio --coin_type Litecoin --recov_device F:\backup\wallet.dat --recov_outputdir F:\backup\recoverd

记得安提示输入钱包的密码,然后耐心等待就好了。

2.根据一串字符串生成私钥、地址等等

python pywallet.py --info --importhex --importprivkey '64或者66位16进制字符串' --coin_type 'bitcoin/litecoin 目前只支持这两种'

参数意义:

info 执行地址相关操作,必填

importhex ,确认key是16进制,必填

importprivkey ,解析私钥,必填

coin_type 币种类型,目前只支持bitcoin和litecoin, 选填

write_text 是否输出txt文件,选填

例子:

python pywallet.py --info --importhex --importprivkey 1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef --coin_type Litecoin

  • 发表于:
  • 原文链接http://kuaibao.qq.com/s/20180125G108TS00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券