WeBASE-Front
WeBASE-Front copied to clipboard
msg.sender不唯一
webase-front搭建成功后,部署如下合约:
每次调用testMsg,返回的地址都不一样,请问这是什么原因呢?
测试发现:function为view或pure时msg.sender是动态变化的,其他function才会需要用户的address
`--------------------------------------------------------------------------------------------- Return code: 0 description: transaction executed successfully Return message: Success
Return value size:1 Return types: (ADDRESS) Return values:(0x691c6293c86af4e37575ce13f50271c55a5dbd4a)
[group:1]> call ViewTest 0xe200b70759a6b62066e4b871300f1555c8121977 testMsg
Return code: 0 description: transaction executed successfully Return message: Success
Return value size:1 Return types: (ADDRESS) Return values:(0x691c6293c86af4e37575ce13f50271c55a5dbd4a)
[group:1]> call ViewTest 0xe200b70759a6b62066e4b871300f1555c8121977 testMsg
Return code: 0 description: transaction executed successfully Return message: Success
Return value size:1 Return types: (ADDRESS) Return values:(0x691c6293c86af4e37575ce13f50271c55a5dbd4a)
[group:1]> ` 我用的view测试的结果,每次都是这个地址0x691c6293c86af4e37575ce13f50271c55a5dbd4a
constant/view/pure等查询不建议使用msg.sender进行判断,webase后台发起查询交易会使用随机的私钥进行签名。