-
msg.sender,它指的是当前调用者(或智能合约)的 address
在 Solidity 中,功能执行始终需要从外部调用者开始。 一个合约只会在区块链上什么也不做,除非有人调用其中的函数。所以 msg.sender总是存在的。 -
require使得函数在执行过程中,当不满足某些条件时抛出错误,并停止执行。
-
Solidity 并不支持原生的字符串比较, 只能通过比较两字符串的 keccak256 哈希值来进行判断
require(keccak256(_name) == keccak256("mingming"));
//如果以上语句返回true,就运行下面语句,否则就抛出异常并停止执行
return "Hi";
在调用一个函数之前,用 require 验证前置条件是非常有必要的。