如何从 Dart 中的助记词生成新的私钥?
How to generate new private keys from a mnemonic in Dart?
我无法理解如何从同一个助记符生成新的私钥(例如,在创建新帐户的情况下)。当前函数returns相同的私钥。
Future<String> getPrivateKey(String mnemonic) async {
final seed = bip39.mnemonicToSeed(mnemonic);
final master = await ED25519_HD_KEY.getMasterKeyFromSeed(seed);
final privateKey = HEX.encode(master.key);
return privateKey;
}
提前致谢!
对于任何有相同疑问的人,我已经找到了解决方案。如果您获取助记词,然后为其提供派生路径,它每次都会生成相同的 private/public 密钥。所以要衍生更多的钱包就得改变路径:原来以太坊的衍生路径是m/44'/60'/0'/0/0
,可以通过m/44'/60'/0'/1/0
、m/44'/60'/0'/2/0
等路径得到一个新的钱包。每个数字代表一个不同的类别,但通常你会更改最后两个数字。
我无法理解如何从同一个助记符生成新的私钥(例如,在创建新帐户的情况下)。当前函数returns相同的私钥。
Future<String> getPrivateKey(String mnemonic) async {
final seed = bip39.mnemonicToSeed(mnemonic);
final master = await ED25519_HD_KEY.getMasterKeyFromSeed(seed);
final privateKey = HEX.encode(master.key);
return privateKey;
}
提前致谢!
对于任何有相同疑问的人,我已经找到了解决方案。如果您获取助记词,然后为其提供派生路径,它每次都会生成相同的 private/public 密钥。所以要衍生更多的钱包就得改变路径:原来以太坊的衍生路径是m/44'/60'/0'/0/0
,可以通过m/44'/60'/0'/1/0
、m/44'/60'/0'/2/0
等路径得到一个新的钱包。每个数字代表一个不同的类别,但通常你会更改最后两个数字。