【问题标题】:Create random Wallet with connection to a specific provider via ethers.js通过 ethers.js 创建与特定提供商连接的随机钱包
【发布时间】:2022-01-06 13:38:41
【问题描述】:

问题

我正在尝试通过函数Ethers.Wallet.createRandom 创建随机钱包并连接到特定网络(例如Ropsten)。 docs 指定我可以传递一个可选的options object

我尝试了什么

我尝试像这样传递到网络的连接:

const networkProvider = await new Ethers.getDefaultProvider(process.env.NETWORK);
const wallet = Ethers.Wallet.createRandom({ provider: networkProvider });

很遗憾,这不起作用。

问题

在创建钱包时是否可以选择通过网络或稍后再做?

【问题讨论】:

    标签: javascript blockchain ethereum ethers.js


    【解决方案1】:

    返回的 Wallet 对象 (docs) 包含私钥和钱包地址。但是,地址生成算法在所有网络中都是通用的。因此,如果私钥0x123 生成地址0x456,您始终可以使用相同的0x123 私钥在所有网络(主网、Ropsten、Rinkeby 等)上从0x456 地址签署交易。

    您广播交易的网络取决于您的供应商所连接的网络。所以如果你想限制应用可以发送交易的网络,你需要验证提供者的getNetwork()返回值(docs)。

    添加options 参数:在createRandom() source code 中,它只使用该参数来影响如何生成私钥的伪随机性。但同样,它与您将使用钱包的网络无关。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-09-10
      相关资源
      最近更新 更多