94
votes
Accepted
Can someone explain the meaning of derivation path in wallet in plain English (such as m/44'/60'/0'/0)?
Such a great question.
Background
Derivation paths are related to HD Wallets or HD Keys, a type of wallet where you have a single, human readable, seed phrase that unlocks a number of accounts / ...
9
votes
Accepted
Web3 create account from mnemonic + passphrase
Do it with ethers:
const ethers = require('ethers');
const mnemonic = await ethers.HDNode.entropyToMnemonic(ethers.utils.randomBytes(16));
const wallet = ethers.Wallet.fromMnemonic(mnemonic);
P.S.
...
6
votes
Web3 create account from mnemonic + passphrase
Just in case someone comes here later, in the recent version of ethers, HDNODE has been moved to the utils method. So, in modification to @George's answer above;
const ethers = require('ethers');
...
6
votes
Accepted
Limit of address creation using single mnemonic
Technically, there is an infinite number of addresses that can be created from a single mnemonic following BIP39.
Practically, there is a per-wallet limit. Some wallets that use BIP39, such as ...
5
votes
Accepted
Convert BIP-39 mnemonic to Ethereum private key in Python
I realized my error: https://github.com/vergl4s/ethereum-mnemonic-utils works, but the full derivation path I was looking for is m/44'/60'/0'/0/0 (note the extra /0 to select the first account). Here ...
5
votes
How to use mnemonic to recovery my ethereum wallet
For Bip44 wallets Web3j will use the derivation path m/44/60'/0'/0. The more commonly used path is m/44/60'/0'/0/0 (with an extra /0).
The following code will derive the correct address given a valid ...
3
votes
How does a wallet make sure that it restores all the keys from mnemonic phrases?
In BIP-0044 they gave some recommendations you my want to follow in Account Discovery section.
When the master seed is imported from an external source the software
should start to discover the ...
3
votes
generate unique mnemonic with password(only)
Entropy implies randomness.
Using deterministic algorithms on a password is not entropy and SHOULD NOT be used!
I would recommend researching how to gather entropic data from whatever programming ...
3
votes
Accepted
Is possible to continue the BIP32/BIP39 algorithm from a Pk and Sk pair and "climb" to the mnemonic seed?
If I'm understanding your question correctly, you are asking whether you can go from any key pair in the hierarchy back to the original seed.
This is not possible since each step down the hierarchy ...
2
votes
Web3 create account from mnemonic + passphrase
You can use ethers Lib: https://www.npmjs.com/package/ethers
import { ethers } from "ethers";
newWallet = async () => {
let password = prompt("Password");
if (password) {
var ...
2
votes
How to generate address from xpub in JS?
You can use ethereumjs-wallet, from their unit tests
var xpub = 'xpub661MyMwAqRbcGout4B6s29b6gGQsowyoiF6UgXBEr7eFCWYfXuZDvRxP9zEh1Kwq3TLqDQMbkbaRpSnoC28oWvjLeshoQz1StZ9YHM1EpcJ'
var addr = Wallet....
2
votes
Recovering a seed phrase will only discover sub-wallets that have a transaction history?
Correct, such wallets (or rather "accounts", as called in the standard) will NOT be discovered. Which is fine, because why would you need to see an account without any transactions, it's of ...
2
votes
Does a hardware wallet always generate the same seed phrase?
From official documentation: https://www.thecryptomerchant.com/blogs/resources/hardware-wallet-recovery-seeds-explained
Your hardware wallet can generate an unlimited number of recovery
seeds. Every ...
2
votes
Can two Ledgers generate the same seed phrase?
Ledger phrases are generated following BIP39 standard
Its basically a library of 2048 unique words sorted in alfabetic order.
Therefore generating phrase by pickin 24 words at random gives you 2048^24 ...
2
votes
Accepted
Why does the BIP44 derivation path generate the same address in MetaMask as the Ledger Live derivation path?
That extra zero indicates the key pair number derived from the master seed(commonly referred to as address_index).
You can read more about it here https://github.com/bitcoin/bips/blob/master/bip-0044....
1
vote
HD Wallet with multiple addresses for privacy
Maybe this tool can help to understand the wallet logic. And if it only has a private key, it cannot see other balances. but can see every balance if it has main words.
1
vote
Accepted
Maximum length of each word in BIP39
For a list of mnemonic phrases in English, the maximum word length is 8 characters. There are 2048 words in the dictionary.
In other languages, the maximum word length may be different.
1
vote
bip39 tool created a private key that cannot be imported
Try to generate the addresses this way. Pass your Bip39 seed to it.
Generate as much addresses. let me know if the issue persist
import ethers from 'ethers'
const ethHDW = async (seed) =>{
...
1
vote
Accepted
What is the easiest/safest way to build my own Ethereum wallet (BIP44 HD)
After a lot of research, I went with ethereumjs-util, bip39 and hdkey.
A Installations
Install Node.js (npm will also be needed but it is included in node.js)
Then open a CMD and install the packages :...
1
vote
Create Mnemonic using react-native and BIP39 is not working
Basically the issue is that react's library is old, it wasn't updated for 5 years and encryption has evolved since plus weaknesses found in old libraries.
There's a fork that updated this library to ...
1
vote
How to extract private key for Ethereum Ledger Account using Recovery Phrase BIP39 tool?
Use iancolman 44'/0'/0'/0 i hope you can find you Xpub key here if you can't find it i will answer again with more info
1
vote
Accepted
How to check if BIP39 seed phrase is valid?
Ethers.js has a function that checks the validity of a seed phrase, HDNode.isValidMnemonic: https://docs.ethers.io/ethers.js/html/api-advanced.html#static-methods
For example:
import { utils } from '...
1
vote
How to use bip39 module in angular?
import Bip39 from 'bip39';
https://github.com/mottolini/ionic-ethereum/blob/master/src/providers/ethereum/ethereum.ts
Verify you code!
1
vote
Encryption with BIP39 specification secp256k1 keys?
I figured out an Answer, https://pypi.org/project/eciespy/, this library uses private/public key generated from Sep256k1 curve for encryption and decryption.
from ecies.utils import generate_eth_key
...
Only top scored, non community-wiki answers of a minimum length are eligible
Related Tags
bip39 × 41mnemonic × 12
metamask × 9
wallets × 9
hd-wallets × 9
private-key × 7
web3js × 5
bip32 × 5
addresses × 4
encryption × 4
recovery × 4
erc-20 × 3
ethereumjs × 3
passphrase × 3
javascript × 2
ethereum-wallet-dapp × 2
security × 2
python × 2
hardware-wallets × 2
solidity × 1
tokens × 1
myetherwallet × 1
web3j × 1
ethers.js × 1
balances × 1