我希望创建一个可查看的函数(需要向用户返回字符串),该函数会搜索一个映射以查找msg.sender,如果发送者的值为x,则希望合约可以相应地进行处理。在remix中,所有这些都能正常工作,但是如果我将其上传到ropsten网络中,它就不再起作用了。这是已知的问题吗?我也尝试了tx.origin,结果相同。
以下是我尝试的有问题的代码:
function getLink() public view returns(string){
if(tokenBalances[msg.sender]>0){
return link;
}else{
return "You need to purchase a token at first...";
}
}
编辑:我认为问题在于当使用可视函数时,没有msg.sender因为没有实际交易?有没有一种方法可以在不使用“view”函数的情况下向用户返回值?
call()
中设置了from
为你想要将msg.sender
设置为的账户吗? - carver