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

OSCHINA-MIRROR/BTAJL-repchain

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
Клонировать/Скачать
Внести вклад в разработку кода
Синхронизировать код
Отмена
Подсказка: Поскольку Git не поддерживает пустые директории, создание директории приведёт к созданию пустого файла .keep.
Loading...
README.md

RepChain

Официальный сайт RepChain: https://repchain.net

Документация RepChain Установка нескольких узлов на одном компьютере Установка нескольких узлов на нескольких компьютерах

Выпуск версии RepChain 2.0 без необходимости компиляции

  • Скачать версию RepChain без необходимости компиляции — для удобства использования пользователям предоставляется версия без необходимости компиляции, которую можно запустить сразу после установки
  • Предварительные условия
    • На машине должна быть установлена Java 13 с правильно настроенными переменными окружения
    • После распаковки нескольких узлов на одном компьютере используйте скрипт запуска (start.sh или start.cmd), Linux/Mac используют start.sh, Windows система использует двойной клик по start.cmd
    • Для нескольких узлов на нескольких машинах используйте скрипты запуска (start01.sh до start05.sh или start01.cmd до start05.cmd), перед запуском необходимо отредактировать конфигурационные файлы

Дополнительные материалы для чтения

  • Akka — внутренние модули системы реализованы с использованием Akka Actor
  • Безопасность удаленного управления в Akka — безопасное взаимодействие между узлами осуществляется с помощью TLS, поддерживаемого Akka Remote
  • Аннотация сериализации в Akka — сообщения между узлами сериализуются с помощью протокола Protobuf
  • ScalaPB — инструмент для генерации Scala классов из определений proto
  • ProtobufJS — на стороне web используется для декодирования байтовых потоков Protobuf на основе определений proto
  • Swagger-Scala — поддержка Swagger UI для API
  • Json4s — предоставляет обратное преобразование JSON для входящих объектов, а также сериализацию JSON для выходных данных на уровне API
  • d3.js-force layout — автоматическое расположение узлов при входе/выходе из сети
  • LevelDB для Java — хранение и доступ к блокам и транзакциям
  • Java Security — управление хэшами, подписями, ключами и сертификатами осуществляется с помощью встроенных методов JDK

Установка

  • Установите ZuluJdk11+
  • Установите Python
  • Установите Scala
  • Установите SBT
  • Установите IDEA IDE
  • Установите keystore-explorer — инструмент для создания пар ключей, необязательный
  • Установите редактор protobuf — инструмент для редактирования определений protobuf, необязательный

Слоистая архитектура

Разделенная по слоям архитектура RepChain

  • Слой данных: отвечает за определение формата данных, структура данных определяется с помощью Protocol Buffers, на этой основе реализуется обмен данными, проверка, хранение, чтение и поиск данных
  • Сеть: использует встроенный TLS в JDK, поддерживает проверку разрешений на подключение, на этом основании создается децентрализованная сеть gossip, распространение данных поддерживается через P2P и Pub/Sub
  • Консенсус: завершение согласования блока и транзакций. Использует алгоритм CFRA, который сочетает в себе скорость и безопасность; согласование входящего блока обеспечивает согласование порядка транзакций, а согласование исходящего блока обеспечивает согласование результатов выполнения транзакций
  • Слой контрактов: обеспечивает контекст выполнения контракта, поддерживает динамическую установку, загрузку во время выполнения и компиляцию контрактов
  • Слой API: предоставляет внешний интерфейс, позволяющий третьим сторонам взаимодействовать со системой в виде RESTful API, а также позволяет разработчикам тестировать онлайн через Swagger UI. Слой API предоставляет базовые функции, такие как отправка подписанных транзакций, поиск блоков и транзакций
  • Слой мониторинга: собирает события/журналы в блокчейн-сети и отправляет их в Web-конечную точку в формате Protocol Buffers, где они представляются в реальном времени с помощью графических технологий H5

Запуск

  • Загрузите проект на локальную машину
  • Импортируйте
    • Откройте IDEA IDE, File -> New -> Project или Project from Version Control
    • Импортируйте с помощью плагина SBT IDEA
    • Используйте sbt shell для компиляции
  • Нажмите правой кнопкой мыши на rep.app.Repchain.scala и выберите Run 'RepChain' (сетка узлов на одном компьютере)
  • Настройте параметры VM -Dlogback.configurationFile=conf/logback.xml (чтобы активировать конфигурацию logback)
  • Посмотрите текущее состояние по адресу http://localhost:8081/web/g1.html Картинка текущего состояния
  • Посмотрите API по адресу http://localhost:8081/swagger/index.html Swagger-UI

Изменение конфигурации

Упаковка

  • Ассемблирование
    • Упаковка в jar-файл для распределенной установки## Примеры приложений
  • BAR (Основное приложение RepChain): предоставляет общую реализацию базовых функций, что позволяет блокчейн-разработчикам использовать эти функции напрямую или использовать их как основу для быстрого создания своих DApps
  • SBR (Хранилище на основе RepChain): пример приложения облачного хранилища с возможностью представления доказательств, основанного на BAR
  • CRBB (Регистрация авторских прав на основе блокчейна): пример приложения для регистрации и защиты авторских прав на основе RepChain

Комментарии ( 0 )

Вы можете оставить комментарий после Вход в систему

Введение

Описание недоступно Развернуть Свернуть
Apache-2.0
Отмена

Обновления (4)

все

Участники

все

Недавние действия

Загрузить больше
Больше нет результатов для загрузки
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
master