Как рассчитать газ и запасы на операцию?
2 ответ
- голосов
-
- 2019-01-31
Другого пути нет,вам нужно смоделировать,что делает операция,если вы хотите оценить это значение,и это именно то,что делает пробный прогон.Вы можете попробовать реализовать его вне узла,но подход будет таким же.
There's no other way, you have to simulate what the operation does if you want to estimate this value, and this is exactly what a dry run does. You could try to reimplement it outside of a node, but the approach would be the same.
-
Это правда.Если это делается вне узла,необходимо использовать ту же логику,что и при пробном прогоне.Я полагаю,что для операций,которые не связаны с параметрами или сценарием,в клиенте можно использовать упрощенную логику,чтобы уменьшить трафик к узлу.That's true. If doing it outside of the node the same logic must be used as in the dry run. For operations that doesn't involve parameters or script, I guess a simplified logic could be used in the client, in order to reduce the traffic to the node.
- 1
- 2019-02-01
- Klassare
-
- 2019-02-03
Согласно официальной документации,доступной здесь ,вы можете получитьстоимость газа и хранения операции,которую вы планируете транслировать в сеть,передав параметр
--dry-run
клиентскому узлуЦитата из упомянутого документа
<цитата>Еще одно важное применение валидации - определение газа и запасов пределы.Узел сначала имитирует выполнение программы Майкельсона. и отслеживает количество газа и хранилище.Тогда клиент отправляет транзакцию с правильными лимитами на газ и хранение на основе на то,что указано узлом.Вот почему мы смогли отправить транзакции без указания этих лимитов,они были рассчитаны для нас.
Итак,официально нет альтернативы,кроме реализации собственного валидатора.
According to the official documentation available here you can get the gas and storage cost of the operation you plan to broadcast to the network by passing the parameter
--dry-run
to the client nodeQuoting the doc it mentions
Another important use of validation is to determine gas and storage limits. The node first simulates the execution of a Michelson program and takes trace of the amount of gas and storage. Then the client sends the transaction with the right limits for gas and storage based on that indicated by the node. This is why we were able to submit transactions without specifying this limits, they were computed for us.
So officially there's indeed no alternative way short of implementing your own validator.
В протоколе 003_PsddFKi3,как можно рассчитать использование газа и хранилища,не выполняя пробный прогон на узле?