Technical Guide | Ethereum Wallet Development: Generate Account Address, Private Key, Keystore, mnemonic
First, use web3 to connect to the Ethereum network (test network, main network)
1. What is web3
Web3 is a module provided by Ethereum to connect to the Ethereum blockchain, allowing you to interact with local or remote Ethereum nodes using HTTP or IPC, which includes almost all the features of the Ethereum ecosystem. The web3 module is primarily connected to the RPC layer exposed by Ethereum. Developers use web3 to connect to the RPC layer and can connect to any node that exposes the RPC interface to interact with the blockchain. Web3 is a collection library that supports multiple development languages using wbe3. The JavaScript API is called web3.js, and web3.py, web3j, web3.js will be the focus of our wallet development project.
- Web3.eth: Used to interact with the Ethereum blockchain and smart contracts. Web3.utils: Contains some helper methods.
- Web3.shh: P2P and broadcast for protocol communication.
- Web3.bzz: Bzz module for interacting with the group network.
- Github address: web3.js
- Web3.js development documentation::web3.js
2. Instantiate the web3 object
Web3 needs to interact with the node, you need to create a web3 object, let's see how to create it.
- Restoring the entire process of asset transfer: $6.02 million stolen from the DragonEX exchange
- Popular Science | Hash Function Brief
- The first long-term supported version, Hyperledger launches Fabric v1.4 LTS
According to the API, we need to specify the node address, we will ws://some.local-or-remote.node:8546
The network of the connected Ethereum is determined by replacing the address of another node connected to the Ethereum network. So what is the address of the node connected to the Ethereum network? Here we need to use infura.
3. Get the node address connected to the Ethereum network
Infura provides the public Ethereum main network and test network nodes. After registering on the infura.io website, you can get the addresses of each network. Please follow the steps below to get the address.
The first step : open the infura website address: https://infura.io/dashboard, use the email to register and log in as follows:
Step 2 : Click on the “create new project” button labeled above to create a new project. Then pop up the following box, enter the project name in the input box, such as "MyEtherWallet", and then click the "create project" button to create.
Step 3 : Then the following interface will be displayed. Click the checkbox in the figure below to see the node addresses of the main network, Kovan test network, Ropsten test network, and Rinkeby test network.
Step 4 : Select Kovan to test the network, then copy the address and you will get an address like this:
Https://kovan.infura.io/v3/d93f…cd67, as follows.
4. Connect to the Ethereum Kovan Test Network
Now replace the copied address with the address of the instantiated web object, as follows
Connect to the Ethereum main network and the Kovan test network, just copy the address of the main network node to instantiate web3. Since the transaction on the main network requires cost, we develop based on the Kovan test network, and then switch to the main network after the completion of the development. In the project source code we developed, I encapsulated the code for the web3 instance into the getweb3() method of the myUtils.js file for unified calling of the entire project.
Second, get the address, private key, keystore, mnemonic
1. Create an account using web3
To create an account, you need to use the following API of web3.js.
API
Web3.eth.accounts.create([entropy]);
2. router.js
Bind the page that created the account to the interface submitted by the form to the route.
Project source code Github address
Copyright statement: The copyright of the article in the blog belongs to the blogger. It is forbidden to reprint without authorization. Please contact the author (WeChat: lixu1770105) to obtain the consent and indicate the source.
This article address: https://chaindesk.cn/witbook/1/12
Wish code (ChianDesk.CN) – the story of connecting each programmer
Technology upgrade, rapid transformation, please pay attention to WeChat public number: wish code
We will continue to update Blocking; if you have any questions or suggestions, please contact us!
Was this article helpful?
93 out of 132 found this helpful
Related articles
- In-depth understanding of IPFS (1): Beginner to Advanced Guide
- Technical Guide | Ethereum Wallet Development: Wallet Address Generation Process
- The Uncle Block of the Ethereum Reward Mechanism (Part 2)
- Dry goods | read the solidity programming
- Bitcoin Lightning Network: Micro Payment Channel
- Uncle of the Ethereum Reward Mechanism (middle)
- Project combat: Bitcoin charge and withdrawal integration