Транзакция Dusk может исчезнуть из mempool моего узла, не дойдя до ончейн-истечения.
Это тот таймаут, который я бы не стал жестко вшивать в кошелек. @Dusk транзакции не несут поля истечения. Истечение — это локальная политика Rusk. Встроенное значение по умолчанию — три дня, а узлы, установленные с помощью node-installer v0.5.22, используют 30-минутный срок жизни mempool с проверками каждые пять минут.
Таким образом, два здоровых узла Dusk могут дать мне совершенно разные ответы о том, как долго одна и та же ожидающая транзакция может оставаться в ожидании.
Самая неприятная часть — событие removed. Оно сообщает мне лишь о том, что транзакция покинула local mempool этого узла. Включение, замена, истечение, вытеснение из-за ограничений по емкости или конфликтующая трата могут привести к выходу. Если я переведу removed прямо как failed, моя логика восстановления будет гадать.
Для сервиса вывода эта догадка может ударить по пользователю. Я могу пометить выплату как мертвую, потому что мой узел истек ее локально, в то время как другой узел уже распространил ее дальше.
Я бы относил таймаут mempool к настройкам узла, а затем запрашивал состояние ledger, прежде чем решать, что транзакцию DUSK безопасно пересоздавать.
В Dusk «исчезла из моего mempool» — это не то же самое, что «исчезла».
$SOXSB $ACE #dusk $DUSK @Dusk
Это тот таймаут, который я бы не стал жестко вшивать в кошелек. @Dusk транзакции не несут поля истечения. Истечение — это локальная политика Rusk. Встроенное значение по умолчанию — три дня, а узлы, установленные с помощью node-installer v0.5.22, используют 30-минутный срок жизни mempool с проверками каждые пять минут.
Таким образом, два здоровых узла Dusk могут дать мне совершенно разные ответы о том, как долго одна и та же ожидающая транзакция может оставаться в ожидании.
Самая неприятная часть — событие removed. Оно сообщает мне лишь о том, что транзакция покинула local mempool этого узла. Включение, замена, истечение, вытеснение из-за ограничений по емкости или конфликтующая трата могут привести к выходу. Если я переведу removed прямо как failed, моя логика восстановления будет гадать.
Для сервиса вывода эта догадка может ударить по пользователю. Я могу пометить выплату как мертвую, потому что мой узел истек ее локально, в то время как другой узел уже распространил ее дальше.
Я бы относил таймаут mempool к настройкам узла, а затем запрашивал состояние ledger, прежде чем решать, что транзакцию DUSK безопасно пересоздавать.
В Dusk «исчезла из моего mempool» — это не то же самое, что «исчезла».
$SOXSB $ACE #dusk $DUSK @Dusk
