主页 > imtoken钱包下载安卓最新版本 > 比特币钱包开发:通过助记词导入钱包和导出钱包助记词

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

目标 获取钱包列表 按助记词导入钱包 导出钱包助记词

目标

获取钱包列表

助记词导入钱包

导出钱包助记词

前言

上一章介绍了创建钱包比特币钱包助记词有多少个,本章将介绍通过助记词创建钱包,也称为通过助记词恢复钱包或通过助记词导入钱包。 首先介绍一下如何展示我的钱包。

1.获取钱包列表

我们将创建好的钱包文件存放在static/wallet_file文件夹中,然后遍历该文件夹判断子文件名是否以钱包文件的“.dat”结尾得到我的钱包,然后截掉后缀。 钱包名称,实现如下。

比特币 脑钱包_币安里面的比特币怎么提现到钱包_比特币钱包助记词有多少个

单击此处添加图片说明

输出如下

币安里面的比特币怎么提现到钱包_比特币 脑钱包_比特币钱包助记词有多少个

比特币钱包助记词有多少个_币安里面的比特币怎么提现到钱包_比特币 脑钱包

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

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

2.通过助记词导入钱包

在创建新钱包时,我们使用seedFromRandomWithMnemonic()方法通过随机助记词创建种子,然后我们在创建钱包时指定助记词通过助记词导入钱包,这就需要使用到另一个方法seedFromMnemonic (),其API定义如下:

比特币 脑钱包_币安里面的比特币怎么提现到钱包_比特币钱包助记词有多少个

单击此处添加图片说明

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

BIP39:字符串,助记词。

opts:可选参数,是一个对象,包含单词breaks如下:

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

比特币 脑钱包_币安里面的比特币怎么提现到钱包_比特币钱包助记词有多少个

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

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

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

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

比特币 脑钱包_币安里面的比特币怎么提现到钱包_比特币钱包助记词有多少个

单击此处添加图片说明

输出如下:

币安里面的比特币怎么提现到钱包_比特币钱包助记词有多少个_比特币 脑钱包

F6CA929D-C18F-440E-B25B-E2EC53AE3992

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

3.导出钱包助记词

比特币钱包助记词有多少个_比特币 脑钱包_币安里面的比特币怎么提现到钱包

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

币安里面的比特币怎么提现到钱包_比特币钱包助记词有多少个_比特币 脑钱包

单击此处添加图片说明

输出如下:

币安里面的比特币怎么提现到钱包_比特币 脑钱包_比特币钱包助记词有多少个

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

可以得到“wallet1”钱包的助记词是“same subway develop function fancy library sand and rain hamster ship floor define”。

4.完整的源代码

1.控制器/wallet.js

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

比特币钱包助记词有多少个_币安里面的比特币怎么提现到钱包_比特币 脑钱包

币安里面的比特币怎么提现到钱包_比特币 脑钱包_比特币钱包助记词有多少个

单击此处添加图片说明

2.控制器/web.js

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

比特币 脑钱包_比特币钱包助记词有多少个_币安里面的比特币怎么提现到钱包

单击此处添加图片说明

3.路由器/router.js

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

币安里面的比特币怎么提现到钱包_比特币钱包助记词有多少个_比特币 脑钱包

单击此处添加图片说明

币安里面的比特币怎么提现到钱包_比特币钱包助记词有多少个_比特币 脑钱包

4.静态/js/wallet.js

文件加载完成后比特币钱包助记词有多少个,处理获取钱包列表、通过助记词导入钱包、导出钱包助记词等网络请求。

比特币钱包助记词有多少个_币安里面的比特币怎么提现到钱包_比特币 脑钱包

单击此处添加图片说明

5.views/钱包.html

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

比特币 脑钱包_比特币钱包助记词有多少个_币安里面的比特币怎么提现到钱包

点击此处添加图片说明 五、项目运行效果

币安里面的比特币怎么提现到钱包_比特币钱包助记词有多少个_比特币 脑钱包

B2539C4C-AD17-4805-8670-61218498F309

项目源码Github地址