Solidity

智能合約中的應付和查看有什麼區別?

  • September 24, 2018

我不太明白智能合約中函式中應付的概念以及應付、視圖和純之間的區別。

Payable意味著該函式可以通過該函式呼叫接收乙太幣。契約中的註釋解釋了此修飾符。

View表示該函式僅從合約中包含的成員變數中讀取。在這裡解釋。

Pure聲明不會讀取合約中的任何成員變數——所有必需的數據都在函式本身的範圍內。在這裡解釋。

Payablefunction 表示您將使用該功能發送一些 ETH。如果你不發送任何 ETH,transaction將會失敗。

View用於從函式返回數據。這樣的功能將讀取 contract state/storage

Pure與 相同View,只是您無法讀取state/storage它,而只能使用傳遞的parameters或在函式內部創建的變數進行計算。

View並且Pure在從合約外部或從其他View/Pure函式呼叫時是無氣體的。如果您從普通函式內部呼叫此類函式(更改合約狀態),您將被收取費用。

引用自:https://ethereum.stackexchange.com/questions/59326