Мне нужно отправить некоторые данные из функции только для просмотра во внешний интерфейс. Я попробовал использовать стандартный подход, создав событие с обязательными полями. Однако, когда вызов emit помещается в функцию типа представления, я получаю сообщение об ошибке, указывающее, что вызов emit потенциально изменяет состояние и, следовательно, не может находиться в функции представления.
Как данные отправляются во внешний интерфейс функцией просмотра, если событие не может быть использовано?
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.
...