首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在智能契约中生成msg.sender地址?

问如何在智能契约中生成msg.sender地址?
EN

Ethereum用户
提问于 2020-07-28 07:10:55
回答 1查看 344关注 0票数 1

msg.sender (address):消息的发送方(当前呼叫)。

考虑用户使用智能契约并尝试执行事务的场景。对于该特定用户,msg.sender是该用户的地址。

这个地址对那个特定的用户有变化吗?

给来电者的地址是什么?它是如何产生的?

EN

回答 1

Ethereum用户

发布于 2020-07-28 07:28:42

msg.sender始终是调用当前合同的实体的地址。当合同调用另一个契约时,msg.sender将发生更改。让我举几个例子。

假设我们有一个EOA (外部拥有的帐户)A和合同B和C。当A调用B时,B中的msg.sender是A的公共地址。如果合同B也调用合同C,则合同C中的msg.sender是B(合同)地址。

因此,用户的地址永远不会改变(假设他使用相同的帐户),但是msg.sender在契约中的变化是基于哪个实体启动了对该契约的调用。

在前面的示例中,也有始终是A的tx.origin (在事务中从A调用的每个契约中),但是这通常不应该被使用。

票数 2
EN
页面原文内容由Ethereum提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://ethereum.stackexchange.com/questions/85340

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档