50 合约使用外部账户签名后的交易data , 调用其他合约的方法 ,msg.sender是谁

其他合约的方法中,msg.sender是代理合约还是我的外部账户呢? 我想写个代理合约来交易,但是担心msg.sender不是我自己 。 我记得以前有看过类似的例子 。

请先 登录 后评论

最佳答案 2021-12-28 11:03

这取决于代理合约的实现, 如果代理合约对对具体合约的调用是使用普通的接口调用, 那么在具体的调用用合约来说 msg.sender 是 你的代理合约。

如果代理合约 和 目标调用合约地址自己实现的, 且使用了 delegatecall的方式来调用目标合约,那么msg.sender 就是外部账户。

这里有一篇文章介绍: https://learnblockchain.cn/article/1960

请先 登录 后评论

其它 1 个回答

mike
请先 登录 后评论
  • 2 关注
  • 0 收藏,3115 浏览
  • 嘟噜嘟噜 提出于 2021-12-28 10:06