Нет, нет способа автоматизировать синхронизированную транзакцию из кода цепочки, и было бы плохой практикой пытаться обработать ее там.Если вы попытаетесь создать временную метку из цепного кода, гарантируется, что все равноправные узлы, обрабатывающие предложение по транзакции, будут возвращать разные значения, поскольку не все они обрабатывают предложение в одном и том же точном экземпляре.Поскольку наборы результатов будут возвращать недетерминированные, транзакция всегда будет неудачной, когда она войдет в фазу проверки.Если вы попытаетесь использовать stub.GetTxTimestamp()
, вы вернете только временную метку, которую отправил сам клиент *1003*, согласно документам .
Лучший способ сделать этоэто с чистым кодом SDK.После получения необходимых предложений по транзакции и отправки транзакции для заказа прослушайте событие подтверждения транзакции.
Получив уведомление о подтверждении транзакции, вы можете поставить в очередь другую транзакцию для отправки подтверждения и подтверждения через 600 секунд.Специфика того, как будет отличаться от SDK до SDK, но все уведомления поддержки SDK о принятии транзакции.