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

OSCHINA-MIRROR/bizzan-ZTuoExchange_framework

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
Клонировать/Скачать
README.md 16 КБ
Копировать Редактировать Web IDE Исходные данные Просмотреть построчно История
Отправлено 13.03.2025 10:38 039272f

ZTuo открытое программное обеспечение для торговли цифровыми валютами

Этот исходный код предназначен только для обмена и обучения, все вопросы, связанные с законом, не относятся ко мне

=====================================


Донат:

Ваш донат является самой большой мотивацией для нас в открытом доступе

  • BTC/USDT (биткоин/USDT): 1Dwwqhw9pV9iSSQwuJc8nAygda7XfahaoW
  • ETH/USDT (эфириум/USDT): 0x4f1ea0f10aa99f608f31f70b4d3119f6928693ed
  • LTC (лайткоин): LXr4TMtDhCSpdAo98vg2sbvX3UXDVPQvMa

ZTuo — это бесплатная, открытая система для торговли цифровыми валютами, созданная с использованием самых популярных сегодня Java-фреймворков и технологий.

Видение

Наша цель — создание лучшей, высокопроизводительной, безопасной, открытой системы для торговли цифровыми валютами на Java (важно).

Мы надеемся, что через силу сообщества открытого кода мы сможем общаться и вместе улучшать систему.

Большое спасибо за вашу помощь (issues или деньги. Хорошо, больше денег!), пожалуйста, отправляйте запросы или открывайте проблемы в любое время.

Предупреждение (представьте себе предупреждение FBI)

  1. Управление биржей очень сложно.Фреймворк ZTuo позволяет легко создать систему для торговли цифровыми валютами, но он значительно сложнее установки обычного сайта. Не полагайтесь на то, что всё можно сделать просто нажав "далее". Архитектура системы разделена на множество компонентов, требующих специализированных знаний или команды для успешной реализации. Но не беспокоитесь, вы всегда можете обратиться к нам.2. Безопасность

    Фреймворк ZTuo не обеспечивает защиту ваших цифровых активов или гарантию безопасности работы системы. При установке следует учитывать настройки сетевой безопасности; если вы не уверены, наймите профессионала по обслуживанию.

  2. Юридические риски

  • Первый юридический риск: не нарушайте законы Китайской Народной Республики.
  • Технология не преступна, используйте ZTuo в рамках закона.
  • Если вы планируете использовать ZTuo для коммерческих целей, лучше всего нанять адвоката, чтобы гарантировать соответствие вашего проекта законодательству. Все юридические и экономические последствия, возникающие при использовании ZTuo в коммерческих целях, несут ответственность только вы.
  1. Основные знания, которые вам потребуются
  • Знание права (первый принцип безопасности — право главное)
  • Знание Java (особенно Spring)
  • Знание Linux (CentOS, Ubuntu и т.д.)
  • Знание безопасности

Основные технологии

  • Серверная часть: Spring, Spring MVC, Spring Data, Spring Cloud, Spring Boot
  • Базы данных: MySQL, MongoDB
  • Другие: Redis, Kafka, OSS Alibaba, Tencent Anti-Fraud Verification, Easemob Push
  • Клиентская часть: Vue, iView, Less
  • Также предоставляются версии для iOS и Android.

Проектные ресурсы

Тестовая среда

  • Тестовая среда предназначена только для учебных целей! Пожалуйста, используйте её правильно.

  • Адрес тестовой среды: пожалуйста, будьте терпеливы и ждите нашего локального адреса тестовой среды

Присоединиться к нам

Для удобства общения и обучения просим всех присоединиться к нашему QQ-чату:

  • Чат по технологиям блокчейн-бирж [QQ-группа: 735446452]

Открытые лицензионные соглашения

Apache


Общая архитектура

Topology-Image

Логическая архитектура

Topology-Image

Архитектура развертывания

Topology-Image

Зависимости

Topology-Image

