我有一份看起来很无辜的合同,可以在 Remix 中轻松工作。如果我在 Remix 中使用 JavaScript VM,测试合约可以轻松调用另一个。
我还在端口 7454 上运行了 ganache-cli。如果我将 Remix 连接到 ganache-cli,这些合约中的每一个都可以单独运行。但我不能从测试中调用另一个。混音控制台说transact to Test.send errored: VM Exception while processing transaction: revert
我的合同看起来像:
pragma solidity 0.4.25;
contract Another {
uint public balance;
function sendToAnother() public {
balance += 10;
}
}
contract Test {
function send(address another) public {
Another(another).sendToAnother();
}
}
我的一个怀疑是 - 我是否正确获取了另一个合同的地址?我正在从 Remix 的Deployed Contracts
标签中复制它。