из-за etherscan и возник вопрос. Некоторые контракты он действительно показывает в виде исходников, но не все.
Исходник будет показан только если автор его сам загрузит.
Разработчик же может предоставить один исходник, и совсем другой код загрузить в сеть.
Скомпилируй то что предоставил разработчик и побайтно сравни с байткодом в блокчейне. Etherscan так и делает.