【问题标题】:In Polkadot-js is there a method to create HD wallet addresses在 Polkadot-js 中是否有创建 HD 钱包地址的方法
【发布时间】:2019-09-10 08:45:17
【问题描述】:

我正在使用 Polkadot-js api,想知道是否有一个 API 可以从给定的种子生成分层确定性钱包地址?

我看到在 Substrate 的 subkey documentation 中提到了软和硬派生路径,但不知道这是否已移植到 Polkadot-js 或如何调用它。

【问题讨论】:

    标签: substrate polkadot-js


    【解决方案1】:

    Polkadot-js 支持 SURI,使用 createFromUriaddFromUri 创建或添加新帐户到您的密钥环。 你可以import keyring from '@polkadot/ui-keyring'然后使用它:

    keyring.createFromUri(`${phrase.trim()}${derivePath}`, {}, pairType)
    

    这里是definition of the function

    编辑:派生路径可以是/[soft]//[hard] 的任意组合,可以重复且不必按此顺序,除此之外,您还可以有一个额外的///[password]

    因此您可以将参数作为参数传递给createFromUri 函数,例如:[mnemonic phrase]//Kusama//DAO/1[mnemonic phrase]//MyMainFunds/0///ThisIsMyPassword

    【讨论】:

    • 您能否编辑您的回复以更明确地说明派生路径的外观。例如,BIP44 派生路径可以写为m/44'/0'/0'/0/0,但这“可能”不会像那样工作。正确的语法是什么?
    • 添加更多信息。撇号表示一条艰难的道路。因此,在基板中,BIP44 等价物是m//44//0//0/0/0。此外,在使用软派生路径的底层中,您可以与根公共地址共享此派生路径,也允许第三方代表您生成有效的付款地址,而无需您请求。但是,除非种子已受密码保护(通过将 ///yourpassword 附加到种子,否则您不应共享根地址。这样您将获得无法单独从种子中检索的根地址,但也需要密码。
    猜你喜欢
    • 1970-01-01
    • 2021-03-17
    • 2018-07-11
    • 2014-10-10
    • 2022-05-31
    • 2021-04-06
    • 2018-07-25
    • 1970-01-01
    • 2021-05-25
    相关资源
    最近更新 更多