比特币钱包开发:通过助记词导入钱包与导出钱包助记

当前位置:首页 > 币圈百科 > 比特币钱包开发:通过助记词导入钱包与导出钱包助记

比特币钱包开发:通过助记词导入钱包与导出钱包助记

2022-12-25币圈百科264

目标

获取钱包列表

通过助记符导入钱包

导出钱包助记符

前言

上一章的内容介绍了创建钱包。本章将介绍通过助记法创建钱包,我们首先要介绍的是如何显示我的钱包。

一、获取钱包列表

我们已经将创建的钱包文件存储在了static/wallet_file文件夹中,所以通过遍历文件夹,判断子文件名是否以“”结尾,就可以获取我的钱包。dat ”,然后去掉后缀得到钱包名。实现如下蓑衣网小编2022。

点击此处添加标题?下面的

c4ec 5431-7af 0-4f0c-8c 61-e 2090 a 389 a 59C4EC5431-7AF0-4F0C-8C61-E2090A389A59stringwithsubstrnd()方法实现了在myUtils包中判断一个字符串是否以某个字符串结尾的功能。

二。通过助记符导入钱包

当我们创建一个新的钱包时,我们调用方法seedFromRandomWithMnemonic()通过随机助记符生成种子,所以我们可以在创建钱包时通过指定助记符来通过助记符导入钱包,这需要另一个方法seedFromMnemonic(),它的API定义如下:[

根据API的定义,有两个必需的参数。请注意,它没有回调。

BIP39:字符串,助记符。

opts:可选参数,为对象,包含以下断字:

opts.network: string,钱包连接的网络类型,支持正式网络和测试网络,分别表示为livenet和testnet。

opts.passphrase:助记符的密码,种子是由助记符密码一起生成的,所以密码不同时种子也不一样,导致无法找回账号。

opts.account: Number,账号,默认为0。

opts.derivation策略:string,使用的BIP协议,默认为BIP44。

所以通过助记符导入钱包的代码是这样实现的:

点击这里添加图片的标题文字

输出如下:

f6ca 929d-C18F-440 e-B25B-e2ec 53 AE 3992[使用的助记符是“永恒之榜感谢混沌绝招纸嗅岭让政府投资放弃”,密码是“lixu1234qwer”,生成的地址是“mm 16 S7 xs F8 wjwxprc 692路径为“m/0/0”,公钥为“031 cf 3493 C5 fc 4 eab dfaa 4191 a 02 cc 30429539 ea 6b 80 f 5590 BC 4 A8 b 6222 f 0d 3 ba”。这些数据与我们在第二章中验证的数据一致。

三。导出钱包助记符

既然我们可以通过导入助记符来恢复钱包,我们也可以导出钱包助记符。这些数据在我们创建钱包之后已经可以获取上一章的助记符了,但是需要解锁才能获取,也就是通过import()方法解锁。

F6CA929D-C18F-440E-B25B-E2EC53AE3992点击此处添加标题

?输出如下:

947 b84d-53FF-4C0D-af F3-f 0 b 7 b 2 f 13087

钱包“wallet1”的助记符是“同地铁开发趣味花式库沙雨仓鼠船地板定义”。

四。完整源代码

1。controllers/wallet.js

编辑controllers文件夹下的wallet.js文件,实现获取钱包列表、通过助记符导入钱包、导出钱包助记符的功能。

947B884D-53FF-4C0D-AFF3-F0B7B2F13087

点击此处添加标题

2。controllers/web.js

在controllers文件夹下新建一个web.js文件,后端实现返回每个前端页面。

点击此处添加标题

3。router/router.js

绑定了获取钱包列表、通过助记符导入钱包、将钱包助记符导出到路由的接口。

点击此处添加标题

4。static/js/wallet.js

文档加载后,处理获取钱包列表、通过助记符导入钱包、导出钱包助记符等网络请求。

点击此处添加标题

蓑衣网小编2022 5。在前端显示的Views/wallet.html

Wallet列表页面。

点击此处添加标题?五、项目运行效果

b 2539 C4 C-AD17-4805-8670-61218498 f 309

项目来源Github地址

版权声明:博客中文章版权归博主所有,未经授权禁止转载。[

未经授权,禁止复制和改编。转载请注明出处!

比特币钱包开发:通过助记词导入钱包与导出钱包助记 | 分享给朋友: