Как проверить закреплённые в кэше code ID CosmWasm

При медленном вызове контракта полезно проверить настройку закрепления кода. Модуль wasm отдельно перечисляет code ID, для которых установлено закрепление.

Сопоставьте текущий code ID со списком

Используйте TLS gRPC wasmd с reflection. Сначала получите текущий code ID экземпляра из ContractInfo, затем проверьте PinnedCodes. Дочитайте все страницы до вывода об отсутствии ID.

grpcurl -d '{"pagination":{"limit":"100"}}' "$GRPC" cosmwasm.wasm.v1.Query/PinnedCodes

Если ContractInfo вернул код 31, а полный список закреплённых содержит 7 и 19, текущий код этого экземпляра не отмечен как закреплённый. У остальных экземпляров кода 31 будет та же настройка.

Отдельно измерьте производительность

Закрепление относится к кэшированию кода. Ответ не измеряет задержку запросов, стоимость чтения хранилища или нагрузку CPU конкретной ноды. Сравните время одинакового smart query на одном состоянии, прежде чем объяснять замедление политикой кэша. github.com wasmd Query API