Testing

如何從乙太幣中的地址創建簽名者對象?

  • December 14, 2021

我有一個地址列表,我想用它們來測試我在安全帽乙太項目中的契約。通常我會得到一個這樣的地址列表:

[a, b, c] = await ethers.getSigners()

但我想做的是獲取地址0x70997970C51812dc3A010C7d01b50e0d17dc79C8並將其轉換為簽名者對象,以便我可以呼叫:

contract.connect("0x70997970C51812dc3A010C7d01b50e0d17dc79C8").method()

由於簽名者可以是 Wallet、VoidSigner 或 JsonRpcSigner,因此您可以使用jsonRpcProvider.getSigner( [ addressOrIndex ] )返回JsonRpcSigner.

最簡單的答案是使用已經有提供者的已部署合約。

contract.provider.getSigner('0x70997970C51812dc3A010C7d01b50e0d17dc79C8')

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