如何从 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/0m/44'/60'/0'/2/0等路径得到一个新的钱包。每个数字代表一个不同的类别,但通常你会更改最后两个数字。