Как применить изменение выбранной цепочки Kaspa к индексу платежей

При обновлении виртуальной цепочки прежний блок может покинуть выбранную цепочку, а новые — войти в неё. Индексу платежей требуется связь операции с принявшим её блоком.

Группируйте подтверждения по блоку

Начиная с сохранённого C, запросите разницу виртуальной цепочки с идентификаторами принятых транзакций. В одной транзакции базы отмените записи принятия для удалённых блоков и примените группы добавленной стороны. Связи блоков с операциями позволят отменять принятие без полного обхода депозитов.

cursor C → removed [C] → added [D, E]
accepted transaction groups → index by accepting block

Зафиксируйте курсор вместе с платежами

Продвиньте курсор к E только после фиксации платёжных изменений. Если операция снова принята другим блоком, обновите её привязку и сохраните единственное зачисление. Присутствие транзакции в теле блока DAG само по себе не доказывает её принятия виртуальной цепочкой.

Источники