1

我有一个关于编程 VB.NET 和 Nethereum 的问题。

合约地址完美无缺。出于测试目的,我内置了一个可以通过函数设置的 maintrace - pause 函数。

在 Remix tool + Metamask 中,暂停和恢复功能完美运行。

几天来,我一直在拼命寻找 VB.NET(或 C#)的解决方案:

合同功能(我有测试删除此合同中的 OnlyOwner 变量):

function SetPause() external returns  (string memory)   {

    if (paused) {
        paused = false;
        emit Unpause();
        Unpause;
        return "Pause Set inactive";
    } else {
        paused = true;
        Pause;
        emit Pause();
        return "Pause Set active";
    }
}

当我通过 VB.NET 处理该函数时,我正常收到返回消息,但我的钱包没有执行交易。因此状态不会改变。其他功能,如传输。代币名称和余额查询工作正常。

VB.NET 代码:

Dim changeFunction As Task(Of String) = Contract.GetFunction("SetPause").SendTransactionAsync(senderAddress, gas)
changeFunction.Wait()
Textbox1.Text = changeFunction.Result

正如我所说,我得到了所有正确的反馈,但没有执行任何事务(更改),只有读取查询。我还尝试了其他 VB.NET 代码。不成功...

4

0 回答 0