其他合约的方法中,msg.sender是代理合约还是我的外部账户呢? 我想写个代理合约来交易,但是担心msg.sender不是我自己 。 我记得以前有看过类似的例子 。
这取决于代理合约的实现, 如果代理合约对对具体合约的调用是使用普通的接口调用, 那么在具体的调用用合约来说 msg.sender 是 你的代理合约。
如果代理合约 和 目标调用合约地址自己实现的, 且使用了 delegatecall的方式来调用目标合约,那么msg.sender 就是外部账户。
这里有一篇文章介绍: https://learnblockchain.cn/article/1960