Как обойти вложенные пакеты ANS-104 и сохранить родительские связи

DataItem может сам содержать пакет. Если индексатор Arweave раскрывает только внешние транзакции, он пропустит потомков внутри таких элементов.

Сохраните путь обнаружения

Разберите T, проверьте элементы и прочитайте собственные теги формата и версии B до интерпретации его данных как пакета. Для C запишите и непосредственного родителя B, и внешнюю транзакцию T. Так можно воспроизвести точную вложенность и отличить другую публикацию того же подписанного элемента.

transaction T
  item A: ordinary payload
  item B: Bundle-Format=binary, Bundle-Version=2.0.0
    item C: ordinary payload

Ограничьте рекурсивную обработку

Задайте пределы глубины, байтов и числа элементов и сохраните позицию для продолжения при исчерпании лимита. Формат допускает многоуровневую вложенность. Достижение локального ограничения означает неполный обход: помечать такой вложенный пакет как пустой нельзя.

Источники