Contract-Invocation

呼叫多個智能合約——它能走多遠?

  • May 3, 2018

一個乙太坊交易可以做多少個嵌套呼叫?

智能合約 A 可以呼叫智能合約 B,然後智能合約 C 等等,通過智能合約 A 只呼叫一次,這個呼叫鏈有限制嗎?

乙太坊允許多達 1024 個嵌套呼叫,如黃皮書中所指定。

下面給出的操作碼定義CALL指定了這個限制。 在此處輸入圖像描述 在此處輸入圖像描述

最近對嵌套呼叫允許消耗的氣體限制的一些更改已將呼叫深度的實際限制降低到 340 左右。請參閱:EIP 150 如何改變呼叫深度攻擊?

更改是由於嵌套呼叫可能使用的最大氣體量為ceil(63/64 * remaining_gas).

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