Evm
extcodecopy 的目的是什麼?
我想知道,
EXTCODECOPY
字節碼指令的目的是什麼?我認為在記憶體中複製另一個合約的程式碼沒有任何優勢。我有點困惑,因為其他指令的存在,例如
DELEGATECALL
真正“使用”另一個合約的程式碼
它用於檢查和比較合約的字節碼,類似於比較下載文件的已知雜湊以確認其合法性。關於它為何有用的最佳描述(以及如何使其變得更好的建議)可以在 EIP 1052中看到。
許多合約需要對合約的字節碼進行檢查,但不一定需要字節碼本身。例如,一個合約可能想要檢查另一個合約的字節碼是否是一組允許的實現之一,或者它可能對程式碼執行分析,如果分析通過,則將任何具有匹配字節碼的合約列入白名單。