Solidity
智能合約中的應付和查看有什麼區別?
我不太明白智能合約中函式中應付的概念以及應付、視圖和純之間的區別。
Payable意味著該函式可以通過該函式呼叫接收乙太幣。本契約中的註釋解釋了此修飾符。
View表示該函式僅從合約中包含的成員變數中讀取。在這裡解釋。
Pure聲明不會讀取合約中的任何成員變數——所有必需的數據都在函式本身的範圍內。在這裡解釋。
Payable
function 表示您將使用該功能發送一些 ETH。如果你不發送任何 ETH,transaction
將會失敗。
View
用於從函式返回數據。這樣的功能將讀取 contractstate/storage
。
Pure
與 相同View
,只是您無法讀取state/storage
它,而只能使用傳遞的parameters
或在函式內部創建的變數進行計算。
View
並且Pure
在從合約外部或從其他View/Pure
函式呼叫時是無氣體的。如果您從普通函式內部呼叫此類函式(更改合約狀態),您將被收取費用。