获取全局变量



你好,我想测试我的合同在硬顶控制台。我能够运行我的函数很好,但是当我试图读取一个公共全局变量时,它会抛出一个错误。

例如:

uint256 public testVar;
function setInt(uint256 _intset) external {
testVar = _intset;
}

然后在控制台中成功运行await factory.setInt(123)后,我运行:

等待factory.testVar ()

但是由于某些原因,我得到了错误信息:

Error: call revert exception [ See: https://links.ethers.org/v5-errors-CALL_EXCEPTION ] (method="testVar()", data="0x", errorArgs=null, errorName=null, errorSignature=null, reason=null, code=CALL_EXCEPTION, version=abi/5.6.3)
at step  {
reason: null,
code: 'CALL_EXCEPTION',
method: 'testVar()',
data: '0x',
errorArgs: null,
errorName: null,
errorSignature: null,
address: '0x5FbDB2315678afecb367f032d93F642f64180aa3',
args: [],
transaction: {
data: '0x9c328fb3',
to: '0x5FbDB2315678afecb367f032d93F642f64180aa3',
from: '0xf39Fd6e51aad88F6F4ce6aB8827279cffFb92266',
gasLimit: BigNumber { value: "29021272" }
}
}

知道为什么我不能简单地得到这个公共变量吗?

值得注意的是,如果我尝试运行

等待工厂。testVar没有参数它只写

[函数(匿名)]

感谢

致将来读到这篇文章的人。我的问题是,在我的硬帽配置文件中,我从未配置过我的帐户:

所以一旦我设置了:

accounts: [process.env.private_key]

工作正常

WAGMI

最新更新