Solidity开发注意

pragma版本:一、版本要高于0.4.24才能够编译;二、高于0.5的版本则不可编译;三、第三位的版本号能够变,留出来用作bug能够修复(如0.4.1的编译器有bug,可在0.4.2修复,现有合约不用改代码)。函数

注释:一、单行注释// 二、多行注释/*....*/ 三、natspec 注释,它们是用三个反斜杠(///)或双星号开头的块(/** ... */)书写,它们应该直接在函数声明或语句上使用。工具

事件:以太坊虚拟机日志工具的方便接口。区块链

结构体:能够将几个变量分组的自定义类型(自定义复杂变量的模板)。this

状态变量能够被定义为constant,常量。这样的话,它必须在编译期间经过一个表达式赋值。赋值的表达式不容许:一、访问storage;二、区块链数据,如now,this.balance,block.number;三、合约执行的中间数据,如msg.gas;四、向外部合约发起调用。注意:不是全部的类型都支持常量,当前支持的仅有值类型和字符串。spa

 

 

Fallback 方法

 

function () public payable {
}

 

这个没有任何名字的是 Fallback 方法。一个合约只能存在一个。这个方法没有参数,也没有任何返回值。若是有人调用这个合约,可是指定的方法找不到,它会被触发。日志

 

还有,当这个合约地址单纯地收到 Ether 的时候(好比他人转帐到这个合约地址),这个方法也会被调用。因此,它必须被标记为 payable 。否则,这个合约地址就无法经过普通的交易接收 Ether 了。code

 

要注意的是,若是这个方法里面有逻辑,必定要确保它的 Gas 消耗要小于 2300。接口

相关文章
相关标签/搜索