DIY一个百元以内的比特币硬件冷钱包

DIY一个百元以内的比特币硬件冷钱包

  • 为什么要硬件冷钱包
  • 如何DIY呢?
    • 1. 买一个Raspberry Pi
    • 2. 安装最新的Raspbian
    • 3. 在Raspberry Pi上安装Electrum冷钱包
    • 4. 关闭Raspberry Pi上面的蓝牙和wifi
    • 5. 在一台PC上安装Electrum热钱包(Watching-only)
    • 6. 导出和导入冷钱包公钥
    • 7. 冷钱包签名
    • 8. 做个测试

为什么要硬件冷钱包

安全!安全!安全!

时常听说交易所被hacked了,用户的加密货币被盗了,或者用户自己的在线钱包私钥被盗等等。被盗后基本没什么办法拿回你的加密资产。

冷钱包是不联网的,无法被hacked。冷钱包中的私钥没法通过网络被盗。如果有人把你的硬件钱包从你手里抢走,他还要猜出一个密码,才可能盗取你的私钥。

如何DIY呢?

下面就进入正题,把我昨晚的一些经验(包括掉进过的坑)分享一下。

1. 买一个Raspberry Pi

我有一个Raspberry Pi。我只需要买一片SD卡,重新装一个新的系统,就OK了 。一片32GB或64GB的SD卡都不超过100元人民币。这就是我为这个硬件钱包做的资金上的全部投资。当然这不包括时间和精力等很贵的资源。

如果你还没有Raspberry Pi,你可以上京东去买一个,价格从100多到300多都有。淘宝上也有卖的。不过我基本没有在淘宝上买过东西,就不多说了。

2. 安装最新的Raspbian

去raspberrypi.org下载最新的raspbian,然后burn到SD卡里。网上有很多文章讲这个过程。

3. 在Raspberry Pi上安装Electrum冷钱包

Electrum是一个python写的软件包。去Electrum上面去下载一个。记住Raspbian是Linux,你要找Linux环境下Electrum的安装方法。

好了,下面这一段文字是本文最重要的内容,也是触发笔者写这篇小文章的缘由。

目前最新的Electrum版本是3.3.4,需求Python 3.6或以上。但是现在最新的Raspbian里Python3的最新版本是3.5。在Raspbian安装一个新的Python 3.6很简单,但是升级系统里原有的Python版本很麻烦,几乎是不可能,于是最合适的办法是把Electrum的版本降到3.2.3。

4. 关闭Raspberry Pi上面的蓝牙和wifi

在安装完成后且在首次运行Electrum之前,把Raspberry Pi的Wi-Fi,蓝牙等跟连接外部的网络端口全部关掉,而且以后也不再开启。切记!

目前找到最好的办法是如下:在文件/boot/config.txt最后,添上2行:
dtoverlay=pi3-disable-wifi
dtoverlay=pi3-disable-bt

然后重启系统。你将发现屏幕右上方的wifi和蓝牙图标都灰掉了,而且在界面上无法enable。

5. 在一台PC上安装Electrum热钱包(Watching-only)

我有另外一台PC运行Ubuntu18.04。在上面安装了Electrum 3.2.3。这台电脑是联网的,用来做所谓的watching-only钱包。这个钱包只有公钥没有私钥。只能查看比特币网络上的交易历史记录,而不能为新创建的交易签名。下面会讲解如何创建watching-only钱包。

6. 导出和导入冷钱包公钥

在Raspberry Pi上面安装好冷钱包后,创建一对标准公钥/私钥。然后安装下列步骤创建watching-only钱包:

  1. 在冷钱包里把公钥export出来到一个文件。
  2. 通过USB接口把该文件拷贝到Ubuntu。
  3. 在Ubuntu上面创建一个新的钱包,创建的时候选择import这个公钥文件。

更详细的步骤可以参考下面的链接:https://electrum.readthedocs.io/en/latest/coldstorage.html#create-an-offline-wallet.

这个Ubuntu上的钱包由于是联网的,我们也把它叫做热钱包。可以用来查看当前比特币资产。

7. 冷钱包签名

在要花钱的时候,在热钱包上面创建一个未签名的transaction,然后通过USB拷贝到Raspberry Pi上面,用冷钱包签名。然后把签名后的transction通过USB拷贝到Ubuntu,通过热钱包broadcast到网络上。

更详细的步骤可以参考下面的链接:https://electrum.readthedocs.io/en/latest/coldstorage.html#create-an-unsigned-transaction.

8. 做个测试

测试非常有必要。确保seed能重建冷钱包,钱能花出去,也能收进来。

你可能感兴趣的:(区块链,比特币,钱包)