What is web3-eth-personal?
The web3-eth-personal package is a sub-package of the web3.js library that provides personal management functionalities for Ethereum accounts. It allows you to manage accounts, sign transactions, and interact with the Ethereum network on a personal level.
What are web3-eth-personal's main functionalities?
Create Account
This feature allows you to create a new Ethereum account with a specified password. The code sample demonstrates how to create a new account using the web3-eth-personal package.
const Web3 = require('web3');
const web3 = new Web3('http://localhost:8545');
web3.eth.personal.newAccount('!@superpassword')
.then(console.log);
Unlock Account
This feature allows you to unlock an Ethereum account for a specified duration. The code sample demonstrates how to unlock an account using the web3-eth-personal package.
const Web3 = require('web3');
const web3 = new Web3('http://localhost:8545');
web3.eth.personal.unlockAccount('0x1234567890123456789012345678901234567890', 'password', 600)
.then(console.log);
Sign Transaction
This feature allows you to sign a transaction with a specified account. The code sample demonstrates how to sign a transaction using the web3-eth-personal package.
const Web3 = require('web3');
const web3 = new Web3('http://localhost:8545');
const tx = {
from: '0x1234567890123456789012345678901234567890',
to: '0xabcdefabcdefabcdefabcdefabcdefabcdefabcdef',
value: '1000000000000000000',
gas: 2000000
};
web3.eth.personal.signTransaction(tx, 'password')
.then(console.log);
Send Transaction
This feature allows you to send a transaction from a specified account. The code sample demonstrates how to send a transaction using the web3-eth-personal package.
const Web3 = require('web3');
const web3 = new Web3('http://localhost:8545');
const tx = {
from: '0x1234567890123456789012345678901234567890',
to: '0xabcdefabcdefabcdefabcdefabcdefabcdefabcdef',
value: '1000000000000000000',
gas: 2000000
};
web3.eth.personal.sendTransaction(tx, 'password')
.then(console.log);
Other packages similar to web3-eth-personal
ethers
The ethers.js library is a complete and compact library for interacting with the Ethereum blockchain. It provides similar functionalities to web3-eth-personal, such as account management, signing transactions, and interacting with smart contracts. Ethers.js is known for its simplicity and ease of use.
ethjs
Ethjs is a highly modular and lightweight library for interacting with the Ethereum blockchain. It provides similar functionalities to web3-eth-personal, including account management and transaction signing. Ethjs is designed to be minimalistic and efficient.
truffle-hdwallet-provider
Truffle HDWallet Provider is a provider for Ethereum that allows you to sign transactions using a hierarchical deterministic wallet. It provides functionalities similar to web3-eth-personal, such as account management and transaction signing, but is specifically designed for use with HD wallets.
web3-eth-personal
This is a sub package of web3.js
This is the personal package to be used in the web-eth
package.
Please read the documentation for more.
Installation
Node.js
npm install web3-eth-personal
In the Browser
Build running the following in the web3.js repository:
npm run-script build-all
Then include dist/web3-eth-personal.js
in your html file.
This will expose the Web3EthPersonal
object on the window object.
Usage
var Web3EthPersonal = require('web3-eth-personal');
var personal = new Web3EthPersonal('ws://localhost:8546');