Описание модулей

  1. cloud
  • Предоставляет функцию регистрации микросервисов Spring Cloud, является базовым модулем, обязательна для развертывания
  • Зависимые службы: отсутствуют
  1. ucenter-api
  • Предоставляет API, связанные с пользователями (например, вход, регистрация, список активов), этот модуль является базовым и обязательно для развертывания

  • Зависимые службы: MySQL, Kafka, Redis, MongoDB, API SMS, аккаунты электронной почты3. otc-api

  • Предоставляет API для внебиржевых сделок; если таких сделок нет, то можно не разворачивать

  • Зависимые службы: mysql, redis, mongodb, API SMS

  1. exchange-api
  • Предоставляет API для торговли валютами; если проект не торгует валютами, то можно не разворачивать
  • Зависимые службы: mysql, redis, mongodb, kafka
  1. chat
  • Предоставляет API для реального времени общения, является базовым модулем, обязательно для разворачивания
  • Зависимые службы: mysql, redis, mongodb
  1. admin
  • Предоставляет все сервисные API административной панели, обязательно для разворачивания
  • Зависимые службы: mysql, redis, mongodb
  1. wallet
  • Предоставляет услуги кошелька, такие как пополнение, вывод средств и получение адреса; является базовым модулем, обязательно для разворачивания
  • Зависимые службы: mysql, mongodb, kafka, cloud
  1. рынок
  • Предоставляет API для получения данных о ценах валют, свечах, текущих сделках и других данных; для внебиржевых торгов нет необходимости в установке этих служб
  • Взаимозависимые службы: mysql, redis, mongodb, kafka, cloud
  1. биржа
  • Предоставляет сервисы по сопровождению торговых операций; для внебиржевых торгов нет необходимости в установке этих служб
  • Взаимозависимые службы: mysql, mongodb, kafka

Описание ключевых бизнес-процессов

Центральные модули backend-фреймворка — это модули "биржа" и "рынок". Модуль биржа полностью использует Java-память для обработки очередей, что значительно увеличивает скорость выполнения логики; при этом не требуется обращение к базе данных, что обеспечивает высокую производительность. После запуска проекта используется наследование ApplicationListener для автоматического запуска.

После запуска система автоматически загружает незавершенные заказы и заново загружает их в JVM, что гарантирует точность данных. После обработки заказов биржей, данные о совершенных сделках отправляются на рынок.

Модуль **рынок** основывается на работе с базами данных для хранения информации о пользователях. Главной сложностью является взаимодействие с клиентской частью через socket-соединение. Для web-клиентов используется Spring Socket, а для мобильных устройств — Netty. Обработка задач Netty осуществляется с помощью планировщика задач.

Установка окружения

  • CentOS 6.8
  • MySQL 5.5.16
  • Redis-x64-3.2.100
  • MongoDB 3.6.13
  • Kafka_2.11-2.2.1
  • Nginx-1.16.0
  • JRE 8u241
  • JDK 1.8
  • Vue
  • Zookeeper

Советы по конфигурации для продакшена

Топология-Изображение

Подготовка к развертыванию услуг1. Проект использует плагин Lombok, поэтому перед использованием любого IDE убедитесь, что установлен этот плагин.

  1. Проект использует QueryDsl; если вы столкнулись с проблемой отсутствия классов, начинающихся с Q, то сначала скомпилируйте соответствующий core-модуль, например core, exchange-core, xxx-core.
  2. Отсутствующие JAR-файлы находятся в папке jar проекта.
  3. Версия JDK должна быть 1.8 или выше.
  4. SQL-скрипты для инициализации находятся в файлах конфигурации в папке sql. При активации этого параметра будут созданы таблицы. #jpa spring.jpa.hibernate.ddl-auto=update## Изменение конфигурационных файлов сервисов Пожалуйста, скорректируйте следующие конфигурационные файлы в соответствии с вашим развертыванием. Конфигурационные файлы расположены здесь:
каждый модуль/src/main/resources/dev/application.properties

