Web3js

如何檢查 BIP39 助記詞是否有效?

  • December 4, 2019

我正在為一個黑客社區製作一款遊戲,讓更多人接觸乙太坊和區塊鏈。在破解某些東西後,我的黑客會得到許多不同的助記詞(類似於 metamask 生成的助記詞)。他們將嘗試找到正確的,但是我如何設置以檢查種子片語是否正確而不採用“硬編碼”方式?

例如,metamask 是否有一個 API 可以輸入您的助記詞並檢查它是否正確並允許您進入?也許 web3.js 可以做點什麼?

如果不是,將種子片語轉換為私鑰並嘗試登錄是否是一個好的解決方案?怎麼可能做到這一點?

Ethers.js 有一個檢查助記詞有效性的功能,HDNode.isValidMnemonichttps ://docs.ethers.io/ethers.js/html/api-advanced.html#static-methods

例如:

import { utils } from 'ethers.js';

utils.HDNode.isValidMnemonic("action glow era all liquid critic achieve lawsuit era anger loud slight"); // returns true

如果您使用的是 Ethers.js v5 (beta),也可以直接從 導入函式@ethersproject/hdnode,而無需包含其他依賴項:

import { isValidMnemonic } from '@ethersproject/hdnode';

isValidMnemonic(...);

引用自:https://ethereum.stackexchange.com/questions/78025