Как отличить объявление класса от развёртывания контракта Starknet

Успешный DECLARE делает класс доступным в сети Starknet. Адрес вызываемого экземпляра у кошелька от этого не появляется.

Учитывайте класс и экземпляры раздельно

Получите объявленный class hash и подтвердите объявление в нужной цепочке. Когда развёртывающий контракт позднее создаст экземпляр, запишите полученный адрес и аргументы конструктора отдельно от DECLARE.

DECLARE class H → class available on network N
instantiate H twice with distinct salts → instances A and B

В примере A и B могут использовать одинаковый код и иметь разных владельцев, балансы и значения хранилища. Вызывайте геттер по адресу нужного экземпляра, а по class hash выбирайте подходящий интерфейс.

Проверьте доступность класса в каждой сети

Совпадение class hash у локальной сборки не подтверждает объявление в другой сети. До развёртывания проверьте класс на целевой цепочке. Отличайте также class hash от compiled class hash в современных транзакциях объявления. docs.starknet.io Starknet documentation