Это машинный перевод. Оригинал на английском здесь: Update 03 August, 2023
Спасибо всем, кто участвовал в тестовой сети DataPaymentNet. Он великолепно выполнил свою роль, сообщив нам, что основы платежей за передачу данных надежны, даже если UX все еще оставляет желать лучшего. Мы потеряли несколько узлов после всплеска репликации, обнаруженного сообществом прошлой ночью. Но у нас все еще есть 1675 узлов MaidSafe, которые успешно работают (и до скачка мы были на 2001 узле гораздо дольше, чем раньше).
Мы приняли к сведению ошибки: ноль чанков через несколько часов, у маленьких клиентов заканчиваются ресурсы при самостоятельном шифровании больших файлов, «Сетевая ошибка не может получить запись после ее сохранения», «Соединение закрыто», «Не сохранены все чанки». файла», «OutgoingConnectionError to PeerId» и другие. Некоторые из них связаны: нулевые фрагменты, вероятно, связаны с ошибками OutgoingConnectionError и UnroutablePeer, когда узел не добавляется в таблицы маршрутизации пиров. Другие будут результатом изменений в коммуникационных функциях в других местах, а некоторые будут ошибками, которые ранее скрывались, но теперь вылезли из своих дыр, когда мы исправили проблемы. Но не волнуйтесь - мы прорвемся через них всех. :мышца:
На этой неделе, после вопроса на этом форуме, @Qi_ma немного расскажет о Рекордах.
Записи и их связь с чанками, регистрами и DBC.
«Запись» — это функция libp2p, которая позволяет загружать данные в сеть и извлекать их из сети по мере необходимости.
«Запись» включает в себя различные важные функции на сетевом уровне, включая такие задачи, как идентификация ближайших одноранговых узлов и облегчение передачи данных. Делегируя эти обязанности на сетевом уровне записи, мы можем более эффективно сосредоточиться на оплате данных, проверке передачи, проверке безопасности и т. д.
В рамках нашей текущей реализации у нас есть отдельные типы данных, основанные на конкретных пользовательских случаях. В частности, у нас есть Chunk для обработки неизменяемых данных, DBC для управления расходами и регистрация для бесконфликтных реплицированных типов данных (CRDT). Эти типы данных представляют собой информацию, предназначенную для обмена между участниками безопасной сети. Все эти типы данных могут быть инкапсулированы в структуру «Запись», что позволяет нам использовать ее мощные функциональные возможности.
Используя «Запись», мы можем эффективно хранить и обмениваться нашими пользовательскими типами данных, тем самым способствуя беспрепятственному обмену данными в безопасной сети.
С этим связан RecordStore, который представляет собой модуль libp2p
, предназначенный для облегчения эффективного хранения записей на диске. а также служит интерфейсом для выполнения настраиваемых задач данных, таких как обработка платежей данных, проверка перевода, проверки безопасности и другие. RecordStore
эффективно устраняет разрыв между этими пользовательскими операциями с данными и собственной записью libp2p
, обеспечивая беспрепятственную совместимость и интеграцию в систему.
Общий прогресс
@Bzee просматривал ошибки UnroutablePeer и OutgoingConnection, которые являются редкими проблемами, но не настолько редкими, чтобы их можно было игнорировать, и, похоже, они связаны с тем, что узлы игнорируются другими узлами. Они могут быть результатом недавних исправлений команды libp2p
, так что он совещается с ними. Функция обнаружения AutoNAT NAT — еще одно место, которое он и @Aed900 ищут.
@Joshuef также копается здесь, а также в «RecordParsingFailed» и случайных всплесках памяти, о которых сообщают @shu и другие члены сообщества. :молиться:
@Qi_ma ведет расследование, когда наша тестовая установка может иногда вызывать двойные расходы, останавливая CI.
Между тем, что касается внутреннего тестирования, @roland устранил бесконечный цикл в процессе проверки данных, а @chriso продолжает сглаживать путь к автоматизированному развертывание тестовой сети.
Были дискуссии о том, как мы можем зарегистрироваться с фиксированным адресом, чтобы упростить несколько операций. Регистры изменяемы, поэтому их хэш нельзя использовать в качестве сетевого адреса, в отличие, скажем, от чанка. Но есть способы обойти это, инициатором которых является @bochaco.
@Anselme готовит почву, рефакторинг регистров для удаления тегов типов, которые больше не нужны.
И, глядя немного дальше, @dirvine думал об интеграции SimpleX для передачи DBC, а также о возможности локальных персональных ИИ сидеть на клиенте и управлять такими вещами, как хранение данных, кошельки и преобразование текста в речь/речь в текст. для пользователя. Сейчас в этой области собирается много интересных вещей, и Safe — отличное место, чтобы воспользоваться этим.
Полезные ссылки
Не стесняйтесь отвечать ниже со ссылками на переводы этого обновления для разработчиков, и модераторы добавят их сюда.
Как проект с открытым исходным кодом, мы всегда ждем отзывов, комментариев и предложений сообщества - так что не стесняйтесь, присоединяйтесь и давайте вместе создадим безопасную сеть!