风险提示:理性看待区块链,提高风险意识!
比特币钱包开发:通过助记词导入钱包与导出钱包助记
首页 > 币界资讯 > 区块链知识 2018-12-03 15:20:00

目标

获取钱包列表

通过助记词导入钱包

导出钱包助记词

前言

在上一章的内容中介绍了创建钱包,这一章会介绍通过助记词创建钱包,也叫做通过助记词恢复钱包或通过助记词导入钱包。首先我们来介绍的内容是,如何将我的钱包显示出来。

一、获取钱包列表

我们将创建的钱包文件储存到了static/wallet_file文件夹中,那么遍历该文件夹并判断子文件的名称是否以钱包文件的“.dat”结尾即可获取到我的钱包,然后再截掉后缀就是钱包名称,实现如下。

点击此处添加图片说明文字

​输出如下

C4EC5431-7AF0-4F0C-8C61-E2090A389A59

C4EC5431-7AF0-4F0C-8C61-E2090A389A59

stringWithSubstrEnd()方法在myUtils包中实现了判断字符串是否以某个字符串结尾的功能。

二、通过助记词导入钱包

创建新钱包的时候我们采用的是调用seedFromRandomWithMnemonic()方法通过随机助记词生成种子去创建的,那么我们在创建钱包的时候指定助记词即可实现通过助记词导入钱包,这就需要使用到另外一个方法seedFromMnemonic(),它的API定义如下:

点击此处添加图片说明文字

根据API的定义可知,必传参数有如下两个,注意它没有回调。

BIP39: String, 助记词。

opts: 可选参数,它是一个对象,包含的字断如下:

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

opts.passphrase: 助记词的密码,通过助记词+密码共同生成种子,所以密码不一样种子就不一样,导致无法找回账号。

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

opts.derivationStrategy: String, 使用的BIP协议,默认为BIP44。

因此通过助记词导入钱包的代码实现如下:

点击此处添加图片说明文字

输出如下:

F6CA929D-C18F-440E-B25B-E2EC53AE3992

F6CA929D-C18F-440E-B25B-E2EC53AE3992

使用的助记词是“eternal list thank chaos trick paper sniff ridge make govern invest abandon”密码是”lixu1234qwer”,生成的地址为“mm16s7xsf8Wjwxhprc6YzLW9gVncqZNGBR”,路径是“m/0/0”,公钥是“031cf3493c5fcb4eabdfaa4191a02cc30429539ea6b80f5590bc4a8b6222f0d3ba”,这些数据与第二章中我们验证的数据一致。

三、导出钱包助记词

既然能通过导入助记词恢复钱包,那也能导出钱包助记词,这个数据在上一章中我们创建钱包后已经能够获取到助记词字断了,但是它需要解锁后才能获取,即通过import()方法解锁。

点击此处添加图片说明文字

​输出如下:

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

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

可获取到“wallet1”钱包的助记词是“same subway develop fun fancy library sand rain hamster ship floor define”。

四、完整源码

1. controllers/wallet.js

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

点击此处添加图片说明文字

2. controllers/web.js

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

点击此处添加图片说明文字

3. router/router.js

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

点击此处添加图片说明文字

4. static/js/wallet.js

在文档加载完成后处理获取钱包列表、通过助记词导入钱包、导出钱包助记词等的网络请求。

点击此处添加图片说明文字

5. views/wallet.html

前端显示的钱包列表页面。

点击此处添加图片说明文字

​五、项目运行效果

B2539C4C-AD17-4805-8670-61218498F309

B2539C4C-AD17-4805-8670-61218498F309

项目源码Github地址

版权声明:博客中的文章版权归博主所有,未经授权禁止转载,转载请联系作者取得同意并注明出处。

未经授权禁止转载、改编,转载请注明出处!

上一篇: 比特币钱包开发:隔离见证剖析与编程实践
下一篇: 精通EOS:EOS 智能合约入门
推荐专栏
web3首席知识博主
一位相信价值投资的币圈KOL。稳定盈利的缠论野生交易员 #BTC行情分析师 #价值投资 #链上数据分析
爱Web 3,爱生活,爱科技,爱炒币的老韭菜
热门币种
更多
币种
价格
24H涨跌幅
BTC比特币
¥264,723.74
37,091.22 USDT
+0.1%
ETH以太坊
¥14,416.22
2,019.90 USDT
-0.12%
USDT泰达币
¥7.20
1.01 USDT
0%
BNB币安币
¥1,625.40
227.74 USDT
+0.36%
XRP瑞波币
¥4.32
0.60460 USDT
+0.37%
USDC
¥7.14
1.00 USDT
+0.03%
SOLSolana
¥398.85
55.89 USDT
+1.54%
OKBOK币
¥398.61
55.85 USDT
-1.64%
ADA艾达币
¥2.68
0.37580 USDT
-1.16%
DOGE狗狗币
¥0.55160
0.07730 USDT
-1.52%
热搜币种
更多
币种
价格
24H涨跌幅
Terra Classic
¥0.00
9.402E-5 USDT
-18.95%
Gala
¥0.18
0.025374 USDT
-4.66%
dYdX
¥22.58
3.1918 USDT
-0.91%
比特股
¥0.05
0.006964 USDT
+4.28%
PancakeSwap
¥15.52
2.1936 USDT
-2.74%
Conflux
¥1.08
0.1524 USDT
-2.87%
Filecoin
¥31.45
4.4454 USDT
-0.69%
FTX Token
¥29.82
4.2155 USDT
+16.96%
Yield Guild Games
¥2.55
0.3608 USDT
-0.52%
Shiba Inu
¥0.00
8.14E-6 USDT
-2.51%
比特币
¥262,381.44
37091.22 USDT
+0.1%
比原链
¥0.07
0.010011 USDT
-4.38%
最新快讯
更多
汇丰、恒生、渣打、富邦华一四家外资银行入围首批“数字人民币”业务试点名单
2023-11-28 19:06:57
摩根大通和Apollo计划建立代币化“企业主网”
2023-11-28 19:03:57
Nansen2公测版本上线,新增链上数据异动、智能搜索等功能
2023-11-28 18:59:52
西班牙公民需在明年3月底前申报其海外平台上加密货币持仓
2023-11-28 18:53:43
Nansen2已公开测试
2023-11-28 18:53:38
dYdX基金会:主网启动以来超过1645万DYDX被质押
2023-11-28 18:52:07
NicCarter等比特币倡导者发文:比特币挖矿是清洁能源和平衡电网的关键工具
2023-11-28 18:47:58
下载币界网APP