Как применить изменение выбранной цепочки Kaspa к индексу платежей
При обновлении виртуальной цепочки прежний блок может покинуть выбранную цепочку, а новые — войти в неё. Индексу платежей требуется связь операции с принявшим её блоком.
Группируйте подтверждения по блоку
Начиная с сохранённого C, запросите разницу виртуальной цепочки с идентификаторами принятых транзакций. В одной транзакции базы отмените записи принятия для удалённых блоков и примените группы добавленной стороны. Связи блоков с операциями позволят отменять принятие без полного обхода депозитов.
cursor C → removed [C] → added [D, E]
accepted transaction groups → index by accepting block
Зафиксируйте курсор вместе с платежами
Продвиньте курсор к E только после фиксации платёжных изменений. Если операция снова принята другим блоком, обновите её привязку и сохраните единственное зачисление. Присутствие транзакции в теле блока DAG само по себе не доказывает её принятия виртуальной цепочкой.