主页 > 小米不能安imtoken > 使用 RaspberryPiZero 和 Golang 制作硬件比特币钱包

使用 RaspberryPiZero 和 Golang 制作硬件比特币钱包

小米不能安imtoken 2023-02-11 06:05:54

我是一名开发人员和比特币爱好者,但不是加密货币或密码系统方面的专家,我的逻辑和代码中可能存在错误,我建议您使用本教程,风险自负。 如果您发现错误或您认为可以改进代码,请在评论中分享。

项目目标

在我们进入代码之前,我们可能应该弄清楚我们要构建什么。 我们将使用 Go 和 Angular 构建一个应用程序以安装在 Raspberry Pi Zero 上。 它看起来像下面的动画图像。

使用Raspberry Pi Zero和Golang制作硬件比特币钱包

硬件钱包的全部意义在于它们持有加密的私钥,从不暴露它们,并且可以离线操作。 我们使用 Raspberry Pi Zero,因为它既没有 WiFi 也没有蓝牙,这使得它更难破解。

注册比特币钱包_比特币钱包注册流程_比特币交易网注册钱包

使用 USB 电缆和 SSH 连接到 Raspberry Pi Zero注册比特币钱包,我在之前的课程中教授的 fit 演示了如何通过 USB 模拟以太网。 我们将通过 USB 提供 RESTful API 来实现这一点,这样只有主机才能访问数据。 Go 应用程序将提供一个 API注册比特币钱包,而 Angular 应用程序将是一个不错的前端。 在此示例中,我们永远不需要连接到 Linux 操作系统。

使用 Go 和多路复用器创建 RESTful API

Go 方面完成了所有繁重的工作,我们将管理密钥、加密数据、签署交易,并完全通过 RESTful API 完成这些工作。

为这个项目定义文件,下载Dependencies

注册比特币钱包_比特币钱包注册流程_比特币交易网注册钱包

我们需要在 $GOPATH 中创建一个新的 Go 项目。 我将在我的 $GOPATH 中引用 open-ledger-micro 作为一个项目。

该项目应具有以下结构:

使用Raspberry Pi Zero和Golang制作硬件比特币钱包

您可以创建测试,但我们将在本特定教程中跳过它们。 我们需要获得一些依赖包来使事情变得更容易一些。

注册比特币钱包_比特币交易网注册钱包_比特币钱包注册流程

在命令行中,执行以下命令:

使用Raspberry Pi Zero和Golang制作硬件比特币钱包

gorilla/handlers 包不是绝对必要的,但在本地测试时它会有所帮助,因为我们可以用它来管理跨源资源共享 (CORS)。

GeertJohan/go.rice 包将允许我们捆绑我们的 Angular 应用程序,而 gorilla/handlers 包将充当我们的多路复用器来为我们的 API 提供服务。 btcsuite/btcutil 和 btcsuite/btcd 包将用于所有比特币和加密货币。

比特币交易网注册钱包_比特币钱包注册流程_注册比特币钱包

本文长度超过5w字。 为了方便大家阅读,文章分为8个部分。 每晚8点24分更新推送,每一篇内容都是我们精心设计的,希望大家喜欢。

目录:

《开发比特币的私钥和约定逻辑,使用AES密码加密和解密电子钱包数据》

“以安全的方式管理钱包和硬币信息,在区块链上创建和签署广播交易”

比特币钱包注册流程_注册比特币钱包_比特币交易网注册钱包

“使用 Gorilla Mux 开发和提供 API 端点”

“创建有吸引力的前端,使用 Angular、TypeScript 和 Bootstrap 在您的应用程序中创建和导航组件”

“在应用程序中的组件之间创建和导航”

“使用 Angular 依赖项配置 Angular 模块”

“使用 USB 为仿真以太网配置 Raspberry Pi 零”