Как воспроизвести предсказуемый адрес экземпляра CosmWasm

Детерминированное создание зависит от точного набора байтов. Читаемая запись соли может отличаться от значения, действительно переданного в цепочку.

Получите предполагаемый адрес запросом к сети

Задайте CHECKSUM как hex-контрольную сумму кода, CREATOR как фактического создателя, GRPC как совместимый TLS gRPC wasmd с reflection. В примере аргументы инициализации исключены из вычисления адреса.

grpcurl -d "{\"codeHash\":\"$CHECKSUM\",\"creatorAddress\":\"$CREATOR\",\"salt\":\"0102\"}" "$GRPC" cosmwasm.wasm.v1.Query/BuildAddress

Строка соли 0102 обозначает два байта. Текст UTF-8 из символов 0102 занимает четыре байта с hex-представлением 30313032 и даст другой адрес. Сопоставьте результат BuildAddress с ожидаемым адресом экземпляра.

Сверьте режим создания

Если в адрес входят байты сообщения инициализации, передайте те же байты в initArgs как base64 для protobuf JSON. Совпадение прогноза не доказывает существование экземпляра или успешность будущих проверок прав и исполнения контракта. github.com wasmd Query API