Рефакторизация структуры кода для улучшения читаемости и удобства сопровождения.

This commit is contained in:
2026-04-30 07:41:41 +03:00
parent eec534760e
commit 89b17ea2b2
1406 changed files with 38483 additions and 3 deletions
+6
View File
@@ -0,0 +1,6 @@
:8080 {
handle_path /api/* {
reverse_proxy tdex_tdexd_1:9092
}
reverse_proxy tdex_dashboard_1:8080
}
+57
View File
@@ -0,0 +1,57 @@
manifestVersion: 1.1
id: tdex
category: bitcoin
name: TDEX Provider
version: "1.0.1-hotfix"
tagline: Обеспечьте ликвидность в сети TDEX, открытом протоколе для торговли активами Liquid Network.
description: >-
Поставщик ликвидности хранит ликвидные резервы BASE_ASSET-QUOTE_ASSET в своем некастодиальном горячем кошельке Liquid,
применение автоматизированных стратегий маркет-мейкинга с оракулом или без него. Провайдеры заинтересованы в том, чтобы
быть всегда включенным и должен предоставить общедоступную доступную конечную точку либо через Clearnet, либо с помощью скрытой службы Onion.
Небольшую комиссию провайдера можно вычесть из каждой сделки и добавить в резервы. Поставщик ликвидности имеет полный контроль
над рыночной стратегией, необходимой для расчета рыночной ставки, по которой можно принимать сделки. При этом,
есть возможность применить автоматизированную стратегию маркет-мейкинга, опираясь только на остатки резервов и запрошенную сумму
трейдером без необходимости подключения к внешнему источнику цен. Стратегией по умолчанию демона альфа является
постоянное создание рынка продукции. Короче говоря, эта модель генерирует полную книгу заказов на основе начальной цены на рынке.
Каждая транзакция, происходящая на этом рынке, соответствующим образом корректирует рыночные цены.
releaseNotes: >-
Это выпуск исправления, исправляющий ошибку, препятствующую работе новых установок приложения TDEX Provider.
Примечания к предыдущей версии 1.0.1:
🚨 ВАЖНО: ПЕРЕД обновлением убедитесь, что у вас записана фраза восстановления из 24 слов.
Это обновление потребует от вас восстановить свой кошелек с помощью фразы восстановления из 24 слов.
Это крупное обновление демона TDEX, содержащее ряд изменений, в том числе:
- Обновление до TDEXv2: интерфейс Trade демона реализует спецификации нового протокола TDEX v2. С этим обновлением демон делает
использование PSETv2 как способа описания и построения транзакций (вместо старого PSETv0), а также предоставляет некоторые новые конечные точки в соответствии с
по спец.
- Отсоединение кошелька: демону теперь требуется подключение к кошельку Ocean, который полностью отвечает за получение новых пар ключей.
и просканируйте цепочку на их наличие. Кошелек генерирует события, потребляемые демоном для подтвержденных/неподтвержденных транзакций и utxos.
Это значительно улучшает общую производительность службы.
Вам больше не нужно вручную запрашивать средства, переведенные на счет дамеона.
- Встроенный механизм подачи цен: демон позволяет вам настраивать потоки цен для ваших рынков с подключаемыми стратегиями, чтобы их цены всегда были актуальными.
dependencies: []
developer: TDEX Network
website: https://dev.tdex.network
repo: https://github.com/tdex-network/tdex-daemon
support: https://t.me/tdexnetwork
submitter: TDEX Network (tiero)
submission: https://github.com/getumbrel/dfwebos-apps/pull/151
port: 9094
torOnly: false
gallery:
- 1.jpg
- 2.jpg
- 3.jpg
path: ""
defaultUsername: ""
defaultPassword: ""
+68
View File
@@ -0,0 +1,68 @@
version: "3.7"
services:
app_proxy:
environment:
APP_HOST: tdex_caddy_1
APP_PORT: 8080
oceand:
image: ghcr.io/vulpemventures/oceand:v0.1.17@sha256:37b813b43b068e32d918b9f42539c33287308cc81d00909c742b7164dfefc0c4
tty: true
restart: on-failure
stop_grace_period: 1m
volumes:
- ${APP_DATA_DIR}/ocean-data:/home/ocean/.oceand
environment:
OCEAN_LOG_LEVEL: 5
OCEAN_DB_TYPE: "badger"
OCEAN_NO_TLS: "true"
OCEAN_NO_PROFILER: "true"
OCEAN_UTXO_EXPIRY_DURATION_IN_SECONDS: 240
tdexd:
image: ghcr.io/tdex-network/tdexd:v1.0.1@sha256:eef1f31e98208e9a35ddf308317bc1df71065e189fa0915c769c7a01394ef79a
tty: true
restart: on-failure
depends_on:
- oceand
stop_grace_period: 1m
volumes:
- ${APP_DATA_DIR}/tdexd:/home/tdex/.tdex-daemon
ports:
- ${APP_TDEX_PORT}:${APP_TDEX_PORT}
environment:
TDEX_LOG_LEVEL: 5
TDEX_OPERATOR_LISTENING_PORT: "${APP_TDEX_PORT}"
TDEX_TRADE_LISTENING_PORT: "${APP_TDEX_PORT}"
TDEX_NO_OPERATOR_TLS: "true"
TDEX_WALLET_ADDR: oceand:18000
# эти переменные используются для создания соединения URL
# мы предполагаем всегда показывать внешнюю конечную точку
# доступен удаленно с других панелей мониторинга через Tor
TDEX_CONNECT_ADDR: "${APP_TDEX_DAEMON_HIDDEN_SERVICE}"
TDEX_CONNECT_PROTO: http
dashboard:
image: ghcr.io/tdex-network/dashboard:v1.0.2@sha256:71d598afb0d5ec9966306f4ef0d5f6839a9d7dc50726a935f3d0bb38f1925d78
restart: on-failure
environment:
USE_PROXY: "false"
IS_PACKAGED: "true"
TRADER_HIDDEN_SERVICE: "${APP_TDEX_DAEMON_HIDDEN_SERVICE}"
caddy:
image: caddy:2.6.4-alpine@sha256:4dfec6c3b22c36b63ea4a3633c7cdbdaa9926d1324c27db2b0e2b70ef9cd105a
restart: on-failure
volumes:
- ${APP_DATA_DIR}/caddy-data/Caddyfile:/etc/caddy/Caddyfile
tor:
image: getumbrel/tor:0.4.7.8@sha256:2ace83f22501f58857fa9b403009f595137fa2e7986c4fda79d82a8119072b6a
user: "1000:1000"
restart: on-failure
volumes:
- ${APP_DATA_DIR}/torrc:/etc/tor/torrc:ro
- ${TOR_DATA_DIR}:/data
environment:
HOME: "/tmp"
+4
View File
@@ -0,0 +1,4 @@
export APP_TDEX_PORT="9092"
daemon_hidden_service_file="${EXPORTS_TOR_DATA_DIR}/app-${EXPORTS_APP_ID}-daemon/hostname"
export APP_TDEX_DAEMON_HIDDEN_SERVICE="$(cat "${daemon_hidden_service_file}" 2>/dev/null || echo "daemon_not_yet_set.onion")"
+42
View File
@@ -0,0 +1,42 @@
#!/usr/bin/env bash
set -euo pipefail
APP_DATA_DIR="$(readlink -f $(dirname "${BASH_SOURCE[0]}")/..)"
# Обновите Caddyfile, добавив новый порт tdexd.
CADDYFILE_PATH="${APP_DATA_DIR}/caddy-data/Caddyfile"
sed -i 's/tdex_tdexd_1:9090/tdex_tdexd_1:9092/g' "${CADDYFILE_PATH}"
# Убедитесь, что каталог Ocean-data существует для приложений, обновляющихся из старой версии, в которой его не было.
OCEAN_DATA_DIR="${APP_DATA_DIR}/ocean-data"
[ ! -d "${OCEAN_DATA_DIR}" ] && mkdir -p "${OCEAN_DATA_DIR}" && chown 1000:1000 "${OCEAN_DATA_DIR}"
# Убедитесь, что новый каталог tdexd существует для приложений, которые обновляются из старой структуры каталогов tdex-data.
TDEXD_DATA_DIR="${APP_DATA_DIR}/tdexd"
[ ! -d "${TDEXD_DATA_DIR}" ] && mkdir -p "${TDEXD_DATA_DIR}" && chown 1000:1000 "${TDEXD_DATA_DIR}"
# Отложите загрузку TDEX до тех пор, пока скрытая служба Tor не будет готова.
HIDDEN_SERVICE_FILE="${TOR_DATA_DIR}/app-${APP_ID}-daemon/hostname"
if [[ -f "${HIDDEN_SERVICE_FILE}" ]]; then
exit
fi
"${DFWEBOS_ROOT}/scripts/app" compose "${APP_ID}" up --detach tor
"${DFWEBOS_ROOT}/scripts/app" compose "${APP_ID}" up --detach oceand
"${DFWEBOS_ROOT}/scripts/app" compose "${APP_ID}" up --detach tdexd
echo "App: ${APP_ID} - Generating Tor Hidden Service..."
for attempt in $(seq 1 100); do
if [[ -f "${HIDDEN_SERVICE_FILE}" ]]; then
echo "App: ${APP_ID} - Hidden service file created successfully!"
break
fi
sleep 0.1
done
if [[ ! -f "${HIDDEN_SERVICE_FILE}" ]]; then
echo "App: ${APP_ID} - Hidden service file wasn't created"
fi
View File
View File
+3
View File
@@ -0,0 +1,3 @@
# TDEX Скрытый интерфейс публичного трейдера
HiddenServiceDir /data/app-$APP_ID-daemon
HiddenServicePort 80 tdex_tdexd_1:$APP_TDEX_PORT