Solidity
如果視圖函式被另一個訪問相同儲存變數的函式呼叫,是否會使用氣體?
假設我有一個像這樣
view
訪問storage
映射的函式:function performCalculation(uint256 _id) public view returns(uint256) { uint256 memory someValue = someMapping[_id]; return someValue - 10; }
我還有另一個函式也可以訪問相同的值:
function someFunction(uint256 _id) external { uint256 storage someValue = someMapping[_id]; // do something }
如果在內部
someFunction
我需要執行相同的計算,performCalculation
呼叫performCalculation
from會someFunction
在再次訪問儲存時使用更多的氣體嗎?someValue
更好的解決方案是使用from內聯進行相同的計算someFunction
嗎?
在
someFunction
交易中,它會花費更多或相同的氣體。它是一個函式這一事實
view
只允許使用節點 RPC 呼叫它而不是送出交易,但它並沒有降低探勘交易的成本。