如何通过 HardHat 与界面进行交互?
How to interact with interfaces through HardHat?
如何通过安全帽与界面交互。
例如,在 brownie 中,您可以像这样从接口调用函数:
def main():
weth = interface.IWeth("weth_address")
tx = weth.deposit({"from": account, "value": "value"})
就是这样。
有没有办法在安全帽中做同样的事情?几个小时以来,我一直在解决这个问题,但我终其一生都不知道该怎么做。
如果不可能,我如何通过坚固获得财富。
在安全帽中,您可以使用附件实现它。
- 转到 hardhat 控制台:
npx hardhat console
- 获取合约工厂:
factory = await ethers.getContractFactory('YourContractName')
- 附加到地址
weth = await factory.attach('weth_address')
- 执行函数调用,例如:
signer = await ethers.getSigner();
await signer.sendTransaction({ to: tokenAddress, value: ethers.utils.parseEther("5.0") });
是的,您可以使用 ethers.getContractAt
。
import { ethers } from "hardhat";
...
// Assume `ISetup` is an interface of the contract.
const setup = await ethers.getContractAt("ISetup", contractAddress);
如何通过安全帽与界面交互。
例如,在 brownie 中,您可以像这样从接口调用函数:
def main():
weth = interface.IWeth("weth_address")
tx = weth.deposit({"from": account, "value": "value"})
就是这样。
有没有办法在安全帽中做同样的事情?几个小时以来,我一直在解决这个问题,但我终其一生都不知道该怎么做。
如果不可能,我如何通过坚固获得财富。
在安全帽中,您可以使用附件实现它。
- 转到 hardhat 控制台:
npx hardhat console
- 获取合约工厂:
factory = await ethers.getContractFactory('YourContractName')
- 附加到地址
weth = await factory.attach('weth_address')
- 执行函数调用,例如:
signer = await ethers.getSigner();
await signer.sendTransaction({ to: tokenAddress, value: ethers.utils.parseEther("5.0") });
是的,您可以使用 ethers.getContractAt
。
import { ethers } from "hardhat";
...
// Assume `ISetup` is an interface of the contract.
const setup = await ethers.getContractAt("ISetup", contractAddress);