Как оценить рост расходов на хранение после обновления контракта NEAR

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

Снимите объём до и после исполнения

Вызовите query с view_account для родителя блока миграции и для самого блока. Вычтите значения storage_usage. Другие записи в том же блоке также входят в разницу: учтите их при выделении влияния миграции.

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "EXPERIMENTAL_protocol_config",
  "params": {
    "block_id": "BLOCK_HASH"
  }
}

Пересчитайте дополнительные байты по активной конфигурации

Подставьте хеш блока после миграции и прочитайте runtime_config.storage_amount_per_byte. Умножьте прирост в байтах на цену в целых числах. При приросте 800 и цене 10000000000000000000 yoctoNEAR дополнительно потребуется 8000000000000000000000 yoctoNEAR, или 0,008 NEAR.

Это изменение требуемого обеспечения хранилища. Расход газа на исполнение относится к стоимости транзакции и учитывается отдельно.

Источники