Solidity數據類型

簡單數據類型:bool值true或者false

                            整形uint無符號整數,int有符號整數,ufixed和fixed代表分數

                            address可以存儲最大20字節值(十六進制表示),用於存儲以太坊地址。屬性balance檢測地址餘額,send用於向地址發送以太幣。

數組類型:generic數組類型,普通數組類型

                   byte字節數組類型,byte1,byte2...

字符串類型:byte創建原始字符串

                      string創建UTF-8字符串

結構類型:struct類似於C語言struct

枚舉類型:enum

mapping類型:是一個hash表,只存在storage中作爲狀態變量聲明

var 申明狀態變量

全局可用變量:

區塊和交易的屬性

  • block.blockhash(uint blockNumber) returns (bytes32):返回給定區塊號的哈希值,只支持最近256個區塊,且不包含當前區塊。
  • block.coinbase (address): 當前塊礦工的地址。
  • block.difficulty (uint):當前塊的難度。
  • block.gaslimit (uint):當前塊的gaslimit。
  • block.number (uint):當前區塊的塊號。
  • block.timestamp (uint): 當前塊的Unix時間戳(從1970/1/1 00:00:00 UTC開始所經過的秒數)
  • msg.data (bytes): 完整的調用數據(calldata)。
  • msg.gas (uint): 當前還剩的gas。
  • msg.sender (address): 當前調用發起人的地址。
  • msg.sig (bytes4):調用數據(calldata)的前四個字節(例如爲:函數標識符)。
  • msg.value (uint): 這個消息所附帶的以太幣,單位爲wei。
  • now (uint): 當前塊的時間戳(block.timestamp的別名)
  • tx.gasprice (uint) : 交易的gas價格。
  • tx.origin (address): 交易的發送者(全調用鏈)   

地址類型相關

  • <address>.balance (uint256):Address的餘額,以wei爲單位。

  • <address>.transfer(uint256 amount):發送給定數量的ether到某個地址,以wei爲單位。失敗時拋出異常。

  • <address>.send(uint256 amount) returns (bool):發送給定數量的ether到某個地址,以wei爲單位, 失敗時返回false。

  • <address>.call(...) returns (bool):發起底層的call調用。失敗時返回false。

  • <address>.callcode(...) returns (bool):發起底層的callcode調用,失敗時返回false。

  • <address>.delegatecall(...) returns (bool):發起底層的delegatecall調用,失敗時返回false。                 

合約相關

  • this(當前合約的類型):表示當前合約,可以顯式的轉換爲Address
  • selfdestruct(address recipient):銷燬當前合約,並把它所有資金髮送到給定的地址。
  • suicide(address recipient):selfdestruct的別名

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章