Using ethers, I can easily generate a public key (wallet address), private key, and seed phrase:
function makeWallet(params) {
const wallet = ethers.Wallet.createRandom();
return [wallet.address, wallet.mnemonic.phrase, wallet.privateKey];
}
Question:
What is the relationship between the mnemonic phrase, the private key, and the address? I cad divide the question into 3 sub-parts:
- Given a wallet address, and a mnemonic key, is it possible to compute the private key?
- Given a wallet address, and a private key, is it possible to compute the mnemonic key?
- Given a mnemonic key and/or private key, is it possible to compute the wallet address?