以太坊钱包开发 六-Coding:生成帐户地址、私钥、keystore、助记

1、使用web3链接到以太坊网络(测试网、主网)

1. 什么是web3

web3是以太坊官方开提供的一个链接以太坊区块链的模块,容许您使用HTTP或IPC与本地或远程以太坊节点进行交互,它包含以太坊生态系统的几乎全部功能。web3模块主要链接以太坊暴露出来的RPC层。开发者利用web3链接RPC层,能够链接任何暴露了RPC接口的节点,从而与区块链交互。web3是一个集合库,支持多种开发语言使用wbe3,其中的JavaScript API叫作web3.js、另外还有web3.py、web3j,web3.js将是咱们钱包开发项目的重点。node

  • web3.eth:用于与以太坊区块链和智能合约之间的交互。web3.utils:包含一些辅助方法。
  • web3.shh:用于协议进行通讯的P2P和广播。
  • web3.bzz:用于与群网络交互的Bzz模块。
  • github地址:web3.js
  • web3.js开发文档::web3.js

2. 实例化web3对象

web3要与以坊节点进行交互,须要建立一个web3对象,下面看看如何建立。git

根据API可知须要指定节点地址,咱们将ws://some.local-or-remote.node:8546程序员

换成其它链接到以太坊网络的节点的地址,以此来肯定链接的以太坊的网络。那么链接到以太坊网络的节点的地址是多少呢?这里咱们须要使用到infura。github

3. 获取链接到以太坊网络的节点地址

infura提供公开的 Ethereum主网和测试网络节点,到infura.io网站注册后便可获取各个网络的地址。请按照以下步骤获取地址。web

第一步:打开 infura网站地址:https://infura.io/dashboard,使用邮箱注册后登录以下所示:微信

 

 

第二步:点击上图标记的“create new project”按钮建立一个新项目。而后弹出以下弹框,在输入框输入项目名,如”MyEtherWallet“,而后点击“create project”按钮建立。网络

 

第三步:而后会显示以下界面,点击下图中的选择框,能够看到提供主网、Kovan测试网络、Ropsten测试网络、Rinkeby测试网络的节点地址。区块链

 

 

第四步:选择Kovan测试网络,而后复制地址,将获取到相似这样的地址:测试

https://kovan.infura.io/v3/d93f......cd67,以下。网站

 

 

4. 链接到以太坊Kovan测试网络

如今将复制的地址替换掉实例化web对象的地址,以下

 

 

链接到以太坊主网与Kovan测试网络同样的,只需复制主网节点的地址去实例化web3便可。因为在主网上交易须要花费gas,所以咱们基于Kovan测试网络进行开发,后续开发完成后可再切换到主网。在咱们开发的项目源码中,我将获取web3实例的代码封装到了myUtils.js文件的getweb3()方法中,用于整个项目统一调用。

 

2、获取地址、私钥、keystore、助记词

1. 使用web3建立帐号

建立帐号须要使用web3.js的以下API

API

web3.eth.accounts.create([entropy]);

 

 

 

image.png

 

image.png

 

 

image.png

 

 

image.png

 

 

2. router.js

将建立帐户的页面与表单提交的接口绑定到路由。

 

image.png

 

 

image.png

 

 

image.png

 

项目源码Github地址

版权声明:博客中的文章版权归博主全部,未经受权禁止转载,转载请联系做者(微信:lixu1770105)取得赞成并注明出处。

本文地址: https://chaindesk.cn/witbook/1/12

 


 

愿码(ChianDesk.CN)——链接每一个程序员的故事

“愿码”以线上社区线下实战型人才加速器相结合,立志打造全球最大的IT实战型多元化复合型人才生态圈。

免费技术交流群:263270946

技术提高、快速转型请关注微信公众号:愿码