有些特殊變數和函式永遠存在於全域性中。
3.13.1 區塊和交易屬性
區塊和交易屬性有如下幾項:
·block.blockhash(uint blocknumber)returns(bytes32)。給定區塊的雜湊值,只支援最近256個區塊。
·block.coinbase(address)。當前區塊礦工的位址。
·block.difficulty(uint)。當前區塊的難度值。
·block.gaslimit(uint)。當前區塊的gas上限。它定義了整個區塊中的所有交易一起最多可以消耗 多少gas。其目的是使區塊的傳播和處理時間保持在較低水平,這樣才能有足夠去中心化的網路。礦工有權利將當前區塊的gas上限設定為上乙個區塊的gas 上限~0.0975%(1/1,024)以內的數值,所以gas上限的結果應當是礦工偏好的中間值。
·block.number(uint)。當前區塊的序號。
·block.timestamp(uint)。當前區塊的時間戳。
·msg.data(bytes)。完整的呼叫資料裡儲存的函式及其實參。
·msg.gas(uint)。當前剩餘的gas。
·msg.sender(address)。當前呼叫發起人的位址。
·msg.sig(bytes4)。呼叫資料的前四個位元組(函式識別符號)。
·msg.value(uint)。這個訊息所附帶的貨幣量,單位為wei。
·now(uint)。當前區塊的時間戳,等同於block.timestamp。
·tx.gasprice(uint)。交易的gas**。
·tx.origin(address)。交易的發起人(完整的呼叫鏈)。
·.balance(uint256)。位址餘額,單位為wei。
·.send(uint256 amount)returns(bool)。傳送指定數量的wei到位址,失敗時返回false。
3.13.3 合約相關
·this。當前合約,可顯式轉換成位址型別。
·selfdestruct(address recipient)。銷毀當前合約,把其中的資金傳送到指定位址。
'); (window.slotbydup = window.slotbydup || ).push(); })();
'); (window.slotbydup = window.slotbydup || ).push(); })();
static全域性變數 全域性變數
1 全域性變數 外部變數 的說明之前再冠以static 就構成了靜態的全域性變數。全域性變數本身就是靜態儲存方式,靜態全域性變數當然也是靜態儲存方式。這兩者在儲存方式上並無不同。這兩者的區別在於非靜態全域性變數的作用域是整個源程式,當乙個源程式由多個原始檔組成時,非靜態的全域性變數在各個原始檔中都是...
全域性變數和靜態全域性變數
全域性變數和區域性變數是從變數的作用域的角度劃分。靜態變數和動態變數是從變數的記憶體分配的角度劃分。全域性變數本身就是靜態儲存方式,靜態全域性變數當然也是靜態儲存方式。這兩者在儲存方式上並無不同,區別在於非靜態全域性變數的作用域是整個源程式,當乙個源程式由多個原始檔組成時,非靜態的全域性變數在各個原...
c 全域性變數 靜態全域性變數
全域性變數是靜態儲存方式,靜態全域性變數也是靜態儲存方式,這兩者在儲存方式上並無不同。區別 雖在於非靜態全域性變數的作用域是整個源程式,當乙個源程式由多個原始檔組成時,靜態全域性變數在各個原始檔中都是有效的。靜態區域性變數則限制了其作用域,只在定義該變數的原始檔內有效,在同一源程式的其它原始檔中不能...