以太坊钱包开发:创建钱包账号

  以太坊去中心化网页钱包开发系列,本系列将从零开始开发出一个可以实际使用的钱包,本系列是理论与实战相结合,文章一共有四篇:创建钱包账号、账号Keystore文件导入导出、展示钱包信息及发起签名交易、发送Token(代币),这是第一篇,主要介绍钱包将实现哪些功能及怎么创建钱包账号,本钱包是基于ethers.js进行开发。

  去中心化网页钱包先明确一下定义,什么是去中心化钱包,账号秘钥的管理,交易的签名,都是在客户端完成,即私钥相关的信息都是在用户手中,钱包的开发者接触不到私钥信息。对应的中心化钱包则是私钥由中心服务器托管,如交易所的钱包就是这种。网页钱包,或者叫web钱包,是指钱包以网页的形式展现,去中心化网页钱包则交易的签名等操作是在浏览器里完成。其他形式的钱包,如Android钱包或iOS钱包其开发思路和web钱包一样,因此文本对开发其他平台的钱包也有参考意义,不过本系列文章主要侧重在钱包功能的实现,并未过多考虑用户体验。

  钱包功能一个钱包通常主要包含的功能有:账号管理(主要是私钥的管理):创建账号、账号导入导出账号信息展示:如以太币余额、Token(代币)余额。转账功能:发送以太币及发送Token(代币)这些功能将基于ethers.js进行开发,ethers.js和web3.js一样,也是一套和以太坊区块链进行交互的库,不仅如此,ethers.js还对BIP39等相关的提案进行了实现,可以在这个链接阅读其文档。

  这些功能主要表现为钱包的两个界面,一个界面是:账号管理,一个界面是进行账号信息展示及转账。下面逐个进行介绍

  12letkeyNumber=ethers.utils.bigNumberify(privateKey);console.log(randomNumber._hex);

  界面代码(HTML)代码如下(主要是在表格中定义个一个输入框及一个按钮):

  通过助记词方式创建钱包账号这是目前主流常见钱包的方式,关于助记词推导过程请阅读理解开发HD钱包涉及的BIP32、BIP44、BIP39。我们需要先生成一个随机数,然后用随机数生成助记词,随后用助记词创建钱包账号,设计到的API有:

  界面代码(HTML)代码如下(主要是在表格中定义个两个输入框及一个按钮):

TAG标签: 表格定义网页
Ctrl+D 将本页面保存为书签,全面了解最新资讯,方便快捷。