MySQL база данных:

spring.datasource.*

Redis:

redis.*

MongoDB (основное хранилище данных свечей):

spring.data.mongodb.uri

Kafka:

spring.kafka.bootstrap-servers

АлиБабаクラウドOSS、画像リソースのアップロード

aliyun.**

SMS設定

sms.**

Электронная почта для аутентификации

spring.mail.**

Тенцюн фуньбао ап (защита от воды)

water.proof.app.**

Запуск сервисов

  1. Используйте Maven для сборки пакета

  2. Загрузите .jar файлы из директории target каждого модуля на свой сервер

  3. Сначала запустите модуль cloud, затем market и exchange. Остальные можно запускать в любом порядке.

  4. Запуск сервисов

    Пример:

    nohup java -jar /путь_до_ваших_jar_файлов/cloud.jar > /dev/null 2>&1 &
    nohup java -jar /web/app/cloud.jar > /dev/null 2>&1 &
    nohup java -jar /web/app/exchange.jar > /dev/null 2>&1 &
    nohup java -jar /web/app/market.jar > /dev/null 2>&1 &
    nohup java -jar /web/app/exchange-api.jar > /dev/null 2>&1 &
    nohup java -jar /web/app/ucenter-api.jar > /dev/null 2>&1 &
    nohup java -jar /web/app/otc-api.jar > /dev/null 2>&1 &
    nohup java -jar /web/app/chat.jar > /dev/null 2>&1 &
    nohup java -jar /web/app/wallet.jar > /dev/null 2>&1 &
    nohup java -jar /web/app/admin.jar > /dev/null 2>&1 &

Вопросы и предложения

  • Используйте Issue для отправки вопросов. Мы ответим вам как можно быстрее.
  • Присоединитесь к группе обмена знаниями по технологии: группа QQ: 735446452
  • Электронная почта: xunibidev@gmail.com

Обновление информации

Перевод на русский язык:

Aлиyun OSS, загрузка изображений

aliyun.**

Настройка SMS

sms.**

Проверка электронной почты

spring.mail.**

Проверка защиты от мошенников Tencent

water.proof.app.**

Запуск сервиса

  1. Maven сборка пакета

  2. Загрузите .jar файлы из target директорий каждого модуля на свой сервер.

  3. Сначала запустите модуль cloud, затем market и exchange модули. Остальные могут быть запущены в любом порядке.

  4. Запуск сервиса

    Пример:

    nohup java -jar /путь_до_вашего_jar_файла/cloud.jar > /dev/null 2>&1 &
    nohup java -jar /web/app/cloud.jar > /dev/null 2>&1 &
    nohup java -jar /web/app/exchange.jar > /dev/null 2>&1 &
    nohup java -jar /web/app/market.jar > /dev/null 2>&1 &
    nohup java -jar /web/app/exchange-api.jar > /dev/null 2>&1 &
    nohup java -jar /web/app/ucenter-api.jar > /dev/null 2>&1 &
    nohup java -jar /web/app/otc-api.jar > /dev/null 2>&1 &
    nohup java -jar /web/app/chat.jar > /dev/null 2>&1 &
    nohup java -jar /web/app/wallet.jar > /dev/null 2>&1 &
    nohup java -jar /web/app/admin.jar > /dev/null 2>&1 &

Вопросы и предложения

  • Используйте Issues, мы будем следить за ними и отвечать.
  • Присоединитесь к общению: группа обмена знаниями о технологии биржевых систем Blockchain 【QQ群:735446452】
  • E-Mail: xunibidev@gmail.com

Обновление

Опубликовать ( 0 )

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

1
https://api.gitlife.ru/oschina-mirror/bizzan-ZTuoExchange_framework.git
git@api.gitlife.ru:oschina-mirror/bizzan-ZTuoExchange_framework.git
oschina-mirror
bizzan-ZTuoExchange_framework
bizzan-ZTuoExchange_framework
master