solidity知识点

合约拥有者
msg.sender就是当前调用方法时的发起人,一个合约部署后,通过钱包地址操作合约的人很多,但是如何正确判断谁是合约的拥有者,判断方式很简单,就是第一次部署合约时,谁出的gas,谁就对合约具有拥有权。

合约地址
一个合约部署后,会有一个合约地址,这个合约地址就代表合约自己。
this代表的是合约地址。同时也可以看出msg.sender即是调用合约的账户地址

modifier

modifier name(<args>){
    
    
	...
	_;
	};

()里面为参数,…为solidity程式码;_;表示执行完这个modifier后,会去往下执行原本function该做的事

modifier onlyOwner(){
    
    
	require(msg.sender == owner," permission denied");
	_;
	}
function setName(string _name) public onlyOwner returns (string){
    
    
	name = _name;
	return name;
	}

执行 setName 时,当遇到 onlyOwner 会跳到上面的modifier,require验证通过,执行来到 function 的具体内容,即对name赋值。

猜你喜欢

转载自blog.csdn.net/weixin_45774311/article/details/109575503