【问题标题】:Is there a way to change the private key associated to a web3 account?有没有办法更改与 web3 帐户关联的私钥?
【发布时间】:2022-08-20 02:41:48
【问题描述】:

我有一个 web3 帐户和私钥。可以说我也有 12 个单词的记忆。有没有办法可以更改我的私钥或在需要时轮换它?

如果没有,如果我的私钥被泄露,我该怎么办。如果是,您能否指出 web3 中的代码或 API 可以帮助我做到这一点?

    标签: ethereum web3js


    【解决方案1】:

    地址是从其私钥生成的。因此,当您更改私钥时,它总是会导致不同的地址。

    注意:统计上可能有多个私钥指向同一个地址。有几项研究,但没有发现冲突(第二个私钥生成相同地址),因为概率极低 - 用我们目前的技术实际上是不可能的。


    如果地址更改适合您的用例,您可以使用 wallet.add() 函数 (docs) 将新帐户添加到 web3 实例,或使用 wallet.remove() 函数 (docs) 删除帐户.

    不幸的是,web3 仅适用于私钥 - 不适用于助记词。因此,您需要使用不同的包从助记符生成相应的私钥。例如hdwallet-provider

    【讨论】:

    • 因此,如果我必须删除一个帐户,我将不得不将该帐户的余额转移到另一个帐户,然后将其删除我假设 @Petr ?
    • @vizsatiz 仅从您的本地 web3 实例中删除有关该帐户的信息。但这不会影响链上余额...因此假设您在其他地方备份了私钥,您不需要将其余额转移出去。
    • 但正如问题所说,我的私钥已被泄露,我希望将其从我的帐户中销毁。所以这意味着我必须正确? @彼得?
    • @vizsatiz 如果您的私钥被泄露,攻击者可以完全访问您的帐户。给出了从私钥生成地址的算法,因此无法阻止攻击者(或知道私钥的任何人)使用该帐户。
    猜你喜欢
    • 1970-01-01
    • 2020-05-17
    • 2015-01-20
    • 1970-01-01
    • 2016-10-06
    • 2023-02-06
    • 1970-01-01
    • 2021-08-08
    • 1970-01-01
    相关资源
    最近更新 更多