3 13 全域性可用變數

2021-09-16 19:30:41 字數 1174 閱讀 5185

有些特殊變數和函式永遠存在於全域性中。

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 全域性變數 靜態全域性變數

全域性變數是靜態儲存方式,靜態全域性變數也是靜態儲存方式,這兩者在儲存方式上並無不同。區別 雖在於非靜態全域性變數的作用域是整個源程式,當乙個源程式由多個原始檔組成時,靜態全域性變數在各個原始檔中都是有效的。靜態區域性變數則限制了其作用域,只在定義該變數的原始檔內有效,在同一源程式的其它原始檔中不能...