因此,作为关于solidity 的bitdegree 课程的一部分,我希望创建一个名为onlyOwner 的修饰符并将其分配给changePrice 函数。我必须确保仅当发件人的地址与所有者的地址匹配时,修饰符才允许执行函数。可以使用 msg.sender 获取发件人的地址。
我尝试输入它来创建修饰符,但它对我不起作用,我不知道为什么。任何帮助/推荐的代码将不胜感激!
pragma solidity ^0.4.17;
contract ModifiersTutorial {
address public owner;
uint256 public price = 0;
address public sender=msg.sender;
//
modifier onlyOwner(sender){
if (owner==sender);
}
//
// Use your modifier on the function below
function changePrice(uint256 _price) public onlyOwner {
price = _price;
}
function ModifiersTutorial () {
owner = msg.sender; // msg.sender in constructor equals to the address that created the contract
}
}