Предположим, вы пишете контракт, с которым хотите, чтобы другие взаимодействовали. Насколько я понимаю, если вы хотите, чтобы другие взаимодействовали с вашим контрактом, вам необходимо предоставить ABI контракта и адрес. Это правильно?
Если да, то не могли бы вы опубликовать ABI контракта и указать адрес в определенном месте для использования людьми, чтобы они могли с ним взаимодействовать? Не могли бы вы опубликовать код, чтобы люди могли составить контракт и получить ABI?
ИЛИ , можно ли взаимодействовать с контрактом, просто зная его адрес/хэш.
Да, чтобы люди могли взаимодействовать с вашим контрактом, вам нужно опубликовать ABI и адрес контракта.
Чтобы быть более надежным, вы также должны опубликовать исходный код вашего контракта (а также версию компилятора и используемые флаги компилятора), чтобы люди могли сами убедиться, что то, что развернуто по адресу, соответствует исходному коду. Предоставляя исходный код и версию компилятора, которые вы использовали, люди также смогут сами создавать ABI.
Если вы не предоставите ABI (или исходный код и сведения о компиляторе), люди не смогут легко взаимодействовать с вашим контрактом: им придется реконструировать ваш контракт из байт-кода, чтобы попытаться выяснить, какова ваша функция. имена и параметры есть.
OneyesOneno