1 Star 0 Fork 0

OSCHINA-MIRROR/BTAJL-repchain

Join Gitlife
Discover and participate in excellent open source projects with over 10 million developers. Private repositories are also completely free :)
Join for free
This is a mirrored repository, synchronized daily from the source repository.
Clone/Download
Contribute code
Sync code
Cancel
Hint: Since Git does not support empty folders, creating a folder will generate an empty .keep file.
Loading...
README.md

RepChain

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

Документация RepChain:

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

  • Скачать версию RepChain без компиляции: https://github.com/RepChain-Group/repchain-package/releases — для удобства использования предоставлена версия без компиляции, которую можно запускать без компиляции.

Предварительные условия:

  • на машине должна быть установлена Java 13 и настроены переменные среды;
  • после распаковки одномашинного многоузлового развёртывания используйте скрипт запуска (start.sh или start.cmd) в Linux/Mac или дважды щёлкните start.cmd в Windows;
  • для многомашинного многоузлового развёртывания используйте скрипты запуска (start01.sh до start05.sh или start01.cmd до start05.cmd), перед запуском необходимо изменить файл конфигурации.

Для справки:

  • Akka — внутренний модуль системы использует реализацию Akka Actor;
  • Akka Remoting Security — узлы используют TLS для безопасного обмена данными, поддерживаемый Akka Remote;
  • Akka Serialization — обмен сообщениями между узлами осуществляется с помощью сериализации protobuf;
  • ScalaPB — инструмент для генерации классов Scala из определений proto;
  • protobufjs — на веб-стороне десериализует protobuf-поток байтов согласно определению proto;
  • swagger-scala — поддержка API Swagger UI;
  • json4s — предоставляет JSON-десериализацию входных объектов и JSON-сериализацию выходных объектов на уровне API;
  • d3.js-force layout — автоматическая компоновка узлов входа/выхода из сети;
  • leveldb for java — индексы блоков и транзакций;
  • java security — управление хэшем, подписью, ключом и сертификатом осуществляется с использованием встроенных методов JDK.

Установка:

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

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

Запуск:

  • скачать проект на локальный компьютер: git clone https://gitee.com/BTAJL/repchain.git;
  • импортировать: открыть Idea IDE, File->New->Project or Project from VersionControl, использовать плагин sbt для импорта, использовать оболочку sbt для компиляции;
  • правой кнопкой мыши щёлкнуть rep.app.Repchain.scala, запустить «RepChain» (одномашинная сеть из четырёх узлов);
  • запустить конфигурацию VM параметров -Dlogback.configurationFile=conf/logback.xml (чтобы конфигурация logback вступила в силу);
  • просмотреть состояние в реальном времени http://localhost:8081/web/g1.html;
  • просмотреть API http://localhost:8081/swagger/index.html.

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

  • создать пары ключей RepChain и список доверенных сертификатов узла (см. «Руководство разработчика RepChain» 2.1.5);
  • создать начальный блок (см. «Руководство разработчика RepChain» 2.1.6);
  • настроить параметры системы (см. «Руководство разработчика RepChain» 2.1.7).

Упаковка:

  • assembly — упаковать в jar-пакет для распределённого развёртывания.

Примеры приложений:

  • BAR (Base App of RepChain) (https://gitee.com/linkel/bar) — предоставляет общие базовые функции, разработчики блокчейн-приложений могут либо напрямую использовать предоставленные функции, либо разрабатывать свои собственные DAppp на основе исходного кода;
  • SBR (Storage Based on RepChain) (https://gitee.com/JayTsang/bar) — пример приложения для хранения данных на основе BAR;
  • CRBB (Copyright Register Based on Blockchain) (https://gitee.com/linkel/CRBBV1.0) — пример применения цифровой регистрации авторских прав на основе RepChain.

Comments ( 0 )

You can comment after Login

Introduction

No description available Expand Collapse
Apache-2.0
Cancel

Releases

No releases yet

Contributor

All

Recent Activities

Load more
No more results to load
1
https://gitlife.ru/oschina-mirror/BTAJL-repchain.git
git@gitlife.ru:oschina-mirror/BTAJL-repchain.git
oschina-mirror
BTAJL-repchain
BTAJL-repchain
master