Solidity

視圖函式呼叫*不是由合約產生的氣體限制是多少?

  • January 16, 2022

所以這個問題似乎微不足道,但我找不到任何全面的答案,儘管通讀:

我的問題如下:

  • 我可以打電話estimateGas來估計呼叫我的一個函式所需的氣體ethers.js
  • 我的功能的限制氣體是多少?

背景:我正在做一個鏈上 NFT 項目,tokenURI方法有點複雜。我不明白這是否有問題。它應該有多少氣體最大值?

我的功能的限制氣體是多少?

estimateGas將為您的tokenURI方法返回一個相當準確的值。

(如果您的tokenURI方法非常人為/多變,請注意estimateGas 的限制是什麼以及它的估計什麼時候會出現相當大的錯誤?


tokenURI方法有點複雜。我不明白這是否有問題。

使用者通常不會呼叫該tokenURI方法,因此您通常可以。

任何昂貴的智能合約功能(tokenURI包括

web2 的類比可能是呼叫一個緩慢、不可靠或付費的 API:開發人員會避免呼叫這些 API,而優先選擇更快和可靠的東西。


它應該有多少氣體最大值?

我們可以說,一種非常昂貴的tokenURI方法是消耗一半的區塊氣體限制。即使是 10% 的區塊氣體限制似乎也很高,所以我的目標是低於 10%。

儘管tokenURI通常只被稱為鏈下,因此它的gas使用量並不重要,但我不會低估tokenURI未來鏈上可能有創造性用途的機會,所以我仍然會盡量保持合理它的氣體消耗。

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