区块链 以太坊 多层调用,获取调用者 msg.sender
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相关推荐
- 可编程区块链以太坊的未来
区块链的火热就不用说了,回看一下Vinay Gupta 2015年发表的文章<内容可编程的区块链:以太坊的未来>,感受一下先行者的思想. 到本文结束时,你将了解一般的区块链(特别是下一代区 ...
- 回看2015年是如何描述区块链以太坊的未来
区块链的火热就不用说了,回看一下Vinay Gupta 2015年发表的文章<内容可编程的区块链:以太坊的未来>,感受一下先行者的思想. 到本文结束时,你将了解一般的区块链(特别是下一代区 ...
- 回望Vinay2015年的文章:内容可编程的区块链——以太坊的未来
2019独角兽企业重金招聘Python工程师标准>>> 区块链的火热就不用说了,回看一下Vinay Gupta 2015年发表的文章<内容可编程的区块链:以太坊的未来>, ...
- 上下文可编程区块链——以太坊的未来
区块链的火热就不用说了,回看一下Vinay Gupta 2015年发表的文章<内容可编程的区块链:以太坊的未来>,感受一下先行者的思想. 到本文结束时,你将了解一般的区块链(特别是下一代区 ...
- 【区块链-以太坊】5 Ubuntu下truffle ganache安装及使用
[区块链-以太坊]5 Ubuntu下truffle & ganache安装及使用 1 truffle安装 1)输入sudo npm install -g truffle 2)将truffle复 ...
- 区块链-以太坊学习资料汇总
最近一段时间以来,对区块链的底层研究和基于区块链的应用开发已经越来越火热了.机缘巧合,目前我也在进行区块链方面的开发,在之后的博客中,我会和大家一起分享区块链开发中的酸甜苦辣.今天我先来对收藏区块链- ...
- 8支团队正在努力构建下一代区块链以太坊Ethereum 2.0
2019独角兽企业重金招聘Python工程师标准>>> "我们不想在构建 Ethereum 2.0时重新造轮子." 谈到开发人员为 Ethereum 区块链进行两 ...
- 区块链以太坊以及hyperledger总结
https://learnblockchain.cn/ 1.什么是智能合约?它有什么特点? 就是具有交互能力而且能够在区块链中传递的合约 一个由计算机代码控制的以太币账户 特点: 公开透明.能即时与区 ...
- 区块链 以太坊 区块结构详解
一.结构 区块由两部分组成,分别是 区块头(header) 区块体(body) 1. 结构图 2. 区块头(header) 区块头存储了区块的元信息,用来对区块内容进行一些标识,校验,说明等. 通用字 ...
最新文章
- final关键字的这8个小细节,你get到几个?
- Mac 下安装 ruby 环境解决 brew 安装 yarn 问题
- 计算机硬件软件维护报告,计算机软硬件及络维护技能实习报告.doc
- jquery实现章节目录效果
- 9--Rails数据交互1
- Java类装载器(Classloader)机制解析整理
- P2P端口映射 UPnP功能和使用详解
- c#明华rf读卡器_明华MW接触式IC卡智能卡读卡器读写器(U/MRD-EB/ET)
- MATLAB程序:S-V信道模型
- excel复选框_使用复选框更改Excel公式结果
- 计算机怎么执行程序代码,代码如何运行?
- bi工具市场排行榜-bi工具报价
- Going Deeper with Contextual CNN for Hyperspectral Image Classification
- 基于JavaWeb聊天室设计与实现
- Vue源码剖析——render、patch、updata、vnode
- maya 白天室内灯光_Maya Vray室内灯光渲染教程
- 何为Turing Machine(图灵机)?
- 安全合规/ISO--3--ISO 27001控制目标与控制项介绍
- 关于 Unity 启动弹 Your project was last saved with a different version of Unity 弹窗的解决办法
- html2canvas动态截图,html2canvas.js按界面元素截屏功能演示
热门文章
- linux更改库文件vfp,linux交叉编译的库在链接时提示:xxx uses VFP register arguments xxx does not...
- 伸缩的菜单html,javascript伸缩菜单栏实现代码分享
- 新手学计算机专用鼠标垫,CS迷注意!教你自制高级鼠标垫
- kafka问题之Listener method could not be invoked with the incoming message
- [ZZ]一名IT从业者的英语口语能力成长路径
- 使用Python进行12306抢票
- c语言借助中间变量完成的作业,北京交通大学黄宇黄宇老师C语言第一次作业.doc...
- Photoshop 通过快捷键来快速选择工具箱中的某一工具 ,快捷键大全
- Android中framework层下添加aidl编译说程序包不存在
- 华为手机传感器测试软件,华为P8拍摄能力测试 IMX278传感器到底魅力何在