Solidity

View函式如何將數據發送到前端?

  • May 30, 2020

我需要將一些數據從僅查看功能發送到前端。我嘗試通過發出帶有必填欄位的事件來使用標準方法。但是,當將發出呼叫放在視圖類型函式中時,我收到一條錯誤消息,指出發出呼叫可能會改變狀態,因此不能在視圖函式中。

如果事件不能使用,View 函式如何將數據發送到前端?

event TestEvent (uint id);
function test() public view {
   emit TestEvent(123);
}

//Output
... TypeError: Function declared as view, but this expression (potentially) modifies the state and thus requires non-payable (the default) or payable.
...

一個事件被記錄(保存)在區塊鏈上,從而改變它。

所以它顯然不能從只讀(pureview)函式發出。

您可以簡單地返回數據,即return 123;.

引用自:https://ethereum.stackexchange.com/questions/83849