1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/BTAJL-repchain

GitLife Service Account
  • Обновление Swagger-UI и переход описаний интерфейсов до OAS 3.0
  • При динамическом отладке контрактов с помощью IDE больше нет необходимости перезапускать RepChain; достаточно поместить сгенерированный файл контракта в директорию исходного кода IDE и установить точки останова для отладки
Последнее сообщение коммита: 改用node1的密钥来构建部署业务合约的签名交易
04.03.2025 04:15
GitLife Service Account
  1. Поддержка OpenJDK (версия 13)
    • Рекомендуется использовать Zulu Community Edition
  2. Обновление зависимых компонентов
  3. Добавление/удаление участников сети (при отключении или подключении узла, система быстро обновляет представление узла, чтобы обеспечить непрерывность работы без влияния на создание блока)
    • Узел выходит из сети из-за сетевых проблем; остальные узлы продолжают работать без сбоев. При восстановлении сети, узлу не требуется вмешательства человека для перезапуска — он автоматически возвращается в сеть. После восстановления узел может продолжить работу.
    • Узел выходит из сети из-за катастрофических ошибок; требуется вмешательство человека для перезапуска. После перезапуска узел может продолжить работу.
  4. Абстракция уровня консенсуса и реализация большего количества алгоритмов консенсуса
    • CFRD
    • PBFT
    • Raft
  5. Совместимость данных при переходе к новой версии
    • Предположим, что при обновлении системы структура данных блока расширяется новыми полями. Новая версия системы может обрабатывать логику, связанную с блоками, различая версии, чтобы гарантировать совместимость с данными предыдущей версии.
  6. Абстракция уровня хранения
    • Для различных протоколов консенсуса проводится абстракция
Предпросмотр версии
04.03.2025 04:14
GitLife Service Account

Версия 1.0-preview внесла следующие улучшения

  1. Определение протокола Protobuf

    • Упрощено по сравнению с первой версией, что привело к значительному снижению занимаемого пространства системными полями
    • В структуре блока добавлено поле высоты, что облегчает синхронизацию данных пользователями
    • Добавлены новые поля для поддержки новых функций контрактов
  2. Обновление модуля контрактов

    • Усовершенствован жизненный цикл
      • deploy
        При развертывании контракта теперь поддерживаются псевдонимы контрактов и указание номера версии, что позволяет пользователям выполнять обновления. Разрешается развертывание контракта с выбором параллельного или последовательного выполнения при вызове invoke.
      • invoke
        Теперь можно вызывать контракты через псевдонимы и указание номера версии. Поддерживается параллельное выполнение методов invoke контрактов.
      • setState
        Поддерживается отключение и включение контрактов, изменения состояния вступают в силу после того как транзакция будет зафиксирована в блоке.
      • Введены правовые описания
        Разработчики контрактов могут включать правовые описания процесса выполнения и результатов контрактов, чтобы определить ответственность.
      • Больше не возвращаются предварительные результаты выполнения контракта обратно вызывающей стороне; возвращается только успешность выполнения.
      • Все контракты теперь пишутся на Scala, поддержка JavaScript контрактов прекращена.
      • Поддерживается чтение KV между контрактами.
      • Вводится логирование в нижележащих интерфейсах, то есть разработчики контрактов также могут использовать логирование внутри контрактов.
  3. Увеличение TPS

    • 320 до 680, увеличение более чем в два раза
  4. Модуль логирования

    • Логирование уровнями
      Бизнес-логи и системные логи разделены для управления, конфигурация может выполняться в соответствии с потребностями бизнеса.
  5. Управление аккаунтами и сертификатами

    • Отделение аккаунтов и сертификатов
      Аккаунты и сертификаты теперь управляются отдельно, связь осуществляется через соответствующий credit_code, один аккаунт может иметь несколько сертификатов.
  6. Улучшение производительности и надежности системы

    • Ограничение размера блока и транзакций на уровне API для предотвращения потери вычислительной мощности из-за незначительных транзакций.
    • Переработка схемы взаимодействия между узлами для повышения надежности синхронизации.
    • Дальнейшая детализация параллелизма в части обеспечения безопасности, согласования и создания блоков, что повышает эффективность выполнения.
    • Используются более эффективные реализации сериализации для объектов, отличных от протокола Protobuf.
    • При запуске системы введен самопроверка данных для проверки целостности блоков.
  7. Использование последней стабильной версии Scala 2.12 и Akka 2.5.22, а также обновление других зависимых библиотек.

  8. Изменения в файлах конфигурации по сравнению с предыдущей версией.

  9. Улучшение тестовых случаев, расширение тестового покрытия.

  10. Оптимизация хранения и синхронизации, исправление некоторых ошибок.

Последнее сообщение коммита: 为新增的文件添加Licence
04.03.2025 04:14
GitLife Service Account

В сравнении с предыдущей версией, в версии V0.8 реализованы следующие новые возможности

  1. Интеграция ГОСТ (ветка gm)
    • P2P-сети на основе ГОСТ
    • Подпись и проверка подписи на основе алгоритмов ГОСТ
    • Хэширование на основе ГОСТ
    • Управление сертификатами пользователя на основе ГОСТ
  2. Увеличение TPS
    • 120 → 320, увеличение на 200
  3. Добавлены неконсенсусные ноды
    • Настройка неконсенсусных нод
  4. Улучшение случайности и справедливости алгоритма выбора
  5. Динамическое управление логами вывода
    • Через RESTful API можно динамически отключать и включать логи системы.
    • Через RESTful API можно динамически отключать и включать логи конкретной ноды.
    • Через RESTful API можно динамически отключать и включать логи конкретного модуля.
  6. Исправлены некоторые ошибки
Последнее сообщение коммита: 无关紧要的修改
1
https://api.gitlife.ru/oschina-mirror/BTAJL-repchain.git
git@api.gitlife.ru:oschina-mirror/BTAJL-repchain.git
oschina-mirror
BTAJL-repchain
BTAJL-repchain