проверить контракт на etherscan [дубликат]

У меня возникли трудности с проверкой контракта на etherscan, который был развернут посредством использования другого контракта. Проблема заключается в том, чтобы сопоставить байт-код создания ввода с тем, что я вставляю в форму кода на etherscan.

Если контракт C наследует контракт A и контракт B , а затем внутри создает контракт D , сколько из этих контрактов используется для создания входного байт-кода контракта D ?

В этом потоке генерация контракта выполняется через конструктор, но что, если это делается через функцию?

Ответы (1)

Байт-код contract Dзависит от Dсамого себя и всего, что он сам наследует. Таким образом, он будет скомпилирован с той же версией компилятора, что contract Cи фабрика, выполняющая развертывание.

Contract Cзаполняет любые аргументы конструктора. В целях проверки кода важно сопоставить код, унаследованный от contract D, версию компилятора и выбор оптимизации, а также аргументы конструктора, которые вы должны закодировать в ABI.

Надеюсь, поможет.

что, если генерация контракта с аргументами конструктора нового контракта D объявлена ​​через вызов функции из контракта C? процесс кодирования ABI остается прежним?
Да. Вы должны восстановить аргументы D, полученные от C, чтобы проверить D. Лечить, если EVM и процесс проверки безразличны к природе развертывателя.
пытался в течение нескольких часов, это просто не работает. Проверка того, что все остальное работает нормально, но внутренний контракт, похоже, не работает для меня.