合约之前
pragma solidity >=0.4.25 <0.7.0;
指定版本
import "./ConvertLib.sol";
:导入库
合约内容
contract CName{
...
}
合约本体
constructor() public {
...
}
是合约的构造器,这里面的msg.sender
就是合约的创建者。
modifier
用于参数校验
引用类型
array,struct,mapping
异常处理
require(条件,'打印错误字符串')
可见性
- external:是接口,可以被其他合约或通过tx调用,本地只能用this.f()调用`
- public: 可以被内部或通过子合约调用
- internal: 只能被自身或被继承的合约调用
- private:只能被自身调用
变量可指定的location修饰符
- memory:生命周期为函数调用时间
- storage:持久化变量,存放在账户存储空间中,生命周期为永久
- calldata:变量为函数调用输入,只能在external函数中使用
事件event
可理解为日志
函数修饰符view与pure
前者表示函数不会修状态,后者表示函数不会读取和修改状态