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

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
+63
View File
@@ -0,0 +1,63 @@
manifestVersion: 1.1
id: core-lightning
category: bitcoin
name: Core Lightning
version: "25.09.3-hotfix.1"
tagline: Запустите свой личный узел Core Lightning.
description: >-
Начните работу с сетью Lightning сегодня с Core Lightning —
Lightning Реализация сети с упором на соответствие спецификациям и производительность.
Сеть Lightning позволяет проводить сверхдешевые и почти мгновенные транзакции Bitcoin.
Запустив узел Lightning, вы можете не только самостоятельно хранить свой Bitcoin на
Lightning, но также зарабатывайте саты, маршрутизируя платежи в сети.
Ядро Lightning и приложение на базе Blockstream.
developer: Core Lightning
website: https://blockstream.com/lightning/
dependencies:
- bitcoin
repo: https://github.com/ElementsProject/cln-application
support: https://community.corelightning.org/home
port: 2103
gallery:
- 1.jpg
- 2.jpg
- 3.jpg
path: ""
defaultPassword: ""
submitter: Blockstream
submission: https://github.com/getumbrel/dfwebos-apps/pull/475
releaseNotes: >-
В этом выпуске исправления устранена проблема, из-за которой пользователи не могли подключить внешние клиенты кошелька к своему узлу Core Lightning.
Если ранее вам не удавалось подключить кошелек, перейдите в «Настройки» в правом верхнем углу > Подключить кошелек > и выберите желаемый метод подключения, чтобы просмотреть исправленные сведения о подключении.
**Примечания к предыдущим выпускам:**
Это обновляет cln-application до версии 25.07.3, Lightningd до версии 25.09.3 и заменяет устаревшую службу c-lightning-rest встроенным интерфейсом REST Lightningd.
**Приложение CLN v25.07.3:**
- Превентивное устранение широко распространенной угрозы экосистемы npm, связанной с вредоносным кодом в популярных пакетах.
- Обновлены и оптимизированы переменные среды для улучшения конфигурации и удобства использования.
- Добавлена поддержка запуска Commando через безопасные соединения WebSocket (например, wss-proxy).
- Удалена версия и суффикс фиксации из псевдонимов узлов для более четкого отображения.
- Обновлен формат даты BKPR с ГГГГ-ММ-ДД на стандарт интерфейс ДД МММ, ГГГГ.
- Добавлена поддержка бесконечной прокрутки для транзакций BTC, предложений CLN и транзакций CLN.
**CLN v25.09.3:**
- Бухгалтер был перенесен в Core Lightning, что позволяет отслеживать платежи, сборы и деятельность каналов.
- xpay теперь может напрямую оплачивать адреса BIP353 (например, ₿cln@blockstream.com) и простые предложения без дополнительных действий.
- Улучшена обратная связь при сбое создания канала из-за ограничений емкости.
- Теперь ограничено количество частей, на которые платеж может быть разделен на xpay и Askrene.
- Reckless теперь поддерживает современный менеджер пакетов uv для плагинов Python.
- Улучшено количество возможных решений, найденных в основном цикле решателя на аскене.
- Улучшения сращивания обеспечивают лучшую совместимость с Eclair и непрерывную маршрутизацию во время модификации канала.
- Повысьте безопасность, гарантируя, что все одноранговые узлы поддерживают тип канала.
- Секреты оплаты теперь обязательны в счетах BOLT11 для лучшей защиты платежей.
backupIgnore:
- data/lightningd/bitcoin/lightningd.sqlite3
+89
View File
@@ -0,0 +1,89 @@
version: "3.7"
services:
app_proxy:
environment:
APP_HOST: $APP_CORE_LIGHTNING_IP
APP_PORT: $APP_CORE_LIGHTNING_PORT
app:
image: ghcr.io/elementsproject/cln-application:25.07.3@sha256:af22cebd21e1175651049d09cf2dd547da569fddd55e4c7766e5956bd47e91fa
command: npm run start
restart: on-failure
volumes:
- ${APP_DATA_DIR}/data/app:${APP_CONFIG_DIR}
- ${APP_CORE_LIGHTNING_DATA_DIR}:${CORE_LIGHTNING_PATH}
environment:
APP_SINGLE_SIGN_ON: "true"
APP_HOST: ${APP_CORE_LIGHTNING_IP}
APP_PORT: ${APP_CORE_LIGHTNING_PORT}
BITCOIN_NETWORK: ${APP_CORE_LIGHTNING_BITCOIN_NETWORK}
LIGHTNING_HOST: ${APP_CORE_LIGHTNING_DAEMON_IP}
LIGHTNING_TOR_HOST: ${APP_CORE_LIGHTNING_HIDDEN_SERVICE}
APP_CONNECT: COMMANDO
APP_MODE: ${APP_MODE}
LIGHTNING_DATA_DIR: ${CORE_LIGHTNING_PATH}
APP_CONFIG_FILE: ${APP_CONFIG_DIR}/config.json
LIGHTNING_VARS_FILE: ${COMMANDO_CONFIG}
LIGHTNING_WS_PROTOCOL: ws
LIGHTNING_WS_PORT: ${APP_CORE_LIGHTNING_WEBSOCKET_PORT}
LIGHTNING_WS_CLIENT_KEY_FILE: ${CORE_LIGHTNING_PATH}/${APP_CORE_LIGHTNING_BITCOIN_NETWORK}/client-key.pem
LIGHTNING_WS_CLIENT_CERT_FILE: ${CORE_LIGHTNING_PATH}/${APP_CORE_LIGHTNING_BITCOIN_NETWORK}/client.pem
LIGHTNING_WS_CA_CERT_FILE: ${CORE_LIGHTNING_PATH}/${APP_CORE_LIGHTNING_BITCOIN_NETWORK}/ca.pem
LIGHTNING_REST_PROTOCOL: https
LIGHTNING_REST_HOST: ${DEVICE_DOMAIN_NAME}
LIGHTNING_REST_TOR_HOST: ${APP_CORE_LIGHTNING_HIDDEN_SERVICE}
LIGHTNING_REST_PORT: ${CORE_LIGHTNING_REST_PORT}
LIGHTNING_REST_CLIENT_KEY_FILE: ${CORE_LIGHTNING_PATH}/${APP_CORE_LIGHTNING_BITCOIN_NETWORK}/client-key.pem
LIGHTNING_REST_CLIENT_CERT_FILE: ${CORE_LIGHTNING_PATH}/${APP_CORE_LIGHTNING_BITCOIN_NETWORK}/client.pem
LIGHTNING_REST_CA_CERT_FILE: ${CORE_LIGHTNING_PATH}/${APP_CORE_LIGHTNING_BITCOIN_NETWORK}/ca.pem
LIGHTNING_GRPC_HOST: ${DEVICE_DOMAIN_NAME}
LIGHTNING_GRPC_TOR_HOST: ${APP_CORE_LIGHTNING_HIDDEN_SERVICE}
LIGHTNING_GRPC_PORT: ${APP_CORE_LIGHTNING_DAEMON_GRPC_PORT}
LIGHTNING_GRPC_PROTO_PATH: https://github.com/ElementsProject/lightning/tree/master/cln-grpc/proto
LIGHTNING_GRPC_CLIENT_KEY_FILE: ${CORE_LIGHTNING_PATH}/${APP_CORE_LIGHTNING_BITCOIN_NETWORK}/client-key.pem
LIGHTNING_GRPC_CLIENT_CERT_FILE: ${CORE_LIGHTNING_PATH}/${APP_CORE_LIGHTNING_BITCOIN_NETWORK}/client.pem
LIGHTNING_GRPC_CA_CERT_FILE: ${CORE_LIGHTNING_PATH}/${APP_CORE_LIGHTNING_BITCOIN_NETWORK}/ca.pem
networks:
default:
ipv4_address: ${APP_CORE_LIGHTNING_IP}
lightningd:
image: elementsproject/lightningd:v25.09.3@sha256:ca95610b7db23a8fad5cf6e36044ecd4ff9124dcc7dae50bd151084d39feaf70
restart: on-failure
ports:
- ${APP_CORE_LIGHTNING_DAEMON_PORT}:9735
- ${APP_CORE_LIGHTNING_WEBSOCKET_PORT}:${APP_CORE_LIGHTNING_WEBSOCKET_PORT}
- ${CORE_LIGHTNING_REST_PORT}:${CORE_LIGHTNING_REST_PORT}
- ${APP_CORE_LIGHTNING_DAEMON_GRPC_PORT}:${APP_CORE_LIGHTNING_DAEMON_GRPC_PORT}
environment:
LIGHTNINGD_NETWORK: ${APP_CORE_LIGHTNING_BITCOIN_NETWORK}
command:
- --bitcoin-rpcconnect=${APP_BITCOIN_NODE_IP}
- --bitcoin-rpcuser=${APP_BITCOIN_RPC_USER}
- --bitcoin-rpcpassword=${APP_BITCOIN_RPC_PASS}
- --bitcoin-rpcport=${APP_BITCOIN_RPC_PORT}
- --lightning-dir=${CORE_LIGHTNING_PATH}
- --proxy=${TOR_PROXY_IP}:${TOR_PROXY_PORT}
- --bind-addr=${APP_CORE_LIGHTNING_DAEMON_IP}:9735
- --bind-addr=ws:${APP_CORE_LIGHTNING_DAEMON_IP}:${APP_CORE_LIGHTNING_WEBSOCKET_PORT}
- --addr=statictor:${TOR_PROXY_IP}:29051
- --tor-service-password=${TOR_PASSWORD}
- --network=${APP_CORE_LIGHTNING_BITCOIN_NETWORK}
- --database-upgrade=true
- --grpc-host=${APP_CORE_LIGHTNING_DAEMON_IP}
- --grpc-port=${APP_CORE_LIGHTNING_DAEMON_GRPC_PORT}
- --clnrest-host=${APP_CORE_LIGHTNING_DAEMON_IP}
- --clnrest-port=${CORE_LIGHTNING_REST_PORT}
volumes:
- "${APP_CORE_LIGHTNING_DATA_DIR}:${CORE_LIGHTNING_PATH}"
networks:
default:
ipv4_address: ${APP_CORE_LIGHTNING_DAEMON_IP}
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"
+21
View File
@@ -0,0 +1,21 @@
export APP_CORE_LIGHTNING_IP="10.21.21.94"
export APP_CORE_LIGHTNING_PORT="2103"
export APP_CORE_LIGHTNING_DAEMON_IP="10.21.21.96"
export APP_CORE_LIGHTNING_DAEMON_PORT="9736"
export APP_CORE_LIGHTNING_DAEMON_GRPC_PORT="2110"
export APP_CORE_LIGHTNING_WEBSOCKET_PORT="2106"
export APP_CORE_LIGHTNING_DATA_DIR="${EXPORTS_APP_DIR}/data/lightningd"
export CORE_LIGHTNING_REST_PORT="2107"
export APP_CORE_LIGHTNING_BITCOIN_NETWORK="${APP_BITCOIN_NETWORK}"
if [[ "${APP_BITCOIN_NETWORK}" == "mainnet" ]]; then
export APP_CORE_LIGHTNING_BITCOIN_NETWORK="bitcoin"
fi
lightning_hidden_service_file="${EXPORTS_TOR_DATA_DIR}/app-${EXPORTS_APP_ID}-rest/hostname"
export APP_CORE_LIGHTNING_HIDDEN_SERVICE="$(cat "${lightning_hidden_service_file}" 2>/dev/null || echo "notyetset.onion")"
export APP_CONFIG_DIR="/data/app"
export APP_MODE="production"
export CORE_LIGHTNING_PATH="/root/.lightning"
export COMMANDO_CONFIG="/root/.lightning/.commando-env"
+26
View File
@@ -0,0 +1,26 @@
#!/usr/bin/env bash
# Отложите загрузку Core Lightning до тех пор, пока скрытая служба Tor REST не будет готова.
HIDDEN_SERVICE_FILE="${TOR_DATA_DIR}/app-${APP_ID}-rest/hostname"
if [[ -f "${HIDDEN_SERVICE_FILE}" ]]; then
exit
fi
"${DFWEBOS_ROOT}/scripts/app" compose "${APP_ID}" up --detach lightningd
"${DFWEBOS_ROOT}/scripts/app" compose "${APP_ID}" up --detach tor
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
+3
View File
@@ -0,0 +1,3 @@
# CLNRest Скрытая служба
HiddenServiceDir /data/app-$APP_ID-rest
HiddenServicePort $CORE_LIGHTNING_REST_PORT $APP_CORE_LIGHTNING_DAEMON_IP:$CORE_LIGHTNING_REST_PORT