【问题标题】:Execute solidity contract methods from specific account on Ethereum Remix JavaScript VM在 Ethereum Remix JavaScript VM 上从特定账户执行solidity合约方法
【发布时间】:2020-02-24 13:12:03
【问题描述】:

我目前在 ethereum.remix.org 上制作测试合约。 但是如何在测试文件中指定发送合约调用的账户?

contract test {
    MyContract contract;


address creator = address(0);
address payable account2 = address(1);
address payable account3 = address(2);
address payable account4 = address(3);

function beforeAll () public {
   contract = new MyContract();
}

function makeCallFromAccount2 () {
    contract.function1(10);
}
}

如何指定 contract.function1(10) 从账户 2 执行? (这很重要,因为合约方法使用 msg.sender 值)

【问题讨论】:

    标签: ethereum solidity web3 remix


    【解决方案1】:

    虽然关于如何使用的文档很少,但显然你可以做到这一点: https://github.com/ethereum/remix/tree/master/remix-tests#use-a-different-sender-msgsender

    【讨论】:

    • 感谢您的回答,但我想在测试合约中切换账户,例如从账户 1 执行 method1,从账户 4 执行 method2。你当然是对的,我可以在 GUI 上手动切换账户并手动执行合约方法调用,但我想写一个测试合约,可以在测试文件 /contract 中切换账户。
    • 抱歉,我错过了您想在测试合同中执行此操作。看起来你可以做到,虽然文档没有很多细节。
    猜你喜欢
    • 2021-07-25
    • 2018-06-30
    • 1970-01-01
    • 1970-01-01
    • 2019-07-23
    • 2022-08-20
    • 1970-01-01
    • 2021-07-25
    • 2021-12-20
    相关资源
    最近更新 更多