msg.sender:合约的直接调用者。

由于是直接调用者,所以当处于 用户A->合约1->合约2 调用链下,

  • 若在合约2内使用msg.sender,得到的会是合约1的地址。
  • 如果想获取用户A,可以用tx.origin, tx.origin:交易的"始作俑者",整个调用链的起点。
pragma solidity ^0.4.25;
contract Sample{
​//State variablesaddress private _admin;uint private _state;
​//Modifiermodifier onlyAdmin(){require(msg.sender == _admin, "You are not admin");      _;}
​//Eventsevent SetState(uint value);
​//Constructorconstructor() public{_admin = msg.sender;}
​//Functionsfunction setState(uint value) public onlyAdmin{_state = value;emit SetState(value);}
​function getValue() public view returns (uint){return _state;}
​
}

区块链 以太坊 多层调用,获取调用者 msg.sender相关推荐

  1. 可编程区块链以太坊的未来

    区块链的火热就不用说了,回看一下Vinay Gupta 2015年发表的文章<内容可编程的区块链:以太坊的未来>,感受一下先行者的思想. 到本文结束时,你将了解一般的区块链(特别是下一代区 ...

  2. 回看2015年是如何描述区块链以太坊的未来

    区块链的火热就不用说了,回看一下Vinay Gupta 2015年发表的文章<内容可编程的区块链:以太坊的未来>,感受一下先行者的思想. 到本文结束时,你将了解一般的区块链(特别是下一代区 ...

  3. 回望Vinay2015年的文章:内容可编程的区块链——以太坊的未来

    2019独角兽企业重金招聘Python工程师标准>>> 区块链的火热就不用说了,回看一下Vinay Gupta 2015年发表的文章<内容可编程的区块链:以太坊的未来>, ...

  4. 上下文可编程区块链——以太坊的未来

    区块链的火热就不用说了,回看一下Vinay Gupta 2015年发表的文章<内容可编程的区块链:以太坊的未来>,感受一下先行者的思想. 到本文结束时,你将了解一般的区块链(特别是下一代区 ...

  5. 【区块链-以太坊】5 Ubuntu下truffle ganache安装及使用

    [区块链-以太坊]5 Ubuntu下truffle & ganache安装及使用 1 truffle安装 1)输入sudo npm install -g truffle 2)将truffle复 ...

  6. 区块链-以太坊学习资料汇总

    最近一段时间以来,对区块链的底层研究和基于区块链的应用开发已经越来越火热了.机缘巧合,目前我也在进行区块链方面的开发,在之后的博客中,我会和大家一起分享区块链开发中的酸甜苦辣.今天我先来对收藏区块链- ...

  7. 8支团队正在努力构建下一代区块链以太坊Ethereum 2.0

    2019独角兽企业重金招聘Python工程师标准>>> "我们不想在构建 Ethereum 2.0时重新造轮子." 谈到开发人员为 Ethereum 区块链进行两 ...

  8. 区块链以太坊以及hyperledger总结

    https://learnblockchain.cn/ 1.什么是智能合约?它有什么特点? 就是具有交互能力而且能够在区块链中传递的合约 一个由计算机代码控制的以太币账户 特点: 公开透明.能即时与区 ...

  9. 区块链 以太坊 区块结构详解

    一.结构 区块由两部分组成,分别是 区块头(header) 区块体(body) 1. 结构图 2. 区块头(header) 区块头存储了区块的元信息,用来对区块内容进行一些标识,校验,说明等. 通用字 ...

最新文章

  1. final关键字的这8个小细节,你get到几个?
  2. Mac 下安装 ruby 环境解决 brew 安装 yarn 问题
  3. 计算机硬件软件维护报告,计算机软硬件及络维护技能实习报告.doc
  4. jquery实现章节目录效果
  5. 9--Rails数据交互1
  6. Java类装载器(Classloader)机制解析整理
  7. P2P端口映射 UPnP功能和使用详解
  8. c#明华rf读卡器_明华MW接触式IC卡智能卡读卡器读写器(U/MRD-EB/ET)
  9. MATLAB程序:S-V信道模型
  10. excel复选框_使用复选框更改Excel公式结果
  11. 计算机怎么执行程序代码,代码如何运行?
  12. bi工具市场排行榜-bi工具报价
  13. Going Deeper with Contextual CNN for Hyperspectral Image Classification
  14. 基于JavaWeb聊天室设计与实现
  15. Vue源码剖析——render、patch、updata、vnode
  16. maya 白天室内灯光_Maya Vray室内灯光渲染教程
  17. 何为Turing Machine(图灵机)?
  18. 安全合规/ISO--3--ISO 27001控制目标与控制项介绍
  19. 关于 Unity 启动弹 Your project was last saved with a different version of Unity 弹窗的解决办法
  20. html2canvas动态截图,html2canvas.js按界面元素截屏功能演示

热门文章

  1. linux更改库文件vfp,linux交叉编译的库在链接时提示:xxx uses VFP register arguments xxx does not...
  2. 伸缩的菜单html,javascript伸缩菜单栏实现代码分享
  3. 新手学计算机专用鼠标垫,CS迷注意!教你自制高级鼠标垫
  4. kafka问题之Listener method could not be invoked with the incoming message
  5. [ZZ]一名IT从业者的英语口语能力成长路径
  6. 使用Python进行12306抢票
  7. c语言借助中间变量完成的作业,北京交通大学黄宇黄宇老师C语言第一次作业.doc...
  8. Photoshop 通过快捷键来快速选择工具箱中的某一工具 ,快捷键大全
  9. Android中framework层下添加aidl编译说程序包不存在
  10. 华为手机传感器测试软件,华为P8拍摄能力测试 IMX278传感器到底魅力何在