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
function () public payable { }
這個沒有任何名字的是 Fallback
方法。一個合約只能存在一個。這個方法沒有參數,也沒有任何返回值。若是有人調用這個合約,可是指定的方法找不到,它會被觸發。日誌
還有,當這個合約地址單純地收到 Ether 的時候(好比他人轉帳到這個合約地址),這個方法也會被調用。因此,它必須被標記爲 payable
。否則,這個合約地址就無法經過普通的交易接收 Ether 了。code
要注意的是,若是這個方法裏面有邏輯,必定要確保它的 Gas 消耗要小於 2300。接口