在 Solidity 中更改状态变量后如何从函数返回任何内容?

问题描述 投票:0回答:2
function setName(string memory _name) public returns(string memory){
name = _name;
return "Name was set";
}

我想在设置字符串后返回一条确认消息,但每当我尝试部署时,它工作正常,甚至正在设置名称,但它没有返回字符串“名称已设置”。 谁能帮我解决这个问题吗? 谢谢!

blockchain ethereum solidity
2个回答
0
投票

状态更改函数并不完全返回您可以在智能合约之外的常识中使用的东西,例如在测试中。

为此,我们使用 Events 来记录发生的情况,然后查询日志或在执行完 setter 函数后简单地调用 getter 函数。


0
投票

实际上状态改变函数可以返回值。 但是,该值可以由另一个进行交易的智能合约读取。换句话说,状态改变函数的返回值不能被 EOM 账户读取。

© www.soinside.com 2019 - 2024. All rights reserved.