diff --git a/.github/workflows/deploy.yml b/.github/workflows/deploy.yml new file mode 100644 index 0000000..a1e6934 --- /dev/null +++ b/.github/workflows/deploy.yml @@ -0,0 +1,99 @@ +name: Deploy MkDocs to GitHub Pages + +on: + push: + branches: [main, en, mkdocs-migration] + workflow_dispatch: + +permissions: + contents: read + pages: write + id-token: write + +concurrency: + group: pages + cancel-in-progress: false + +jobs: + build: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + + - uses: actions/setup-python@v5 + with: + python-version: '3.x' + + - run: pip install mkdocs-material mkdocs-static-i18n + + - run: mkdocs build + + - uses: actions/upload-pages-artifact@v3 + with: + path: site + + deploy: + needs: build + runs-on: ubuntu-latest + environment: + name: github-pages + url: ${{ steps.deployment.outputs.page_url }} + outputs: + page_url: ${{ steps.deployment.outputs.page_url }} + steps: + - id: deployment + uses: actions/deploy-pages@v4 + + test: + needs: deploy + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + + - name: Wait for site availability + run: | + BASE_URL="${{ needs.deploy.outputs.page_url }}" + for i in $(seq 1 30); do + curl -sf -o /dev/null "$BASE_URL" && break + sleep 2 + done + + - name: Check all page URLs + run: | + BASE_URL="${{ needs.deploy.outputs.page_url }}" + BASE_URL="${BASE_URL%/}" + URLS_FILE=$(mktemp) + + # English pages (exclude es/hu subdirs) + find docs -name '*.md' -not -path 'docs/es/*' -not -path 'docs/hu/*' | sort | while IFS= read -r f; do + rel="${f#docs/}"; rel="${rel%.md}" + if [ "$rel" = "index" ]; then echo "$BASE_URL/"; else echo "$BASE_URL/$rel/"; fi + done >> "$URLS_FILE" + + # ES and HU pages + for lang in es hu; do + [ -d "docs/$lang" ] || continue + find "docs/$lang" -name '*.md' | sort | while IFS= read -r f; do + rel="${f#docs/$lang/}"; rel="${rel%.md}" + if [ "$rel" = "index" ]; then echo "$BASE_URL/$lang/"; else echo "$BASE_URL/$lang/$rel/"; fi + done >> "$URLS_FILE" + done + + TOTAL=$(wc -l < "$URLS_FILE") + echo "Checking $TOTAL URLs..." + FAILED=0 + + while IFS= read -r url; do + STATUS=$(curl -sf -o /dev/null -w "%{http_code}" "$url" || true) + if [ "$STATUS" != "200" ]; then + echo "FAIL [$STATUS]: $url" + FAILED=$((FAILED + 1)) + else + echo " OK: $url" + fi + done < "$URLS_FILE" + + rm -f "$URLS_FILE" + echo "" + echo "Checked: $TOTAL | Failed: $FAILED" + [ "$FAILED" -eq 0 ] diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml new file mode 100644 index 0000000..51051c8 --- /dev/null +++ b/.github/workflows/test.yml @@ -0,0 +1,64 @@ +name: Test MkDocs Build + +on: + pull_request: + branches: [master, main, en] + +jobs: + build: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + + - uses: actions/setup-python@v5 + with: + python-version: '3.x' + + - run: pip install mkdocs-material mkdocs-static-i18n + + - name: Build site + run: mkdocs build --strict + + - name: Check all page URLs + run: | + # Start local server + python -m http.server 8000 -d site & + SERVER_PID=$! + sleep 2 + + BASE_URL="http://localhost:8000" + FAILED=0 + TOTAL=0 + + check_url() { + local url="$1" + TOTAL=$((TOTAL + 1)) + STATUS=$(curl -sf -o /dev/null -w "%{http_code}" "$url" || true) + if [ "$STATUS" != "200" ]; then + echo "FAIL [$STATUS]: $url" + FAILED=$((FAILED + 1)) + else + echo " OK: $url" + fi + } + + # English pages (exclude es/hu subdirs) + while IFS= read -r f; do + rel="${f#docs/}"; rel="${rel%.md}" + if [ "$rel" = "index" ]; then check_url "$BASE_URL/"; else check_url "$BASE_URL/$rel/"; fi + done < <(find docs -name '*.md' -not -path 'docs/es/*' -not -path 'docs/hu/*' | sort) + + # ES and HU pages + for lang in es hu; do + [ -d "docs/$lang" ] || continue + while IFS= read -r f; do + rel="${f#docs/$lang/}"; rel="${rel%.md}" + if [ "$rel" = "index" ]; then check_url "$BASE_URL/$lang/"; else check_url "$BASE_URL/$lang/$rel/"; fi + done < <(find "docs/$lang" -name '*.md' | sort) + done + + kill $SERVER_PID 2>/dev/null || true + + echo "" + echo "Checked: $TOTAL | Failed: $FAILED" + [ "$FAILED" -eq 0 ] diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..0dd717a --- /dev/null +++ b/.gitignore @@ -0,0 +1,3 @@ +site/ +.venv/ +__pycache__/ diff --git a/README.md b/README.md index a87485e..47dd3da 100644 --- a/README.md +++ b/README.md @@ -305,6 +305,6 @@ Spark is a minimalistic wallet GUI for c-lightning, accessible over the web or t ## Learning -[https://github.com/lnbook/lnbook](https://github.com/lnbook/lnbook) -[https://chaincode.applytojob.com/apply/LpQl1a0cvd/Chaincode-Labs-Online-Seminars](https://chaincode.applytojob.com/apply/LpQl1a0cvd/Chaincode-Labs-Online-Seminars) [https://github.com/chaincodelabs/lightning-curriculum](https://github.com/chaincodelabs/lightning-curriculum) +* [https://github.com/lnbook/lnbook](https://github.com/lnbook/lnbook) +* [https://github.com/chaincodelabs/lightning-curriculum](https://github.com/chaincodelabs/lightning-curriculum) diff --git a/SUMMARY.md b/SUMMARY.md deleted file mode 100644 index 3575f33..0000000 --- a/SUMMARY.md +++ /dev/null @@ -1,67 +0,0 @@ -# Table of contents - -* [Contents](SUMMARY.md) -* [Lightning basics](README.md) -* [Create inbound liquidity](createinboundliquidity.md) -* [Create outbound liquidity](createoutboundliquidity.md) -* [Comparison table of software implementations](node-types/comparison.md) -* [Comparison table of lightning channel markets](https://github.com/openoms/lightning-node-management/blob/en/channelmarkets.md) - -## Node Types - -* [Merchant](node-types/nodetype.merchant.md) -* [Spending](node-types/nodetype.spending.md) -* [Routing](node-types/nodetype.routing.md) - -## Advanced Tools - -* [lnd.conf example](advanced-tools/lnd.conf.md) -* [Advanced and automated fee settings](advanced-tools/fees.md) -* [Set up an LND watchtower and connect a client](advanced-tools/watchtower.md) -* [Methods to create a balanced channel with a trusted peer](advanced-tools/balancedchannelcreation.md) -* [Pool usage notes](advanced-tools/pool.md) -* [Bos Score](advanced-tools/bosscore.md) - -## Technicals - -* [Connecting to a lightning node remotely](technicals/lightning.connect.md) -* [High onchain fee environment](technicals/highonchainfees.md) -* [Compact the LND database \(channel.db\)](technicals/lnddatabasecompaction.md) -* [Manage the LND onchain funds in Electrum Wallet](technicals/restorelndonchainfundsinelectrum.md) - -## Recovery - -* [Resources for LND](lndrecovery.md) -* [Resources for Core Lightning](clrecovery.md) - -## Privacy - -* [Resources on Lightning privacy](privacy/resources.md) -* [VPN tunnels](technicals/networking.md) - -## Hardware deployment - -* [Hardware recommendations](hardware/recommendations.md) -* [RaspiBolt](hardware/raspibolt.md) -* [RaspiBlitz](hardware/raspiblitz.md) - * [charge-lnd](hardware/raspiblitz/charge-lnd.md) - * [Balance of Satoshis Telegram Bot](hardware/raspiblitz/bos.md) - * [LND updates](hardware/raspiblitz/lnd.updates.md) - * [Bitcoin Core updates](https://openoms.github.io/bitcoin-tutorials/raspiblitz.updates/#bitcoin-core-updates) - * [VPN and firewall setup](https://gist.github.com/openoms/037bb0e3cccab58bfac5376db37bb57c) -* [TrueNAS (FreeBSD) node](hardware/truenas.md) - * [aliases](hardware/truenas/aliases.md) - * [Balance of Satoshis](hardware/truenas/bos.md) - * [Lightning Terminal](hardware/truenas/lit.md) - * [Circuitbreaker](hardware/truenas/circuitbreaker.md) - * [LNtop](hardware/truenas/lntop.md) - * [LND notes](hardware/truenas/lnd.md) - * [stream-lnd-htlcs](hardware/truenas/stream-lnd-htlcs.md) - * [Suez](hardware/truenas/suez.md) - * [Tailscale](hardware/truenas/tailscale.md) - * [Connect Zeus](hardware/truenas/zeus.md) - -## Donate - -* [Donations](donate/donations.md) - diff --git a/CNAME b/docs/CNAME similarity index 100% rename from CNAME rename to docs/CNAME diff --git a/advanced-tools/balancedchannelcreation.md b/docs/advanced-tools/balancedchannelcreation.md similarity index 97% rename from advanced-tools/balancedchannelcreation.md rename to docs/advanced-tools/balancedchannelcreation.md index 1555666..ad48678 100644 --- a/advanced-tools/balancedchannelcreation.md +++ b/docs/advanced-tools/balancedchannelcreation.md @@ -45,7 +45,7 @@ There should be no rush, so use a low fee for the on-chain tx. Check [https://wh This will result to have a balanced channel with 1M sats on each side \(minus the commit fee\). -![a balanced channel shown in ZeusLN](/.gitbook/assets/balancedChannel.jpg) +![a balanced channel shown in ZeusLN](../assets/balancedChannel.jpg) ## The cost of liquidity diff --git a/advanced-tools/bosscore.md b/docs/advanced-tools/bosscore.md similarity index 88% rename from advanced-tools/bosscore.md rename to docs/advanced-tools/bosscore.md index a7634a8..764869b 100644 --- a/advanced-tools/bosscore.md +++ b/docs/advanced-tools/bosscore.md @@ -9,13 +9,13 @@ Daily updates and links to documentation are on: [terminal.lightning.engineering An alternative display: [cheeserobot.org/terminal/list](https://cheeserobot.org/terminal/list) -![https://lightning.engineering/posts/2019-11-07-routing-guide-2/](../.gitbook/assets/BosScore4.png) +![https://lightning.engineering/posts/2019-11-07-routing-guide-2/](../assets/BosScore4.png) -![https://lightninglabs.substack.com/p/its-lit-introducing-the-lightning](../.gitbook/assets/BosScore1.png) +![https://lightninglabs.substack.com/p/its-lit-introducing-the-lightning](../assets/BosScore1.png) -![https://lightninglabs.substack.com/p/its-lit-introducing-the-lightning ](../.gitbook/assets/BosScore2.png) +![https://lightninglabs.substack.com/p/its-lit-introducing-the-lightning ](../assets/BosScore2.png) -![https://lightninglabs.substack.com/p/its-lit-introducing-the-lightning ](../.gitbook/assets/BosScore3.png) +![https://lightninglabs.substack.com/p/its-lit-introducing-the-lightning ](../assets/BosScore3.png) ## Resources diff --git a/advanced-tools/fees.md b/docs/advanced-tools/fees.md similarity index 100% rename from advanced-tools/fees.md rename to docs/advanced-tools/fees.md diff --git a/advanced-tools/lnd.conf.md b/docs/advanced-tools/lnd.conf.md similarity index 100% rename from advanced-tools/lnd.conf.md rename to docs/advanced-tools/lnd.conf.md diff --git a/advanced-tools/pool.md b/docs/advanced-tools/pool.md similarity index 100% rename from advanced-tools/pool.md rename to docs/advanced-tools/pool.md diff --git a/advanced-tools/watchtower.md b/docs/advanced-tools/watchtower.md similarity index 98% rename from advanced-tools/watchtower.md rename to docs/advanced-tools/watchtower.md index 353fff5..8bc2c03 100644 --- a/advanced-tools/watchtower.md +++ b/docs/advanced-tools/watchtower.md @@ -6,7 +6,7 @@ If there are two nodes in your control from lnd v0.7.0 you can set them up to lo ## Update LND -Check [https://github.com/lightningnetwork/lnd/releases/](https://github.com/lightningnetwork/lnd/releases/) for the latest version and release notes. Update [manually](https://github.com/lightningnetwork/lnd/blob/master/docs/INSTALL.md#installing-lnd) or use an [automated helper script](../technicals/lnd.updates.md) to update lnd on a RaspiBlitz or a compatible system. +Check [https://github.com/lightningnetwork/lnd/releases/](https://github.com/lightningnetwork/lnd/releases/) for the latest version and release notes. Update [manually](https://github.com/lightningnetwork/lnd/blob/master/docs/INSTALL.md#installing-lnd) or use an [automated helper script](https://github.com/openoms/lightning-node-management/blob/en/technicals/lnd.updates.md) to update lnd on a RaspiBlitz or a compatible system. ## Set up the Watchtower diff --git a/.gitbook/assets/BosScore1.png b/docs/assets/BosScore1.png similarity index 100% rename from .gitbook/assets/BosScore1.png rename to docs/assets/BosScore1.png diff --git a/.gitbook/assets/BosScore2.png b/docs/assets/BosScore2.png similarity index 100% rename from .gitbook/assets/BosScore2.png rename to docs/assets/BosScore2.png diff --git a/.gitbook/assets/BosScore3.png b/docs/assets/BosScore3.png similarity index 100% rename from .gitbook/assets/BosScore3.png rename to docs/assets/BosScore3.png diff --git a/.gitbook/assets/BosScore4.png b/docs/assets/BosScore4.png similarity index 100% rename from .gitbook/assets/BosScore4.png rename to docs/assets/BosScore4.png diff --git a/.gitbook/assets/balancedChannel.jpg b/docs/assets/balancedChannel.jpg similarity index 100% rename from .gitbook/assets/balancedChannel.jpg rename to docs/assets/balancedChannel.jpg diff --git a/.gitbook/assets/btcpay.on-offchain.png b/docs/assets/btcpay.on-offchain.png similarity index 100% rename from .gitbook/assets/btcpay.on-offchain.png rename to docs/assets/btcpay.on-offchain.png diff --git a/.gitbook/assets/chanleakcheck.png b/docs/assets/chanleakcheck.png similarity index 100% rename from .gitbook/assets/chanleakcheck.png rename to docs/assets/chanleakcheck.png diff --git a/.gitbook/assets/laptoptweet.png b/docs/assets/laptoptweet.png similarity index 100% rename from .gitbook/assets/laptoptweet.png rename to docs/assets/laptoptweet.png diff --git a/.gitbook/assets/lnbig_fees.png b/docs/assets/lnbig_fees.png similarity index 100% rename from .gitbook/assets/lnbig_fees.png rename to docs/assets/lnbig_fees.png diff --git a/.gitbook/assets/nodehardware.png b/docs/assets/nodehardware.png similarity index 100% rename from .gitbook/assets/nodehardware.png rename to docs/assets/nodehardware.png diff --git a/.gitbook/assets/qrcode.lntxbot.png b/docs/assets/qrcode.lntxbot.png similarity index 100% rename from .gitbook/assets/qrcode.lntxbot.png rename to docs/assets/qrcode.lntxbot.png diff --git a/.gitbook/assets/qrcode.sphinx.raspiblitz.png b/docs/assets/qrcode.sphinx.raspiblitz.png similarity index 100% rename from .gitbook/assets/qrcode.sphinx.raspiblitz.png rename to docs/assets/qrcode.sphinx.raspiblitz.png diff --git a/.gitbook/assets/qrcode.sphinxdm.jpg b/docs/assets/qrcode.sphinxdm.jpg similarity index 100% rename from .gitbook/assets/qrcode.sphinxdm.jpg rename to docs/assets/qrcode.sphinxdm.jpg diff --git a/.gitbook/assets/servertweet.png b/docs/assets/servertweet.png similarity index 100% rename from .gitbook/assets/servertweet.png rename to docs/assets/servertweet.png diff --git a/channelmarkets.md b/docs/channelmarkets.md similarity index 100% rename from channelmarkets.md rename to docs/channelmarkets.md diff --git a/clrecovery.md b/docs/clrecovery.md similarity index 100% rename from clrecovery.md rename to docs/clrecovery.md diff --git a/createinboundliquidity.md b/docs/createinboundliquidity.md similarity index 99% rename from createinboundliquidity.md rename to docs/createinboundliquidity.md index faf0de7..4d2b2b4 100644 --- a/createinboundliquidity.md +++ b/docs/createinboundliquidity.md @@ -98,7 +98,7 @@ Add their node as a peer if connecting from behind Tor: ### Join a community -* [PLEBNET - KYCjelly.com](kycjelly.com) +* [PLEBNET - KYCjelly.com](https://kycjelly.com) [plebnet.wiki/wiki/Welcome_to_Plebnet](https://plebnet.wiki/wiki/Welcome_to_Plebnet) * Rings of Fire diff --git a/createoutboundliquidity.md b/docs/createoutboundliquidity.md similarity index 100% rename from createoutboundliquidity.md rename to docs/createoutboundliquidity.md diff --git a/docs/donate/donations.md b/docs/donate/donations.md new file mode 100644 index 0000000..c8033ce --- /dev/null +++ b/docs/donate/donations.md @@ -0,0 +1,11 @@ +# Contact and support + +* Nostr NIP05: openoms@diynodes.com + `npub14tq8m9ggnnn2muytj9tdg0q6f26ef3snpd7ukyhvrxgq33vpnghs8shy62` + +* Self hosted BTCPayServer (LN + onchain with PayJoin): + [https://tips.diynodes.com](https://tips.diynodes.com) + +* Lightning Address: openoms@pay.diynodes.com + +* Blink Wallet: openoms@blink.sv diff --git a/docs/es/advanced-tools/balancedchannelcreation.md b/docs/es/advanced-tools/balancedchannelcreation.md new file mode 100644 index 0000000..eafa89d --- /dev/null +++ b/docs/es/advanced-tools/balancedchannelcreation.md @@ -0,0 +1,58 @@ +# Métodos para crear un canal balanceado con un nodo de confianza + +## Intercambio de confianza + +Realice un intercambio de confianza de on-chain a off-chain. + +Ventajas: + +* Crea liquidez bidireccional en ambos lados. +* Pagar en un canal LN directo es gratis. + +Cómo: + +* Abra un canal a un nodo de confianza +* Una vez que confirmado el canal, pague una factura proporcionada por la contraparte \(use la mitad de la capacidad del canal para obtener un canal perfectamente balanceado\) - este pago es gratuito +* Envíe a la contraparte un pago on-chain para devolver la cantidad pagada en la factura \(use un "fee" bajo\) + +## Cómo abrir un canal balanceado con un nodo de confianza + +Abrir un canal balanceado y financiado \(por ambos\) require una transacción Lightning y una on-chain. Para esto use la consola. + +A continuación encontrará cómo crear un canal balanceado de 2 millones de satoshis entre los nodos `A` y `B`. + +Ventajas: + +* Solo una transacción on-chain es requerida \(más barato\) +* Con la misma cantidad de fondos se creará un canal con capacidad de 2M de satoshis en lugar de 2 de 1M \(más eficiente\). + +Requisitos: + +* `A` tiene una liquidez saliente de 1M de satoshis. +* `B` tiene 1M de satoshis de liquidez entrante + 2M satoshis en fondos on-chain \(nodo de confianza\). +* Existe una ruta de pago para 1M de satoshis entre `A` y`B`. + +Cómo: + +* `B` envía una factura para recibir 1M de satoshis de `A`. +* `A` paga 1M de satoshis a `B`. +* Asegúrate de que A y B sean de confianza. +* `B` abre un canal a `A` con 2M de satoshis con el siguiente comando: + + `lncli openchannel --local_amt 2000000 --push_amt 1000000 --sat_per_byte 2` + +No hay afán, se puede usar una tarifa baja por la transacción on-chain. Verifique [https://whatthefee.io/](https://whatthefee.io/) para ver el estado actual de la Mempool o use la opción `--conf_target 10` para usar una estimación automática que le permita tener el canal confirmado en ~10 bloques. + +Esto resultará en un canal balanceado con 1M satoshis en cada lado \(menos el costo de la transacción on-chain\). + +![un canal balanceado mostrado en ZeusLN](../../assets/balancedChannel.jpg) + +## El costo de la liquidez + +Proporcionar liquidez en la red Lightning conlleva costos de transacción, de oprtunidad y los riesgos de una billetera en línea. La liquidez no es abundante ni gratuita. Pedir liquidez entrante a otros operadores de nodos es pedir un favor. Una sugerencia \(ejemplo\) para establecer el precio de la liquidez podría ser: + +* Crear canales de mínimo 1 millón satoshis. +* Pague al proveedor 0.02% = 2000 ppm satoshis por asignar fondos al canal y asi cubrir los costos de mineria \(apertura y cierre + riesgo de cierre forzado\). +* Acordar una tarifa de enrutamiento \(por ejemplo, 100 ppm\) +* Acordar la duración para mantener el canal abierto \(por ejemplo, mínimo un mes\) + diff --git a/docs/es/advanced-tools/bosscore.md b/docs/es/advanced-tools/bosscore.md new file mode 100644 index 0000000..fe1a6f6 --- /dev/null +++ b/docs/es/advanced-tools/bosscore.md @@ -0,0 +1,28 @@ +# Bos Score + +Lista Bos Score: +[https://nodes.lightning.computer/availability/v1/btc.json](https://nodes.lightning.computer/availability/v1/btc.json) + +* actualización diaria +* los nodos se muestran en orden alfabético de acuerdo a la llave pública + +Versión "ordenable": +[https://lightningwiki.net/bos/](https://lightningwiki.net/bos/) + +![https://lightning.engineering/posts/2019-11-07-routing-guide-2/](../assets/BosScore4.png) + +![https://lightninglabs.substack.com/p/its-lit-introducing-the-lightning](../assets/BosScore1.png) + +![https://lightninglabs.substack.com/p/its-lit-introducing-the-lightning ](../assets/BosScore2.png) + +![https://lightninglabs.substack.com/p/its-lit-introducing-the-lightning ](../assets/BosScore3.png) + +## Recursos + +Artículos: +[https://lightning.engineering/posts/2019-11-07-routing-guide-2/](https://lightning.engineering/posts/2019-11-07-routing-guide-2/) +[https://lightninglabs.substack.com/p/its-lit-introducing-the-lightning](https://lightninglabs.substack.com/p/its-lit-introducing-the-lightning) + +Videos: +[https://twitter.com/lightning/status/1292898032430780429](https://twitter.com/lightning/status/1292898032430780429) + diff --git a/docs/es/advanced-tools/fees.md b/docs/es/advanced-tools/fees.md new file mode 100644 index 0000000..2f3bfb0 --- /dev/null +++ b/docs/es/advanced-tools/fees.md @@ -0,0 +1,36 @@ +# Configuración avanzada y automatizada de costos + +## [Balance of Satoshis](https://github.com/alexbosworth/balanceofsatoshis) + +`$ bos fees --help` + +```text +USAGE + bos fees + List out fee rates, fix problems with routing policies, set out fees + When setting fee, if channels pending, will wait for confirm to set + Set-fee-rate can use formulas: https://formulajs.info/functions/ + You can use INBOUND_FEE_RATE to mirror an inbound fee + Specify PERCENT(0.00) to set the fee as a fraction of routed amount + Specify BIPS() to set the fee as parts per thousand + You can use INBOUND and OUTBOUND in formulas for IF formulas +OPTIONS + --node Node to find record on optional + --set-fee-rate Forward fee in parts per million optional + --to Peer public key or alias to set fees optional +``` + +## [charge-lnd](https://github.com/accumulator/charge-lnd) + +Establezca los costos de uso del canal según una política. Este script compara sus canales abiertos con una serie de criterios personalizables y aplica una política para el canal basado en dicha configuración. + +## [LND fees manager](https://gitlab.com/nolith/lndfeesmanager) + +lndfeesmanager es un software cuyo objetivo es equilibrar los canales LN mediante costos dinámicos. Cuando un canal está desbalanceado actualiza los costos. + +Si el saldo es mayormente local, los costos se reducirán para incentivar el enrutamiento. Si el saldo es mayormente remoto, las tarifas se incrementarán para desincentivar el enrutamiento. Si el canal está equilibrado, se establecerá una tarifa media. + +## Información adicional + +* Artículo con fórmulas útiles: [http://satbase.org/routing-fees/](http://satbase.org/routing-fees/) + diff --git a/docs/es/advanced-tools/lnd.conf.md b/docs/es/advanced-tools/lnd.conf.md new file mode 100644 index 0000000..6267624 --- /dev/null +++ b/docs/es/advanced-tools/lnd.conf.md @@ -0,0 +1,146 @@ +# Ejemplo lnd.conf + +Basado en: + +* [https://github.com/lightningnetwork/lnd/blob/master/sample-lnd.conf](https://github.com/lightningnetwork/lnd/blob/master/sample-lnd.conf) +* [https://github.com/alexbosworth/run-lnd\#install-lnd](https://github.com/alexbosworth/run-lnd#install-lnd) +* [https://github.com/rootzoll/raspiblitz/blob/master/home.admin/assets/lnd.bitcoin.conf](https://github.com/rootzoll/raspiblitz/blob/master/home.admin/assets/lnd.bitcoin.conf) + +Ruta para editar en RaspiBlitz: + +```text +sudo nano /mnt/hdd/lnd/lnd.conf +``` + +```text +# Ejemplo de configuración para lnd. + +[Application Options] +################################# +# Unique settings for each node # +################################# +# up to 32 UTF-8 characters +alias=ALIAS +# choose from: https://www.color-hex.com/ +color=COLOR +# default fees for new channels (does not affect existing ones) +bitcoin.feerate=100 +bitcoin.basefee=1 +minchansize=1000000 +accept-keysend=true +protocol.wumbo-channels=1 +# Domain, could use https://freedns.afraid.org +# tlsextradomain=lightning.yourhost.com + +# RPC open to all connections on Port 10009 +rpclisten=0.0.0.0:10009 +# REST open to all connections on Port 8080 +restlisten=0.0.0.0:8080 +# not for Tor +nat=false +debuglevel=debug +maxpendingchannels=5 +# to stop all incoming channels use: +# maxpendingchannels=0 +# Set the maximum amount of commit fees in a channel +max-channel-fee-allocation=1.0 +# Set the max timeout blocks of a payment +max-cltv-expiry=5000 + +######################### +# Improve startup speed # +######################### +# If true, we'll attempt to garbage collect canceled invoices upon start. +gc-canceled-invoices-on-startup=true +# If true, we'll delete newly canceled invoices on the fly. +gc-canceled-invoices-on-the-fly=true +# Avoid historical graph data sync +ignore-historical-gossip-filters=1 +# Enable free list syncing for the default bbolt database. This will decrease +# start up time, but can result in performance degradation for very large +# databases, and also result in higher memory usage. If "free list corruption" +# is detected, then this flag may resolve things. +sync-freelist=true +# Avoid high startup overhead +# If true, will apply a randomized staggering between 0s and 30s when +# reconnecting to persistent peers on startup. The first 10 reconnections will be +# attempted instantly, regardless of the flag's value +stagger-initial-reconnect=true + +######################### +# tls.cert improvements # +######################### +# Delete and recreate RPC TLS certificate when details change or cert expires +tlsautorefresh=1 +# Do not include IPs in the RPC TLS certificate +tlsdisableautofill=1 + +############################## +# Optimise for cheap routes # +############################## +[routerrpc] +# Make sure that LND is the binary release or built with the routerrpc tag +# Set default chance of a hop success +routerrpc.apriorihopprob=0.5 +# Start to ignore nodes if they return many failures (set to 1 to turn off) +routerrpc.aprioriweight=0.75 +# Set minimum desired savings of trying a cheaper path +# The (virtual) fixed cost in sats of a failed payment attempt (default: 100) +routerrpc.attemptcost=10 +# The (virtual) proportional cost in ppm of the total amount of a failed payment +# attempt (default: 1000) +routerrpc.attemptcostppm=10 +# Set the number of historical routing records +routerrpc.maxmchistory=10000 +# Set the min confidence in a path worth trying +routerrpc.minrtprob=0.005 +# Set the time to forget past routing failures +routerrpc.penaltyhalflife=6h0m0s + +######################## +# Compact the database # +######################## +# best to use on demand, can take several minutes +[bolt] +# Whether the databases used within lnd should automatically be compacted on +# every startup (and if the database has the configured minimum age). This is +# disabled by default because it requires additional disk space to be available +# during the compaction that is freed afterwards. In general compaction leads to +# smaller database files. +# db.bolt.auto-compact=true +# How long ago the last compaction of a database file must be for it to be +# considered for auto compaction again. Can be set to 0 to compact on every +# startup. (default: 168h) +# db.bolt.auto-compact-min-age=0 + +[Bitcoin] +bitcoin.active=1 +bitcoin.node=bitcoind +# enable either testnet or mainnet +#bitcoin.testnet=1 +bitcoin.mainnet=1 + +[Bitcoind] +bitcoind.rpcuser=RPC_USER +bitcoind.rpcpass=RPC_PASSWORD +bitcoind.rpchost=127.0.0.1 +bitcoind.zmqpubrawblock=tcp://*:28332 +bitcoind.zmqpubrawtx=tcp://*:28333 +bitcoind.estimatemode=ECONOMICAL + +[Wtclient] +wtclient.active=1 + +[Watchtower] +watchtower.active=1 + +[Tor] +tor.password=PASSWORD_B +``` + +Es necesario reiniciar LND para usar la nueva configuración. + +```text +sudo systemctl restart lnd +``` + diff --git a/docs/es/advanced-tools/pool.md b/docs/es/advanced-tools/pool.md new file mode 100644 index 0000000..2f85ff4 --- /dev/null +++ b/docs/es/advanced-tools/pool.md @@ -0,0 +1,127 @@ +# Notas de uso de Lightning Pool + +Lea la [documentación](https://pool.lightning.engineering/) y los [siguientes recursos](pool.md#resources). + +Mejor lugar para encontrar comandos y palabras clave: [https://lightning.engineering/poolapi](https://lightning.engineering/poolapi) + +Siga [https://twitter.com/LightningPool](https://twitter.com/LightningPool) para obtener una lista \(no oficial\) de lotes anteriores y contenido seleccionado. + +El script de instalación de Lightning Pool para RaspiBlitz está [en este PR](https://github.com/rootzoll/raspiblitz/pull/1739): + +```text +# descargar +wget https://raw.githubusercontent.com/openoms/raspiblitz/pool/home.admin/config.scripts/bonus.pool.sh +# ver el script +cat bonus.pool.sh +# instalar +bash bonus.pool.sh on +``` + +## clearing\_price\_rate + +Tasa de compensación uniforme en partes por billón\(US\) del lote. Equivale a la oferta más baja incluida en el lote. + +## ratings + +Devuelve el "Node Tier" de un nodo e información adicional. + +Por defecto los nodos listados en la [Bos Score list](bosscore.md) se utilizan para completar los bids \(ofertas\) y se conocen como "TIER\_1" en los ratings. Se seleccionan de acuerdo a: tiempo de actividad, capacidad de entrada, historial, actualizaciones de los canales y capacidad de enrutar activamente \(mediante sondeo\). + +* Verifique el rating de un nodo público: + + ```text + pool auction ratings [NODE_PUBKEY] + ``` + +* Verifique el rating de un nodo local: + + ```text + $ pool auc r $(lncli getinfo|grep "identity"|cut -d'"' -f4) + { + "node_ratings": [ + { + "node_pubkey": "REDACTED_NODE_PUBKEY", + "node_tier": "TIER_1" + } + ] + } + ``` + +* Un comprador de canal \(Taker\) puede especificar un bid \(oferta\) para aceptar todos los "tiers" con `--min_node_tier 0` + + ```text + --min_node_tier value the min node tier this bid should be matched with, tier 1 nodes are considered 'good', if set to tier 0, then all nodes will be considered regardless of 'quality' (default: 0) + ``` + +## nextbatchinfo + +Devuelve información sobre el próximo lote que se subastará. + +Muestra: + +* `fee_rate_sat_per_kw`: cuál será el límite de la tasa objetivo +* `clear_timestamp`: el timestamp en el que se intetará la compensación próximo bloque + +`$ pool auction nextbatchinfo` + +Ejemplo: + +```text +{ + "conf_target": 35, + "fee_rate_sat_per_kw": "27714", + "clear_timestamp": "1604406782" +} +``` + +Para que su orden sea incluida en el siguiente lote el `fee_rate_sat_per_kw` debe estar por encima del valor de corte. + +Consulte el `fee_rate_sat_per_kw` de sus ordenes con: + +```text +$ pool orders list | grep fee_rate_sat_per_kw +``` + +## auction snapshot + +Devuelve información sobre un lote anterior, entre otros, el precio de compensación y las órdenes incluidas en el lote. El campo prev\_batch\_id se puede usar para explorar lotes anteriores de forma similar a una blockchain. + +Obtener información del último lote: `$ pool auction snapshot` + +consultar lotes anteriores recursivamente: + +```text +# get the previous batch id +prev_batch_id=$(pool auc s |jq -r '.prev_batch_id') + +# show the prior batch (just repeat the line to show the past batches) +prev_batch_id=$(pool auc s --batch_id $prev_batch_id|jq -r '.prev_batch_id') && pool auc s --batch_id $prev_batch_id + +# show only the clearing price of the prior batch recursively: +prev_batch_id=$(pool auc s --batch_id $prev_batch_id|jq -r '.prev_batch_id') && pool auc s --batch_id $prev_batch_id|jq -r '.clearing_price_rate' +``` + +Busque el txid de un lote en [http://1ml.com](http://1ml.com) después de que se confirme \(canales abiertos y publicados\) para ver los detalles de los canales e involucrados. [https://twitter.com/openoms/status/1326482404224229376](https://twitter.com/openoms/status/1326482404224229376) + +## logs + +Monitoree los logs del Pool en: `/home/pool/.pool/logs/mainnet/poold.log` + +Example: + +```text +tail -f -n 1000 /home/pool/.pool/logs/mainnet/poold.log +``` + +## Recursos + +* Documentación: [https://pool.lightning.engineering/](https://pool.lightning.engineering/) +* Código fuente: [https://github.com/lightninglabs/pool](https://github.com/lightninglabs/pool) +* API: [https://lightning.engineering/poolapi](https://lightning.engineering/poolapi) +* Información no oficial en Twitter: [https://twitter.com/LightningPool](https://twitter.com/LightningPool) +* Wiki de Lightning: [https://lightningwiki.net/index.php/Lightning\_Pool](https://lightningwiki.net/index.php/Lightning_Pool) +* Hilo del release de Pool por @roasbeef : [https://twitter.com/roasbeef/status/1323299990916063232](https://twitter.com/roasbeef/status/1323299990916063232) +* Boletín de noticias de LNmarkets acerca de Pool: [https://lnmarkets.substack.com/p/15-november-9th-2020](https://lnmarkets.substack.com/p/15-november-9th-2020) +* Artículo con análisis técnico: [https://lightning.engineering/posts/2020-11-02-pool-deep-dive/](https://lightning.engineering/posts/2020-11-02-pool-deep-dive/) +* Whitepaper: [https://lightning.engineering/lightning-pool-whitepaper.pdf](https://lightning.engineering/lightning-pool-whitepaper.pdf) + diff --git a/docs/es/advanced-tools/watchtower.md b/docs/es/advanced-tools/watchtower.md new file mode 100644 index 0000000..c5a9207 --- /dev/null +++ b/docs/es/advanced-tools/watchtower.md @@ -0,0 +1,254 @@ +# Configurar un Watchtower y un Cliente en la red Lightning + +Un watchtower monitorea la blockchain de bitcoin para detectar transacciones que intenten robarle cerrando un canal con un estado anterior inválido. Si se encuentra una infracción el watchtower transmite inmediatamente una transacción de castigo que mueve todos los fondos del canal a una billetera on-chain. + +Si hay dos nodos bajo su control desde lnd v0.7.0, puede configurarlos para que se vigilen entre sí. Es mejor hacerlo con nodos en dos ubicaciones físicas separadas para reducir el riesgo de pérdida de conexión. + +## Actualizar lnd + +Ver [https://github.com/lightningnetwork/lnd/releases/](https://github.com/lightningnetwork/lnd/releases/) para obtener la última versión y sus notas correspondientes. Actualice [manualmente](https://github.com/lightningnetwork/lnd/blob/master/docs/INSTALL.md#installing-lnd) o use un [script automatizado](https://github.com/openoms/lightning-node-management/blob/en/technicals/lnd.updates.md) para actualizar lnd en un RaspiBlitz o un sistema compatible. + +## Configurar el Watchtower + +Ejecute los siguientes comandos en la terminal del nodo + +`#` significa `$ sudo` + +* Edite el lnd.conf: + + `# nano /mnt/hdd/lnd/lnd.conf` + +* inserte las siguientes líneas al final del archivo: + + ```text + [Watchtower] + watchtower.active=1 + ``` + + * de forma predeterminada el watchtower escucha en el puerto 9911 pero se puede configurar en cualquier otro utilizando `watchtower.listen = 0.0.0.0: PORT` en el archivo de configuración. + * La dirección IP `0.0.0.0` se usa para aceptar conexiones desde cualquier lugar \(configuración predeterminada\) + +* habilite el puerto a través del firewall: `# ufw allow 9911 comment "watchtower"` `# ufw enable` +* reinicie lnd `# systemctl restart lnd` +* redireccione el puerto 9911 en el router +* Verifique en el log si el servicio está funcionando: + `# tail -n 10000 /mnt/hdd/lnd/logs/bitcoin/mainnet/lnd.log` + + Ejemplo del log: + + ```text + 2019-06-21 09:08:58.544 [INF] WTWR: Starting watchtower + 2019-06-21 09:08:58.544 [INF] WTWR: Starting lookout + 2019-06-21 09:08:58.544 [INF] WTWR: Starting lookout from chain tip + 2019-06-21 09:08:58.544 [INF] WTWR: Lookout started successfully + 2019-06-21 09:08:58.545 [INF] WTWR: Starting watchtower server + 2019-06-21 09:08:58.544 [INF] DISC: Attempting to bootstrap with: Authenticated Channel Graph + 2019-06-21 09:08:58.545 [INF] CMGR: Server listening on 127.0.0.1:9911 + 2019-06-21 09:08:58.545 [INF] NTFN: New block epoch subscription + 2019-06-21 09:08:58.545 [INF] WTWR: Watchtower server started successfully + 2019-06-21 09:08:58.546 [INF] WTWR: Watchtower started successfully + 2019-06-21 09:08:58.547 [INF] CHBU: Swapping old multi backup file from /home/bitcoin/.lnd/data/chain/bitcoin/mainnet/temp-dont-use.backup to /home/bitcoin/.lnd/data/chain/bitcoin/mainnet/channel.backup + 2019-06-21 09:08:58.575 [INF] DISC: Obtained 3 addrs to bootstrap network + 2019-06-21 13:10:27.014 [INF] WTWR: Watchtower started successfully + 2019-06-21 13:14:50.743 [INF] WTWR: Accepted incoming peer 02b5792e533ad17fc77db13093ad84ea304c5069018f97083e3a8c6a2eac95a63f@171.25.193.25:34413 + 2019-06-21 13:14:51.074 [INF] WTWR: Accepted session for 02b5792e533ad17fc77db13093ad84ea304c5069018f97083e3a8c6a2eac95a63f + 2019-06-21 13:14:51.074 [INF] WTWR: Releasing incoming peer 02b5792e533ad17fc77db13093ad84ea304c5069018f97083e3a8c6a2eac95a63f@171.25.193.25:34413 + ``` + + Filtre los mensajes relevantes con \(presione CTRL+C para salir\): + `# tail -f -n 10000 /mnt/hdd/lnd/logs/bitcoin/mainnet/lnd.log | grep WTWR` + +* Consulte el `pubkey` con: + `$ lncli tower info` + + El pubkey del watchtower es distinto del pubkey del nodo lnd. + +## Configurar el nodo a monitorear \(el cliente watchtower\) + +* \[LND v0.8.0+\] Registre uno o mas watchtower\(s\): + * Edite lnd.conf: + + `# nano /mnt/hdd/lnd/lnd.conf` + + * inserte las siguientes líneas al final del archivo: + + ```text + [Wtclient] + wtclient.active=1 + ``` + + Agregue un watchtower desde la consola \(puede agregar varios, uno por uno\): + + ```text + $ lncli wtclient add @:9911 + ``` + + * Use el `watchtower-pubkey` anotado anteriormente con `$ lncli tower info`. + * Para un cliente clearnet, el `host` debe ser la IP clearnet \(o dynamicDNS\) del watchtower, incluso si este se ejecuta a través de Tor. +* Reinicie lnd `# systemctl restart lnd` +* Verifique en el log si el servicio está funcionando: + `# tail -n 100 /mnt/hdd/lnd/logs/bitcoin/mainnet/lnd.log` + + Ejemplo del log: + + ```text + 2019-06-21 14:14:50.785 [DBG] WTCL: Sending Init to 02a4c564af0f33795b438e8d76d2b5057c3dcd1115be144c3fc05e7c8c65486f23@:9911 + 2019-06-21 14:14:51.098 [DBG] WTCL: Received Init from 02a4c564af0f33795b438e8d76d2b5057c3dcd1115be144c3fc05e7c8c65486f23@:9911 + 2019-06-21 14:14:51.105 [DBG] WTCL: Sending MsgCreateSession(blob_type=[FlagCommitOutputs|No-FlagReward], max_updates=1024 reward_base=0 reward_rate=0 sweep_fee_rate=12000) to 02a4c564af0f33795b438e8d76d2b5057c3dcd1115be144c3fc05e7c8c65486f23@:9911 + 2019-06-21 14:14:51.299 [DBG] WTCL: Received MsgCreateSessionReply(code=0) from 02a4c564af0f33795b438e8d76d2b5057c3dcd1115be144c3fc05e7c8c65486f23@:9911 + 2019-06-21 14:14:51.315 [DBG] WTCL: New session negotiated with 02a4c564af0f33795b438e8d76d2b5057c3dcd1115be144c3fc05e7c8c65486f23@:9911, policy: (blob-type=10 max-updates=1024 reward-rate=0 sweep-fee-rate=12000) + 2019-06-21 14:14:51.320 [INF] WTCL: Acquired new session with id=02b5792e533ad17fc77db13093ad84ea304c5069018f97083e3a8c6a2eac95a63f + 2019-06-21 14:14:51.322 [DBG] WTCL: Loaded next candidate session queue id=02b5792e533ad17fc77db13093ad84ea304c5069018f97083e3a8c6a2eac95a63f + 2019-06-21 14:15:16.588 [INF] WTCL: Client stats: tasks(received=0 accepted=0 ineligible=0) sessions(acquired=1 exhausted=0) + ``` + + Filtre los mensajes relevantes con: \(presione CTRL+C para salir\): + `# tail -f -n 10000 /mnt/hdd/lnd/logs/bitcoin/mainnet/lnd.log | grep WTCL` + + Para tener más información en el log, agregue la siguiente línea al archivo lnd.conf: + + ```text + debuglevel=WTWR=debug,WTCL=debug + ``` + + o ejecute el siguiente comando: + `lncli debuglevel --level=WTWR=debug,WTCL=debug` + + Ejemplo del log: + + ```text + 2019-07-29 15:26:51.386 [DBG] WTWR: Fetching block for (height=587633, hash=0000000000000000000b047fbe6d93c2af193249bdb864a99186914fc4b0b2c6) + 2019-07-29 15:26:52.192 [DBG] WTWR: Scanning 3007 transaction in block (height=587633, hash=0000000000000000000b047fbe6d93c2af193249bdb864a99186914fc4b0b2c6) for breaches + 2019-07-29 15:26:52.301 [DBG] WTWR: No breaches found in (height=587633, hash=0000000000000000000b047fbe6d93c2af193249bdb864a99186914fc4b0b2c6) + 2019-07-29 15:34:17.877 [DBG] WTWR: Fetching block for (height=587634, hash=00000000000000000010615b2c0b3c32cb4ebcb7eb0bd452812f5c48d0edad0c) + 2019-07-29 15:34:18.463 [DBG] WTWR: Scanning 2691 transaction in block (height=587634, hash=00000000000000000010615b2c0b3c32cb4ebcb7eb0bd452812f5c48d0edad0c) for breaches + 2019-07-29 15:34:18.619 [DBG] WTWR: No breaches found in (height=587634, hash=00000000000000000010615b2c0b3c32cb4ebcb7eb0bd452812f5c48d0edad0c) + ``` + + ¡Siéntese y disfrute que ahora no hay forma de engañar a su nodo incluso cuando está desconectado! + +## Configuración para nodos con Tor + +Ambos nodos \(el watchtower y el cliente lnd\) deben usar Tor para poder comunicarse. + +### Configuración de Tor Watchtower + +* Edite lnd.conf: + + `# nano /mnt/hdd/lnd/lnd.conf` + +* inserte las siguientes líneas al final del archivo: + + ```text + [Watchtower] + watchtower.active=1 + ``` + +* Edite el archivo de configuración de Tor del watchtower: + `# nano /etc/tor/torrc` + + agregue las siguientes líneas: + + ```text + # Hidden Service for incoming LND WatchTower connections + HiddenServiceDir /mnt/hdd/tor/lndWT9911 + HiddenServicePort 9911 127.0.0.1:9911 + ``` + +* reinicie Tor y lnd con systemctl: `# systemctl restart tor` y `# systemctl restart lnd` +* Consulte la dirección onion del watchtower ejecutando: `# cat /mnt/hdd/tor/lndWT9911/hostname` +* Consulte el pubkey del watchtower \(`watchtower-pubkey`\) con `$ lncli tower info` +* Filtre los mensajes relevantes con \(CTRL+C para salir\): + `# tail -f -n 10000 /mnt/hdd/lnd/logs/bitcoin/mainnet/lnd.log | grep WTWR` + + Ejemplo del log del watchtower: + + ```text + 2019-08-20 11:26:30.555 [INF] WTWR: Accepted incoming peer WTCLIENT_PUBKEY@127.0.0.1:57264 + 2019-08-20 11:26:30.558 [DBG] WTWR: Received Init from WTCLIENT_PUBKEY@127.0.0.1:57264 + 2019-08-20 11:26:30.565 [DBG] WTWR: Sending Init to WTCLIENT_PUBKEY@127.0.0.1:57264 + 2019-08-20 11:26:30.931 [DBG] WTWR: Received MsgCreateSession(blob_type=[FlagCommitOutputs|No-FlagReward], max_updates=1024 reward_base=0 reward_rate=0 sweep_fee_rate=2500) from WTCLIENT_PUBKEY@127.0.0.1:57264 + 2019-08-20 11:26:30.968 [INF] WTWR: Accepted session for WTCLIENT_PUBKEY + 2019-08-20 11:26:30.968 [DBG] WTWR: Sending MsgCreateSessionReply(code=0) to WTCLIENT_PUBKEY@127.0.0.1:57264 + 2019-08-20 11:26:30.981 [INF] WTWR: Releasing incoming peer WTCLIENT_PUBKEY@127.0.0.1:57264 + 2019-08-20 11:27:27.260 [DBG] WTWR: Fetching block for (height=590941, hash=000000000000000000069b8d2739cb8736cc6a14927d760a7b7dfa47e1e5059e) + 2019-08-20 11:27:28.464 [DBG] WTWR: Scanning 3621 transaction in block (height=590941, hash=000000000000000000069b8d2739cb8736cc6a14927d760a7b7dfa47e1e5059e) for breaches + 2019-08-20 11:27:28.729 [DBG] WTWR: No breaches found in (height=590941, hash=000000000000000000069b8d2739cb8736cc6a14927d760a7b7dfa47e1e5059e) + ``` + +### Configuración del cliente Tor Watchtower + +* \[LND v0.8.0+\] Registre uno o mas watchtower\(s\): + * Edite lnd.conf: + + `# nano /mnt/hdd/lnd/lnd.conf` + + * inserte las siguientes líneas al final del archivo: + + ```text + [Wtclient] + wtclient.active=1 + ``` + + * Agregue un watchtower desde la consola \(puede agregar varios, uno por uno\): + + ```text + $ lncli wtclient add 02b745aa2c27881f2494978fe76494137f86fef6754e5fd19313670a5bc639ea82@xjyldrwmtxtutdqqhgvxvnykk4ophz6ygr3ci4gxnnt5wibl7k4g2vad.onion:9911 + ``` + + * Los detalles de un nodo de prueba están precargados. Recibe conexiones pero no hay garantía de que este servicio permanezca conectado. + * Utilice el `watchtower-pubkey` que se indicó anteriormente de `$ lncli tower info`. + * El host es la dirección .onion del watchtower anotada anteriormente de: `# cat /mnt/hdd/tor/lndWT9911/hostname` +* reinicie lnd con systemctl: `# systemctl restart lnd` +* Verifique qué watchtowers están escuchando: + `$ lncli wtclient towers` + + Ejemplo: + + ```text + { + "towers": [ + { + "pubkey": "02b745aa2c27881f2494978fe76494137f86fef6754e5fd19313670a5bc639ea82", + "addresses": [ + "xjyldrwmtxtutdqqhgvxvnykk4ophz6ygr3ci4gxnnt5wibl7k4g2vad.onion:9911" + ], + "active_session_candidate": true, + "num_sessions": 0, + "sessions": [] + } + ] + } + ``` + +* Filtre los mensajes relevantes con \(CTRL+C para salir\): + `# tail -f -n 10000 /mnt/hdd/lnd/logs/bitcoin/mainnet/lnd.log | grep WTCL` + + Ejemplo del log del cliente: + + ```text + 2019-07-26 10:30:08.041 [INF] WTCL: Client stats: tasks(received=8 accepted=8 ineligible=0) sessions(acquired=0 exhausted=0) + 2019-07-26 10:30:34.105 [DBG] WTCL: Processing backup(8fd5d5dc97fc6e52da36bd527357a9c87f2a2529379f9f50241e35ab0c95c404, 6315) + 2019-07-26 10:30:34.106 [DBG] WTCL: SessionQueue(026d7b4f4fd7dcdb5a2acce00a8d1cca5bbaeb7e9d89a30ded7d4b62b7b50b3399) deciding to accept backup(8fd5d5dc97fc6e52da36bd527357a9c87f2a2529379f9f50241e35ab0c95c404, 6315) seqnum=0 pending=8 max-updates=1024 + 2019-07-26 10:30:34.108 [INF] WTCL: Queued backup(8fd5d5dc97fc6e52da36bd527357a9c87f2a2529379f9f50241e35ab0c95c404, 6315) successfully for session 026d7b4f4fd7dcdb5a2acce00a8d1cca5bbaeb7e9d89a30ded7d4b62b7b50b3399 + 2019-07-26 10:31:08.041 [INF] WTCL: Client stats: tasks(received=9 accepted=9 ineligible=0) sessions(acquired=0 exhausted=0) + ``` + +## Más información: + +[https://github.com/lightningnetwork/lnd/blob/master/docs/watchtower.md](https://github.com/lightningnetwork/lnd/blob/master/docs/watchtower.md) + +Últimas notas del release de lnd: [https://github.com/lightningnetwork/lnd/releases](https://github.com/lightningnetwork/lnd/releases) + +[https://thebitcoinnews.com/watchtowers-are-coming-to-lightning/](https://thebitcoinnews.com/watchtowers-are-coming-to-lightning/) + +[https://bitcoinops.org/en/newsletters/2019/06/19/](https://bitcoinops.org/en/newsletters/2019/06/19/) + +Will O\`Beirne muestra en este artículo \(y el repositorio de GitHub\) cómo demostrar una infracción y las acciones de un watchtower en una red simulada: [https://medium.com/@wbobeirne/testing-out-watchtowers-with-a-simulated-breach-f1ad22c01112](https://medium.com/@wbobeirne/testing-out-watchtowers-with-a-simulated-breach-f1ad22c01112) + +SLP83 Conner Fromknecht – Bitcoin Lightning Watchtowers in depth +podcast: [https://stephanlivera.com/episode/83](https://stephanlivera.com/episode/83) +transcripción: [http://diyhpl.us/wiki/transcripts/stephan-livera-podcast/2019-06-24-conner-fromknecht-stephan-livera/](http://diyhpl.us/wiki/transcripts/stephan-livera-podcast/2019-06-24-conner-fromknecht-stephan-livera/) + +Busque algunos watchtowers altruistas y comparta los suyos: [https://github.com/openoms/lightning-node-management/issues/4](https://github.com/openoms/lightning-node-management/issues/4) + diff --git a/docs/es/assets/BosScore1.png b/docs/es/assets/BosScore1.png new file mode 100644 index 0000000..985e1a5 Binary files /dev/null and b/docs/es/assets/BosScore1.png differ diff --git a/docs/es/assets/BosScore2.png b/docs/es/assets/BosScore2.png new file mode 100644 index 0000000..9d0b5bd Binary files /dev/null and b/docs/es/assets/BosScore2.png differ diff --git a/docs/es/assets/BosScore3.png b/docs/es/assets/BosScore3.png new file mode 100644 index 0000000..749118a Binary files /dev/null and b/docs/es/assets/BosScore3.png differ diff --git a/docs/es/assets/BosScore4.png b/docs/es/assets/BosScore4.png new file mode 100644 index 0000000..1ff43e6 Binary files /dev/null and b/docs/es/assets/BosScore4.png differ diff --git a/docs/es/assets/balancedChannel.jpg b/docs/es/assets/balancedChannel.jpg new file mode 100644 index 0000000..a17c103 Binary files /dev/null and b/docs/es/assets/balancedChannel.jpg differ diff --git a/docs/es/assets/btcpay.on-offchain.png b/docs/es/assets/btcpay.on-offchain.png new file mode 100644 index 0000000..fdf9d07 Binary files /dev/null and b/docs/es/assets/btcpay.on-offchain.png differ diff --git a/docs/es/assets/chanleakcheck.png b/docs/es/assets/chanleakcheck.png new file mode 100644 index 0000000..a11359b Binary files /dev/null and b/docs/es/assets/chanleakcheck.png differ diff --git a/docs/es/assets/laptoptweet.png b/docs/es/assets/laptoptweet.png new file mode 100644 index 0000000..e524f6b Binary files /dev/null and b/docs/es/assets/laptoptweet.png differ diff --git a/docs/es/assets/lnbig_fees.png b/docs/es/assets/lnbig_fees.png new file mode 100644 index 0000000..9b62f41 Binary files /dev/null and b/docs/es/assets/lnbig_fees.png differ diff --git a/docs/es/assets/nodehardware.png b/docs/es/assets/nodehardware.png new file mode 100644 index 0000000..02d5f6f Binary files /dev/null and b/docs/es/assets/nodehardware.png differ diff --git a/docs/es/assets/qrcode.lntxbot.png b/docs/es/assets/qrcode.lntxbot.png new file mode 100644 index 0000000..7299653 Binary files /dev/null and b/docs/es/assets/qrcode.lntxbot.png differ diff --git a/docs/es/assets/qrcode.sphinx.raspiblitz.png b/docs/es/assets/qrcode.sphinx.raspiblitz.png new file mode 100644 index 0000000..cc5424c Binary files /dev/null and b/docs/es/assets/qrcode.sphinx.raspiblitz.png differ diff --git a/docs/es/assets/qrcode.sphinxdm.jpg b/docs/es/assets/qrcode.sphinxdm.jpg new file mode 100644 index 0000000..02e0d4e Binary files /dev/null and b/docs/es/assets/qrcode.sphinxdm.jpg differ diff --git a/docs/es/assets/servertweet.png b/docs/es/assets/servertweet.png new file mode 100644 index 0000000..bd51125 Binary files /dev/null and b/docs/es/assets/servertweet.png differ diff --git a/docs/es/createinboundliquidity.md b/docs/es/createinboundliquidity.md new file mode 100644 index 0000000..be4da56 --- /dev/null +++ b/docs/es/createinboundliquidity.md @@ -0,0 +1,117 @@ +# Crear liquidez entrante + +Paga con Lightning y recibe "on-chain". + +Para crear liquidez entrante \(y poder recibir pagos en su canal\) se puede hacer un pago en una tienda y recibir un producto o enviar a un exchange que acepte Lightning y posteriormente enviar los satoshis "on-chain". + +Para comprar tarjetas de regalo con Lightning, ir a [Bitrefill \(referral link\)](https://www.bitrefill.com/buy/?code=XapbJJd8). + +## Billeteras no custodiadas + +Configure un nodo LN en su teléfono o computadora y envíe algunos fondos, de este modo se crea balance remoto \(liquidez entrante\). + +Ejemplos: + +* [Breez](https://breez.technology/) + Es una billetera móvil que crea un canal entrante de 1 millón de satoshis automáticamente, de esta forma, se pueden enviar fondos después de la configuración incial. + + Enviar fondos "on-chain" a una dirección de bitcoin cuesta 0.5% con [Boltz](https://boltz.exchange/) + +* [Phoenix](https://phoenix.acinq.co/) + + Crea un nodo Lightning en Android, iOS o escritorio. Los canales se administran manualmente o en piloto automático. + +* [Muun Wallet](https://muun.com/) + + Es una billetera Lightning multiplataforma fácil de usar + +## Billeteras custodiadas + +Paguese a usted mismo a través de LN y benefíciese de la liquidez entrante creada. + +El inconveniente principal con las billeteras custodiadas es que no se controlan las llaves privadas. + +Ejemplos: + +* [Tippin.me](https://tippin.me/) +* [Wallet of Satoshi](https://www.walletofsatoshi.com/) +* [Bluewallet](https://bluewallet.io/) + +## [Lightning Pool](https://pool.lightning.engineering/) + + +Compre canales entrantes en un "marketplace" abierto: [https://pool.lightning.engineering/](https://pool.lightning.engineering/) Notas de uso: [pool.md](advanced-tools/pool.md) + +## [Lightning Loop](https://github.com/lightninglabs/loop) + +Lightning Loop es un servicio no custodiado ofrecido por Lightning Labs hacer transacciones entre Bitcoin on-chain y off-chain mediante "submarine swaps". + +La versión actual soporta dos tipos de transacciones: + +* Loop Out: de off-chain a on-chain. El cliente hace un pago Lightning y recibe en dirección de Bitcoin. +* Loop In: de on-chain a off-chain. El cliente hace un pago on-chain a un canal Lightning. +* Cantidad máxima: 4 200 000 satoshis +* Ejemplo de uso para tener el costo más bajo \(tiempo de confirmación más largo \(alrededor de 25 bloques\) con una tasa de error más alta \(costo de enrutamiento máximo 500 satoshis\) - ajuste de acuerdo a su necesidad\): + + ```text + loop out [command options] amt [addr] + + # --channel valor the 8-byte compact channel ID of the channel to loop out (default: 0) + # --addr valor the optional address that the looped out funds should be sent to, if let blank the funds will go to lnd's wallet + # --amt valor the amount in satoshis to loop out (default: 0) + # --conf_target valor the number of blocks from the swap initiation height that the on-chain HTLC should be swept within (default: 6) + # --max_swap_routing_fee value the max off-chain swap routing fee in satoshis, if let blank a default max fee will be used (default: 0) + # --fast Indicate you want to swap immediately, paying potentially a higher fee. If not set the swap server might choose to wait up to 30 minutes before publishing the swap HTLC on-chain, to save on chain fees. Not setting this flag might result in a lower swap fee. + ``` + + [https://lightning.engineering/loopapi](https://lightning.engineering/loopapi) + +## [Microlancer.io](https://microlancer.io/services/?tag=%23lightning-network) + +Paga por canales de entrada. + +## [ChainMarket](https://chainmarket.etleneum.com/) + +Mercado para enviar desde Lightning a on-chain mediante transacciones en lote. Comisión: 0.5% + +## [Sats4Likes](https://kriptode.com/satsforlikes/index.html) + +Publica un anuncio y paga satoshis por canales de entrada. + +## [Boltz](https://boltz.exchange/) + +Exchange no custodiado. + +## [Bitfinex](https://bitfinex.com) + +Si no es usa fiat es un exchange que no necesita KYC, soporta depósitos Lightning \(gratis\) y retiros \(100 satoshis\). El retiro on-chain cuesta 40000 satoshis fijos. Detalle de sus nodos en [https://ln.bitfinex.com/](https://ln.bitfinex.com/) + +## [FixedFloat](https://fixedfloat.com/) + +Exchange de criptomonedas Lightning. Costo: 0.5 - 1% + +## [ZigZag.io](https://zigzag.io/) + +Exchange que acepta pagos Lightning. Max 4M satoshis. Comisión ~ 2% + +## [LightningTo.me](https://lightningto.me/) + + +Abre un canal gratuito con 2 000 000 satoshis. Necesita tener 10 canales abiertos para utilizar este servicio. Si se conecta usando Tor, agregue su nodo: +`$ lncli connect 03bb88ccc444534da7b5b64b4f7b15e1eccb18e102db0e400d4b9cfe93763aa26d@138.68.14.104:9735` + +## [LightningPowerUsers.com](https://lightningpowerusers.com/home/) + +Solicite capacidad de entrada por una pequeña tarifa. Tamaño de canal recomendado: entre 500 000 y 16 500 000 satoshis. + +## [Thor: Lightning Channel-Opening Service by Bitrefill.com](https://www.bitrefill.com/thor-lightning-network-channels/?hl=en) + +Pague con Lightning por un canal de entrada de hasta 16 000 000 satoshis. + +## [LNBIG.com](https://lnbig.com/#/open-channel) + +Permite comprar canales de entrada [https://twitter.com/lnbig\_com](https://twitter.com/lnbig_com) + +## [github.com/bitcoin-software/ln-liquidity](https://github.com/bitcoin-software/ln-liquidity) + +Lista de servicios que permiten cambiar entre Lightning <-> on-chain diff --git a/docs/es/createoutboundliquidity.md b/docs/es/createoutboundliquidity.md new file mode 100644 index 0000000..f1eea95 --- /dev/null +++ b/docs/es/createoutboundliquidity.md @@ -0,0 +1,23 @@ +# Crear liquidez saliente + +Crear liquidez saliente \(para poder enviar pagos\) es fácil, solo necesita abrir un canal a un nodo "bien conectado" y estable. + +Para recargar canales \(vacíos\) agotados, pague on-chain y reciba en Lightning. + +## [submarineswaps.org](https://submarineswaps.org/) + +Código en: [https://github.com/submarineswaps/swaps-service](https://github.com/submarineswaps/swaps-service) + +## [Lightning Loop](https://github.com/lightninglabs/loop) + +Loop In: de on-chain a off-chain, donde el cliente envía los fondos on-chain a un canal off-chain. + +## [golightning.club](https://golightning.club/) + +¡Envíe on-chain y reciba bitcoin a través de Lightning! Hasta 1000000 satoshis / 0.01 BTC. + +## [RedShift](https://ion.radar.tech/redshift) + +Transferencias "trustless" entre Lightning Network, la blockchain Bitcoin y cualquier crypto soportada \(BTC y ETH hasta el momento\). Envíe fondos on-chain y reciba en Lightning. + +## Ver mas servicios en: [CreateInboundLiquidity.md](createinboundliquidity.md) diff --git a/docs/es/donate/donations.md b/docs/es/donate/donations.md new file mode 100644 index 0000000..b9a4a22 --- /dev/null +++ b/docs/es/donate/donations.md @@ -0,0 +1,11 @@ +# Contacto y apoyo + +* Nostr NIP05: openoms@diynodes.com + `npub14tq8m9ggnnn2muytj9tdg0q6f26ef3snpd7ukyhvrxgq33vpnghs8shy62` + +* BTCPayServer auto-hospedado (LN + onchain con PayJoin): + [https://tips.diynodes.com](https://tips.diynodes.com) + +* Lightning Address: openoms@pay.diynodes.com + +* Blink Wallet: openoms@blink.sv diff --git a/docs/es/index.md b/docs/es/index.md new file mode 100644 index 0000000..a577ae9 --- /dev/null +++ b/docs/es/index.md @@ -0,0 +1,304 @@ +# General + +## Conexiones \(peer\) y Canales + +* Los 'Peers' son nodos conectados entre si a través de internet \(TCP/IP\). +* Un canal hace referencia a un "canal de pago" establecido entre dos nodos \(peers\) de la red Lightning. +* Para abrir un canal primero se debe establecer una conexión entre nodos \(peers\). +* Se puede establecer una conexión automática con nodos de acceso público. +* Si uno de los nodos no es de acceso público, la conexión entre las partes debe iniciarse manualmente desde el nodo privado, incluso si el nodo de acceso público está abriendo el canal. + +## Recibir pagos + +Para poder recibir pagos en la red Lightning, un nodo necesita: + +* "liquidez entrante" \(balance remoto\), es decir, se requiren algunos satoshis en el otro lado del canal. +* un canal a un nodo "bien conectado" o un canal directo desde el nodo que paga. Esto asegura que exista una ruta de pago viable. + +La cantidad máxima permitida para un pago está determinada por la "liquidez entrante" más alta de un canal en la ruta de pago \(no es acumulable entre canales \). + +## Tamaño del canal y elección de nodos \(peers\) + +* No hay un número sugerido, pero en general se recomienda evitar la apertura de canales con menos 200K-500K sats. +* [https://1ml.com/statistics](https://1ml.com/statistics) muestra el tamaño promedio por canal en la red: + + 0.028 BTC = 2 800 000 satoshis \(28 Mayo 2019\). + +* Un canal demasiado pequeño podría resultar en que no se pueda cerrar cuando los costos por transacción "on-chain" estén altos. Esto dejará al canal vulnerable si la contraparte intenta cerrar con un estado previo \(los fondos en el canal podrían ser robados \). +* El tamaño máximo del un pago directo o enrutado está determinado por la liquidez direccional más alta de un solo canal en la ruta de pago \(no acumulable entre canales \). +* Un canal grande a un nodo estable y "bien conectado" es más útil que muchos pequeños. +* Es recomendado conectarse a nodos donde el operador pueda ser contactado en caso de un problema. +* Elija un nodo que conozca o uno de la siguiente lista: [https://1ml.com/node?order=nodeconnectednodecount](https://1ml.com/node?order=nodeconnectednodecount) +* Recomendaciones si su nodo es público: [https://moneni.com/nodematch](https://moneni.com/nodematch) + +## Costos "On-chain" bitcoin + +* Abrir o cerrar un canal Lightning es una transacción "on-chain" bitcoin \(visible/hecha en la blockchain \) +* El tiempo de confirmación depende del estado de la "mempool" de bitcoin \([https://jochen-hoenicke.de/queue/\#0,24h](https://jochen-hoenicke.de/queue/#0,24h)\) y de los sats/byte usados para pagar los costos de transacción \([https://bitcoinfees.earn.com/](https://bitcoinfees.earn.com/)\). +* Verificar [https://whatthefee.io/](https://whatthefee.io/) para obtener una estimación de confirmación de acuerdo al tiempo/costo. +* Use un costo personalizado y elija el número más bajo de acuerdo a un tiempo de confirmación aceptable. +* Los costos pagados deben cubrir al menos 141 bytes, sin embargo, este número suele ser mayor dependiendo de las entradas \(en la transacción\), "script" y cantidad de firmas. +* Aprenda qué hacer en un [entorno de costos "on-chain" altos](technicals/highonchainfees.md) + +## Nodos Tor + +Tor es una red "anonimizada" diseñada para ocultar la dirección IP de los participantes. Algo similar a usar una VPN pero con "varios saltos". Más información en: [https://es.wikipedia.org/wiki/Tor\_\(red\_de\_anonimato\)](https://es.wikipedia.org/wiki/Tor_%28red_de_anonimato%29) + +* Un nodo Lightning "detrás" de Tor puede conectarse y abrir un canal con cualquier otro nodo. +* Los nodos corriendo en "clearnet" no pueden ver "detrás" de Tor. +* Un nodo corriendo en "clearnet" debe ser agregado primero por el nodo "detrás" de Tor para poder abrir un canal. +* Una vez se crea el canal, la conexión persistirá, sin embargo, si se reinicia alguno de los nodos es posible que tarde un poco en reestablecerse la conexión. +* Si ambos nodos se reinician al mismo tiempo o si la dirección IP del nodo en la "clearnet" cambia mientras ambos están fuera de línea, la conexión debe agregarse manualmente nuevamente. + +## Pagos enrutados + +* Imagine un nodo `B` en una conexión en serie `A`-`B`-`C`. +* Los canales de `B` están configurados para que haya capacidad de entrada \(balance remoto\) desde `A` y capacidad de salida \(balance local\) a `C`. +* Si "A" quiere hacer un pago a "C", habrá 1 nodo intermedio \(o 1 salto\) en la ruta. +* Internamente: `A` envía los satoshis a `B` \(nodo de enrutamiento\) y este pagará a `C`. +* La capacidad de los canales no cambia, solo "se mueve". +* El pago solo puede realizarse si se puede enviar una "imagen hash" \(un mensaje\) desde el destino. +* El proceso es "todo o nada", el pago no se puede "atascar" en un nodo intermedio. + +## Canal privado + +* mejor conocido como canal "no anunciado" +* no será publicado en el "grafo de canales" \(red gossip\) +* más útil para enviar pagos +* para recibir pagos es necesario tener un "route hint" \(pista de ruta\) incluida en la factura: + + `lncli addinvoice --private` + +* el "route hint" es el identificador de la transacción de financiación \(expone el canal a cualquiera que conozca la factura\) +* es posible recibir pagos "keysend" si se conoce el "route hint" +* no enruta pagos \(a menos que se use en paralelo con un canal público al mismo nodo, también conocido como liquidez en la sombra\) + +## Costos de enrutamiento de la red Lightning + +### Configuración avanzada y automatizada de costos: [fees.md](advanced-tools/fees.md) + +A diferencia de las transacciones "on-chain" \(donde los costos de transacción se pagan por los bytes que ocupa la transacción en un bloque \), los costos en la red Lightning están relacionados con la cantidad enrutada. Hay dos componentes de tarifa: + +* costo base \(base\_fee\_msat\). El valor por defecto es 1000 milisat, es decir, 1 satoshi por cada pago enrutado. +* el costo proporcional \(fee\_rate\). El valor por defecto en lnd es 0.000001 BTC, es decir, se cobra 1 satoshi adicional por cada millón de satoshis enrutado. + +No hay costo por transacción para pagos en un canal directo entre dos nodos. + +Para cambiar los costos de enrutamiento de su nodo, use lo siguiente: [https://api.lightning.community/\#updatechannelpolicy](https://api.lightning.community/#updatechannelpolicy) + +* Puede reducir el costo base a 500 msat y aumentar la tarifa proporcional a 100ppm/0.01% con este comando: `$ lncli updatechanpolicy 500 0.0001 144` +* La configuración por defecto es \(1 sat por pago + 1 ppm/0.0001%\): `$ lncli updatechanpolicy 1000 0.000001 144` + +En caso de que se enruten pagos a través de un canal "costoso" es importante aumentar la tarifa de enrutamiento para poder pagar el rebalanceo o cierre del canal. Verifique las tarifas de enrutamiento en [1ml.com](https://1ml.com/) o en [lndmanage](./#lndmanage). + +Configurar costos para canales individuales solo requiere un clic en el [app RTL](./#RTL---Ride-The-Lightning). + +## Watchtowers +Leer más sobre cómo configurar uno en [watchtower.md](advanced-tools/watchtower.md). + +## Liquidez + +Lea las ideas básicas de Alex Bosworth: [https://github.com/alexbosworth/run-lnd/blob/master/LIQUIDITY.md](https://github.com/alexbosworth/run-lnd/blob/master/LIQUIDITY.md) + +## Crear liquidez entrante \(Inbound\) + +Paga con Lightning y recibe "on-chain". Ver lista de recomendaciones [CreateInboundLiquidity.md](createinboundliquidity.md) + +## Crear liquidez saliente \(Outbound\) + +Abra canales o pague "on-chain" y reciba en la red Lightning. Ver lista de recomendaciones [CreateOutboundLiquidity.md](createoutboundliquidity.md) + +## Administración de canales + +Para maximizar la capacidad de enrutar pagos es mejor balancear los canales con fondos en ambos lados \(permite tráfico bidireccional\). + +### [Balance of Satoshis](https://github.com/alexbosworth/balanceofsatoshis) + +Es una herramienta con multiples funciones para trabajar con balances LND. Tiene una funcionalidad experimental para conectarse a un bot en Telegram y notificar la actividad del nodo. + +* [Instrucciones de instalación RaspiBlitz](https://gist.github.com/openoms/823f99d1ab6e1d53285e489f7ba38602) +* Para ver cómo usar el comando rebalance ejecute: `bos help rebalance` + +### [CLBOSS administrador de nodos C-Lightning](https://github.com/ZmnSCPxj/clboss) + +Es un administrador automatizado para nodos de reenvío C-Lightning + +### [lndmanage](https://github.com/bitromortac/lndmanage) + +Es una herramienta de consola, escrita en python, para la administración avanzada de canales de un nodo LND. + +* Instalar con: + + ```bash + # activate virtual environment + sudo apt install -y python3-venv + python3 -m venv venv + source venv/bin/activate + # get dependencies + sudo apt install -y python3-dev libatlas-base-dev + pip3 install wheel + python3 -m pip install lndmanage + ``` + +* Iniciar modo interactivo \(hacer esto cada vez\): + + ```bash + $ source venv/bin/activate + (venv) $ lndmanage + ``` + +* Mostrar el estado de los canales: + + ```bash + $ lndmanage status + $ lndmanage listchannels rebalance + ``` + + +* Ejemplo de rebalanceo: + + ```bash + $ lndmanage rebalance --max-fee-sat 20 --max-fee-rate 0.0001 CHANNEL_ID --reckless + ``` + +### [rebalance-lnd](https://github.com/C-Otto/rebalance-lnd) + +Este script de Python permite reequilibrar fácilmente los canales individuales un nodo lnd. + +* Para instalar ejecutar los siguiente en la terminal del nodo lnd: + + ```bash + $ git clone https://github.com/C-Otto/rebalance-lnd + $ cd rebalance-lnd + $ pip install -r requirements.txt + ``` + +* Modo de uso \(más opciones en el [readme](https://github.com/C-Otto/rebalance-lnd/blob/master/README.md#usage)\): + + ```bash + $ python rebalance.py -t -f -a + ``` + +### [Métodos para crear un canal balanceado con un nodo de confianza](advanced-tools/balancedchannelcreation.md) + +* Realice un intercambio de confianza entre "on-chain" y "off-chain". +* Abra un canal balanceado y con doble financiación con un nodo de confianza utilizando el comando que requiere una transacción Lightning y una "on-chain". + +## Software de monitoreo + +### [RTL - Ride The Lightning](https://github.com/ShahanaFarooqui/RTL) + +RTL es una interfaz web para Lightning Network Daemon\(LND\). Destinado a ser utilizado en una red local. Los métodos de conexión disponibles son [HTTPS](https://github.com/openoms/bitcoin-tutorials/tree/master/nginx) o [Tor](https://github.com/Ride-The-Lightning/RTL/blob/master/docs/RTL_TOR_setup.md). + +[https://medium.com/@suheb\_\_/how-to-ride-the-lightning-447af999dcd2](mailto:https://medium.com/@suheb__/how-to-ride-the-lightning-447af999dcd2) + +### [ThunderHub](https://www.thunderhub.io/) + +Un administrador para nodos Lightning LND en su navegador. + +* [Instrucciones de instalación en RaspiBlitz](https://gist.github.com/openoms/8ba963915c786ce01892f2c9fa2707bc) + +### [ZeusLN](https://zeusln.app/) + +Aplicación móvil \(Android e iOS\) para operadores de nodos Lightning Network Daemon \(lnd\). Se conecta a través del API REST \(puerto 8080 o [Tor](https://github.com/openoms/bitcoin-tutorials/blob/master/Zeus_to_RaspiBlitz_through_Tor.md)\) + +### [Zap](https://zap.jackmallers.com/) + +Billetera Lightning de escritorio y móvil \(iOS y Android\), puede conectarse a su nodo LND de forma remota a través de la interfaz GRPC \(puerto 10009\) + +### [Joule](https://lightningjoule.com/) + +Trae el poder de Lightning a la web con pagos e identidad en el navegador, todo con su propio nodo. [https://medium.com/lightning-power-users/bitcoin-lightning-joule-chrome-extension-ac149bb05cb9](https://medium.com/lightning-power-users/bitcoin-lightning-joule-chrome-extension-ac149bb05cb9) + +### [lndash](https://github.com/djmelik/lndash) + +lndash es un dashboard web \(simple\) de solo lectura para lnd - Lightning Network Daemon. Demo: [https://lightninglayer.com/](https://lightninglayer.com/) + +Características: + +* Vista de nodos \(peers\) +* Vista de canales +* Vista de eventos Forwarding \(pagos enrutados\) +* Herramienta Looking Glass \(ruta/búsqueda de ruta\) +* Grafo de la red Lightning + +### [lntop](https://github.com/edouardparis/lntop) + +lntop es un visor de canales, en modo texto, para sistemas Unix. + +### [lnd-admin](https://github.com/janoside/lnd-admin) + +Interfaz web de administración para LND a través de gRPC. Hecho en Node.js, express, bootstrap-v4. Demo: [https://lnd-admin.chaintools.io/](https://lnd-admin.chaintools.io/) + +### [lndmon](https://github.com/lightninglabs/lndmon) + +Solución de monitoreo para nodos lnd utilizando Prometheus y Grafana. [https://blog.lightning.engineering/posts/2019/07/24/lndmon-v0.1.html](https://blog.lightning.engineering/posts/2019/07/24/lndmon-v0.1.html) + +### [Spark wallet for C-Lightning](https://github.com/shesek/spark-wallet) + +Spark es una billetera minimalista para c-lightning. Es accesible a través de la web o mediante aplicaciones móviles y de escritorio \(para Android, Linux, macOS y Windows\). Actualmente está orientado a usuarios técnicos y no es un paquete "todo en uno", es mas una interfaz de "control remoto" para un nodo c-lightning que debe administrarse por separado. + +## Exploradores de la red Lightning + +* [1ml.com](https://1ml.com/) +* [explorer.acinq.co](https://explorer.acinq.co/) +* [amboss.space](https://amboss.space/) +* [ln.fiatjaf.com](https://ln.fiatjaf.com) + +## Recursos + +* Guía del constructor de LND \(Mejores prácticas\) + + [docs.lightning.engineering/advanced-best-practices/advanced-best-practices-overview/channels](https://docs.lightning.engineering/advanced-best-practices/advanced-best-practices-overview/channels) + +* Una revisión conceptual de la red Lightning: + + [dev.lightning.community/overview/index.html\#lightning-network](https://dev.lightning.community/overview/index.html#lightning-network) + +* Documentación de referencia del API gRPC para LND + + [api.lightning.community](https://api.lightning.community) + +* [medium.com/lightningto-me/practical-solutions-to-inbound-capacity-problem-in-lightning-network-60224aa13393](https://medium.com/lightningto-me/practical-solutions-to-inbound-capacity-problem-in-lightning-network-60224aa13393) +* [lightningwiki.net](https://lightningwiki.net) +* [satbase.org](https://satbase.org) +* Lista de ¿Cómo obtener liquidez rápidamente? + [github.com/rootzoll/raspiblitz/issues/395](https://github.com/rootzoll/raspiblitz/issues/395) + +* Lista de recursos, aplicaciones y librerias Lightning + [github.com/bcongdon/awesome-lightning-network](https://github.com/bcongdon/awesome-lightning-network) + +* Lista de recursos de Lightning de Jameson Lopp + [lightning.how](https://lightning.how) + +* [wiki.ion.radar.tech/tutorials/troubleshooting/bootstrapping-channels](https://wiki.ion.radar.tech/tutorials/troubleshooting/bootstrapping-channels) + +### Enrutamiento + +* [blog.lightning.engineering/posts/2018/05/30/routing.html](https://blog.lightning.engineering/posts/2018/05/30/routing.html) +* [diyhpl.us/wiki/transcripts/chaincode-labs/2018-10-22-alex-bosworth-channel-management/](https://diyhpl.us/wiki/transcripts/chaincode-labs/2018-10-22-alex-bosworth-channel-management/) +* [diyhpl.us/wiki/transcripts/lightning-hack-day/2021-03-27-alex-bosworth-lightning-routing/](https://diyhpl.us/wiki/transcripts/lightning-hack-day/2021-03-27-alex-bosworth-lightning-routing/) + +## Videos + +* Elaine Ou - Bootstrapping y mantenimiento de un nodo Lightning [video de 38 mins](https://www.youtube.com/watch?v=qX4Z3JY1094) y [slides](https://lightningresidency.com/assets/presentations/Ou_Bootstrapping_and_Maintaining_a_Lightning_Node.pdf) +* Alex Bosworth - Administración de canales Lightning [video de 35 mins](https://www.youtube.com/watch?v=HlPIB6jt6ww&feature=youtu.be) +* [Seminario Lightning de Chaincode Labs - Verano de 2019](https://www.youtube.com/playlist?list=PLpLH33TRghT17_U3as2P3vHfAGL8pSOOY) +* Colección de presentaciones de Alex Bosworth: + [twitter.com/alexbosworth/status/1175091117668257792](https://twitter.com/alexbosworth/status/1175091117668257792) + +## Foros + +* Grupo administrado por la comunidad para RaspiBlitz Lightning Node: + [https://t.me/raspiblitz](https://t.me/raspiblitz) + +* Slack para desarrolladores LND. Enlace para obtener la invitación en: + [dev.lightning.community/](https://dev.lightning.community/) + +* Subreddit técnico para desarrolladores de Bitcoin y Lightning: + [www.reddit.com/r/lightningdevs](https://www.reddit.com/r/lightningdevs) + +## Aprende + +* [https://github.com/lnbook/lnbook](https://github.com/lnbook/lnbook) +* [https://github.com/chaincodelabs/lightning-curriculum](https://github.com/chaincodelabs/lightning-curriculum) diff --git a/docs/es/node-types/nodetype.merchant.md b/docs/es/node-types/nodetype.merchant.md new file mode 100644 index 0000000..062b01f --- /dev/null +++ b/docs/es/node-types/nodetype.merchant.md @@ -0,0 +1,50 @@ +# Comercio + +Destinado a recibir pagos. + +## Requerimientos de capital + +* mínimo para comprar canales de entrada +* alto, temporalmente, para crear capacidad de entrada con canales abiertos + +## Canales y nodos + +* pocos canales \(2-3\) con nodos "bien conectados" y con buena capacidad de capital +* conectarse a nodos en [Bos list](../advanced-tools/bosscore.md) +* ver la configuración de costos existente en [1ml.com](https://github.com/openoms/lightning-node-management/tree/d4e82e3d2467dcd040b5490864cbc2d74666e89e/node-types/https/1ml.com) + +## Liquidez + +* mayormente remota + +## Disponibilidad \(Uptime\) + +* alta pero no perfecta +* la no disponibilidad afecta las ventas + +## Administración + +* [Loop out](https://github.com/lightninglabs/loop#lightning-loop) \([Autoloop](https://docs.lightning.engineering/advanced-best-practices/advanced-best-practices-overview/autoloop)\) para vaciar canales existentes +* Cierre y reabra cuando los canales estén llenos + * un canal abierto \(y cerrado\) no es más caro que usar Loop dado que : + * tiene liquidez on-chain para más canales \(o unir en el futuro\) o + * puede permitirse tiempo de inactividad de canal entre nodos para cerrar y reabrir +* Compre más [liquidez entrante](../createinboundliquidity.md) +* Realice ofertas en [Ligthning Pool](../advanced-tools/pool.md) +* Anúnciese para recibir liquidez de entrada + +## Ejemplos + +* [Nodo auto-hospedado](https://github.com/bavarianledger/bitcoin-nodes) conectado a un servidor BTCPay local o remoto +* Servidor BTCPay sobre una VPS \(Aceptable con la bajas cantidades\) +* Soluciones hospedadas \(de confianza\) + +## Casos especiales + +* Aceptar [donaciones](../donate/donations.md) +* Ofertar para pagar on-chain grandes cantidades \(costo <0.5-1%\) + + ![Configuración del servidor BTCPay](../assets/btcpay.on-offchain.png) + +* Evolucionar a un [nodo de enrutamiento](nodetype.routing.md) a medida que el número de conexiones y capital crece + diff --git a/docs/es/node-types/nodetype.routing.md b/docs/es/node-types/nodetype.routing.md new file mode 100644 index 0000000..9b25ed4 --- /dev/null +++ b/docs/es/node-types/nodetype.routing.md @@ -0,0 +1,72 @@ +# Enrutamiento + +Destinado a redireccionar pagos y generar beneficios. + +## Requerimientos de capital + +* alto + +## Canales y nodos + +* se requiere gran cantidad de canales \(~ 10 +\) con buena capacidad a [nodos "bien conectados"](../advanced-tools/bosscore.md) +* debe conectarse en una "frontera de red" \(network edge\) para optimizar el uso +* tiene como objetivo conectar clústeres de nodos \(grupos aislados\) + +## Liquidez + +* en general, equilibrado entre local y remoto +* cada canal debe poder reenviar pagos en ambas direcciones + +## Disponibilidad \(Uptime\) + +* alta, debe ser "perfecta" +* los nodos de enrutamiento desconectados, con muchos canales públicos, ocasionan fallas en toda la red +* afecta gravemente la [reputación del nodo](https://github.com/openoms/lightning-node-management/tree/d4e82e3d2467dcd040b5490864cbc2d74666e89e/advanced-tools/bossscore.md) + +## Administración + +* auto-rebalanceo \(los cronjobs son útiles\) +* crear liquidez entrante y saliente según sea necesario +* balancear múltiples nodos +* cerrar canales inactivos +* abierto en direcciones donde se requiere liquidez +* utilizar Lightning Pool \(bids y asks\) +* abrir canales en lotes para ahorrar en costos de mineria +* financiar canales desde billeteras externas +* cerrado a direcciones externas para reducir el riesgo de "billetera en linea" +* explorar [herramientas disponibles](../#manage-channels) + +## Estrategias + +### Conectar clústeres y grandes procesadores de pagos + +* tráfico bidireccional +* las tarifas son bajas +* altamente competitivo \(mucha liquidez está en canales privados\) + +### Proporcionar liquidez a comercios + +* alta liquidez entrante requerida +* las tarifas pueden ser moderadas y altas +* a menudo, en esta categoría, entra vender canales a través de Lightning Pool + +### Hub de pagos para nodos pequeños + +* las tarifas pueden ser bajas +* el tráfico es saliente principalmente +* fomenta el uso de canales privados +* los canales públicos desconectados provocan fallos en los pagos y afectan la reputación del nodo + +### Vender liquidez entrante + +* [LOOP](https://1ml.com/node/021c97a90a411ff2b10dc2a8e32de2f29d2fa49d41bfbb52bd416e460db0747d0d) +* [Bitfinex](https://ln.bitfinex.com/) +* establecer tarifas altas ya que el tráfico es unidireccional y a que la capacidad de entrada se drena rápidamente +* no todas las LN que soportan los "exchanges" son conectables y necesitan revisión individual sobre la dirección del tráfico + +## Ejemplos + +* [Nodo auto-hospedado en hardware dedicado](https://github.com/bavarianledger/bitcoin-nodes) +* Sistema a la medida en hardware empresarial centrado en alta disponibilidad y redundancia +* Alojado en un VPS \(mayor riesgo\) + diff --git a/docs/es/node-types/nodetype.spending.md b/docs/es/node-types/nodetype.spending.md new file mode 100644 index 0000000..7e573f2 --- /dev/null +++ b/docs/es/node-types/nodetype.spending.md @@ -0,0 +1,39 @@ +# Gasto + +Destinado a gastar bitcoins de forma económica y privada. + +## Requerimientos de capital + +* bajo +* dependiendo del nivel de gasto y fondos disponibles +* permite utilizar fondos sin crear cambio\(vuelto de dinero\) + +## Canales y nodos + +* un canal a un nodo "bien conectado" con capital y alta disponibilidad es un buen comienzo. Consulte [Bos list](../advanced-tools/bosscore.md) para elegir uno +* use canales privados para evitar hacer público el nodo y las transacciones. +* los canales privados desconectados no dañan la confiabilidad de la red. + +## Liquidez + +* mayormente local + +## Disponibilidad \(Uptime\) + +* no es un factor \(gaste solo cuando esté conectado\) + +## Administración + +* cerrar canales agotados +* [puede recargar a través de LN](../createoutboundliquidity.md) +* crear un nuevo nodo mejora la privacidad de la red + +## Ejemplos + +* [Billeteras móviles](../createinboundliquidity.md#non-custodial-wallets) +* [Nodo auto-hospedado en hardware dedicado](https://github.com/bavarianledger/bitcoin-nodes) +* Privacidad: [diapositivas sobre cómo gestionar un nodo Lightning de forma privada](https://keybase.pub/oms/slides/Running_a_Lightning_Node_Privately.pdf) +* Úselo para redes sociales como [Sphinx chat](https://sphinx.chat/) + + Discusión: [https://github.com/rootzoll/raspiblitz/issues/2073](https://github.com/rootzoll/raspiblitz/issues/2073) + diff --git a/docs/es/technicals/highonchainfees.md b/docs/es/technicals/highonchainfees.md new file mode 100644 index 0000000..6c7a3ee --- /dev/null +++ b/docs/es/technicals/highonchainfees.md @@ -0,0 +1,116 @@ +# Entorno de altos costos on-chain + +Notas sobre el uso de la red Lightning cuando las tarifas de los mineros son altas. + +## Preparación + +Recomendaciones para prepararse de antemano para un entorno de altos costos. + +### Administración de canales + +* Abrir canales estratégicamente durante tiempos de costos bajos \(fines de semana\) +* Cierre anticipado de canales inactivos y/o no confiables durante los tiempos de costos bajos +* Si ejecuta un nodo de enrutamiento, minimice el tiempo de inactividad y la inestabilidad +* Utilice canales privados \(no anunciados\) como un [nodo para gastar](../node-types/nodetype.spending.md) para que los tiempos de inactividad no hagan que la contraparte fuerce el cierre + +### Administración de billetera + +* La financiación a través de una billetera de firma única es más barata +* Prepare una selección de UTXO de buen tamaño para abrir canales con un costo mínimo + * consolidar \(teniendo en cuenta las implicaciones de privacidad\) + * una billetera "JoinMarket Maker" bien financiada y de larga duración tendrá diferentes tamaños de salidas coinjoined disponibles + +### Configuración + +* Activar "Anchor Commitments" + * afecta solo a los nuevos canales cuando ambos nodos soportan "anchors" + * `protocol.anchors = true` en el [lnd.conf](https://github.com/lightningnetwork/lnd/blob/260ea9b842ddd80fbea1df5516f557e3081f743f/sample-lnd.conf#L363) + * disponible desde [LND v0.12.0](https://github.com/lightningnetwork/lnd/releases/tag/v0.12.0-beta) + * a partir de LND v0.13 estará activo de forma predeterminada + * necesitará un UTXO por canal en la billetera on-chain de LND para pagar los costos de cierre con CPFP - estos no se reservan en la billetera todavía +* Establezca el `minchansize` en [lnd.conf](https://github.com/lightningnetwork/lnd/blob/260ea9b842ddd80fbea1df5516f557e3081f743f/sample-lnd.conf#L248) \(por ejemplo, evite canales <500k en un nodo de enrutamiento\) + +## Costos de enrutamiento y balances + +* Todos los nodos: + * el saldo del canal parecerá menor ya que la reserva será mayor + * Los costos de transacción off-chain también aumentarán \(sigue siendo proporcional al monto del pago\) + * las fallas de pago pueden aparecer con más frecuencia a medida que se agota la liquidez +* [Nodos de enrutamiento](../node-types/nodetype.routing.md): + * [Es necesario aumentar los costos de enrutamiento](https://github.com/openoms/lightning-node-management/tree/d4e82e3d2467dcd040b5490864cbc2d74666e89e/advanced-tools/fee.md) para compensar el aumento de los costos on-chain y los costos de rebalanceo + * Se debe permitir que el rebalanceo automático pueda pagar costos más altos +* El tráfico off-chain aumentará +* Se abrirán menos canales durante los períodos de costos altos +* Se asignará menos capital +* Los "Submarine Swaps" se vuelven más costosos \(requiere transacciones on-chain\) +* En general, los canales se desbalancearán más rápido + +## Apertura de canales + +* Incluya una "change output" para poder usar CPFP para aumentar el costo de la transacción de apertura de canal +* Abra en lotes + * el mayor ahorro se obtiene cuando se usa 1 entrada para abrir varios canales + * Apunte al siguiente bloque con el costo para la transacción de apertura y asi evitar que las tarifas aumenten + * puede usar PSBT-s \(incluso desde una billetera externa\) con las herramientas de consola disponibles: + * LND: [Balance of Satoshis](https://github.com/alexbosworth/balanceofsatoshis#howtos) + + `bos open` and `bos fund` + + * [C-lightning CLI](https://lightning.readthedocs.io/lightning-fundchannel_start.7.html#) + + `lightningcli fundchannel_start id amount [feerate announce close_to push_msat]` + * evite abrir canales públicos y privados \(no anunciados\) en el mismo lote - evita el propósito de no anunciar canales + +### No deje la apertura de un canal pendiente durante más de 2016 bloques \(~2 semanas\) + +Un canal pendiente se volverá "obsoleto" después de 2016 bloques - la contraparte se olvidará de la transacción por lo que el canal nunca se creará. + +* La única opción que queda para desbloquear los fondos de la multisig será un cierre forzado \(costoso\). +* Utilice CPFP \(nunca RBF\) + + * CPFP solo se puede usar si hay un resultado de cambio de la transacción de apertura: [https://api.lightning.community/?shell\#bumpfee](https://api.lightning.community/?shell#bumpfee): + + `lncli wallet bumpfee --sat_per_byte 110 TXID:INDEX` + + Artículo de Lightningwiki.net: [https://lightningwiki.net/index.php/Bumping\_fee\_for\_lightning\_channel\_open](https://lightningwiki.net/index.php/Bumping_fee_for_lightning_channel_open) + +* Puede cancelar la transacción gastándola a una "change address" [en Electrum](restorelndonchainfundsinelectrum.md#manage-the-lnd-onchain-funds-in-electrum-wallet) + +## Cierre de canales + +* Escoge un cierre cooperativo si es necesario + * puede usar CPFP de la billetera receptora si un cierre cooperativo está pendiente con una tarifa baja en la mempool +* Ejecute el comando de cierre de canal nuevamente si la transacción se ha eliminado de la mempool + + `lncli closechannel FUNDING_TXID INDEX` + +* Los cierres forzados son ~5 veces más caros que los costos del siguiente bloque en la última actualización + * LND se actualiza cada 10 minutos en un canal conectado + * Los canales inactivos durante mucho tiempo son una obligación, especialmente si estuvo en línea por última vez en un período de tarifa de minero baja +* Como nodo de enrutamiento evite los cierres forzados minimizando el tiempo de inactividad y de inestabilidad + +## Watchtowers + +* Si usa [watchtowers](../advanced-tools/watchtower.md) debe configurar el + + `wtclient.sweep-fee-rate=` en el [lnd.conf](https://github.com/lightningnetwork/lnd/blob/a36c95f7325d3941306ac4dfff0f2363fbb8e66d/sample-lnd.conf#L857) + + a un nivel de sat/byte donde puede confirmar dentro del retraso CSV en caso de que la contraparte transmita una transacción de infracción mientras el nodo está desconectado. + +* El retraso CSV se puede configurar para que sea más largo con: + + `lncli updatechanpolicy` + +## Mejoras futuras + +* "Anchor commitments" de forma predeterminada \(afecta solo a los canales nuevos y ambas partes deben permitir la funcionalidad\) +* Empalme y financiación compartida - amplía la capacidad del canal en una transacción +* Taproot - puede ahorrar en el envío al multisig \(~26 bytes de el mínimo de 140 bytes\) +* Taproot - la financiación desde billeteras multisig tendrá el mismo costo que de las billeteras de firma única +* ELTOO - canales multiparte y fábricas de canales + +## Referencias + +* [¿Qué es CPFP?](https://bitcoinops.org/en/topics/cpfp/) +* [¿Se puede cerrar un canal mientras la financiación de la tx aún está pendiente en la mempool?](https://bitcoin.stackexchange.com/questions/102180/can-a-channel-be-closed-while-the-funding-tx-is-still-stuck-in-the-mempool) + diff --git a/docs/es/technicals/lightning.connect.md b/docs/es/technicals/lightning.connect.md new file mode 100644 index 0000000..6985b1f --- /dev/null +++ b/docs/es/technicals/lightning.connect.md @@ -0,0 +1,256 @@ +# Conectarse a un nodo Lightning de forma remota + +* [Resumen de formatos de conexión remota](lightning.connect.md#remote-connection-formats-summary-table) +* [LND](lightning.connect.md#lnd) + * [RPC](lightning.connect.md#rpc) + * [LNDconnect](lightning.connect.md#lndconnect) + * [Balance of Satoshis](lightning.connect.md#balance-of-satoshis) + * [BTCPayserver](lightning.connect.md#btcpayserver) +* [C-lightning](lightning.connect.md#c-lightning) + * [Spark Wallet](lightning.connect.md#spark-wallet) + * [Sparko](lightning.connect.md#sparko) + * [C-lightning REST \(con Zeus\)](lightning.connect.md#c-lightning-rest-with-zeus) + * [BTCPayserver](lightning.connect.md#btcpayserver-1) +* [Eclair](lightning.connect.md#eclair) + * [BTCPayServer](lightning.connect.md#btcpayserver-2) +* [Notas](lightning.connect.md#notes) + +## Resumen de formatos de conexión remota + +| LND | prefix | d | server | d | auth | d | tls | d | +| :--- | :--- | :--- | :--- | :--- | :--- | :--- | :--- | :--- | +| lndconnect | lndconnect:// | | grpc\_host:10009 | ? | macaroon=base64\_macaroon | & | cert=base64\_cert | | +| BoS | | { | "socket": "grpc\_host:10009" | , | "macaroon": "base64\_macaroon" | , | "cert": "base64\_cert" | } | +| BTCPay | type=lnd-rest | ; | [https://rest\_host:8080/](https://rest_host:8080/) | ; | macaroon=hex\_macaroon | ; | certthumbprint=hex\_cert | | + +| C-lightning | prefix | d | server | d | auth | d | tls | +| :--- | :--- | :--- | :--- | :--- | :--- | :--- | :--- | +| Spark Wallet / Sparko | | | spark\_rpc\_host | ? | access-key=accessKey | | | +| BTCPay unix socket | type=clightning | ; | server=unix://home/user/.lightning/lightning-rpc | | | | | +| BTCPay TCP | type=clightning | ; | server=tcp://tcp\_host:27743/ | | | | | +| BTCPay Charge | type=clightning | ; | server=[https://charge\_host:8080/](https://charge_host:8080/) | ; | api-token=myapitoken... | | | +| C-lightning REST | | | rest\_host | ? | hex\_macaroon | | | + +| Eclair | prefix | d | server | d | auth | d | tls | +| :--- | :--- | :--- | :--- | :--- | :--- | :--- | :--- | +| BTCPay | type=eclair | ; | server=[https://eclair\_host:8080/](https://eclair_host:8080/) | ; | password=eclairpassword... | | | + +## LND + +### RPC + +* lncli + + ```text + lncli --rpcserver=IP_ADDRESS:GRPC_PORT --tlscertpath=./../tls.cert --macaroonpath=./../admin.macaroon + ``` + +* Suez [https://github.com/prusnak/suez](https://github.com/prusnak/suez) + +```text +poetry run ./suez --client-args=--rpcserver=IP_ADDRESS:GRPC_PORT --client-args=--tlscertpath=./../tls.cert --client-args=--macaroonpath=./../admin.macaroon +``` + +### LNDconnect + +* Especificación + + [https://github.com/LN-Zap/lndconnect/blob/master/lnd\_connect\_uri.md](https://github.com/LN-Zap/lndconnect/blob/master/lnd_connect_uri.md) + +```text +lndconnect://:?[cert=&]macaroon= +``` + +* Implementación + + [https://github.com/rootzoll/raspiblitz/blob/a22589c86109d56ecc1e1aca7abb214c7e9189c7/home.admin/config.scripts/bonus.lndconnect.sh\#L194](https://github.com/rootzoll/raspiblitz/blob/a22589c86109d56ecc1e1aca7abb214c7e9189c7/home.admin/config.scripts/bonus.lndconnect.sh#L194) + +```text +# generate data parts +macaroon=$(sudo base64 /mnt/hdd/app-data/lnd/data/chain/${network}/${chain}net/admin.macaroon | tr -d '=' | tr '/+' '_-' | tr -d '\n') +cert=$(sudo grep -v 'CERTIFICATE' /mnt/hdd/lnd/tls.cert | tr -d '=' | tr '/+' '_-' | tr -d '\n') + +# generate URI parameters +macaroonParameter="?macaroon=${macaroon}" +certParameter="&cert=${cert}" + +lndconnect="lndconnect://${host}:${port}${macaroonParameter}${certParameter}" +``` + +### Balance of Satoshis + +[https://github.com/alexbosworth/balanceofsatoshis\#saved-nodes](https://github.com/alexbosworth/balanceofsatoshis#saved-nodes) + +* guardado en + + ```text + ~/.bos/YOUR_NODE_NAME/credentials.json + ``` + +* con valores base64 + +```text +{ +"cert": "base64 tls.cert value", +"macaroon": "base64 .macaroon value", +"socket": "host:port" +} + +# For `cert` +base64 ~/.lnd/tls.cert | tr -d '\n' +# For `macaroon` +base64 ~/.lnd/data/chain/bitcoin/mainnet/admin.macaroon | tr -d '\n' +``` + +* con path + + ```text + { + "cert_path": "/path/lnd/tls.cert", + "macaroon_path": "/path/lnd/data/chain/bitcoin/mainnet/admin.macaroon", + "socket": "LND_IP:10009" + } + ``` + +### BTCPayserver + +* LND a través de proxy REST: + + ```text + type=lnd-rest;server=https://mylnd:8080/;macaroon=abef263adfe... + type=lnd-rest;server=https://mylnd:8080/;macaroon=abef263adfe...;certthumbprint=abef263adfe... + ``` + +* macaroon + + ```text + xxd -plain /root/.lnd/data/chain/bitcoin/mainnet/admin.macaroon | tr -d '\n' + ``` + +* certthumbprint: + + ```text + openssl x509 -noout -fingerprint -sha256 -in /root/.lnd/tls.cert | sed -e 's/.*=//;s/://g' + ``` + +* optional: + + ```text + allowinsecure=true + ``` + +## C-lightning + +### Spark Wallet + +[https://github.com/shesek/spark-wallet](https://github.com/shesek/spark-wallet) + +### Sparko + +[https://github.com/fiatjaf/sparko](https://github.com/fiatjaf/sparko) +Actualmente solo funciona con un certificado firmado por una CA. +Ver: [https://github.com/shesek/spark-wallet/blob/master/doc/tls.md\#add-as-trusted-certificate-to-android](https://github.com/shesek/spark-wallet/blob/master/doc/tls.md#add-as-trusted-certificate-to-android) + +* Simplemente: + + ```text + URL?access-key=accessKey + ``` + + El `accessKey` tiene permisos parecidos a macaroon + +### C-lightning REST \(con Zeus\) + +[https://github.com/Ride-The-Lightning/c-lightning-REST/](https://github.com/Ride-The-Lightning/c-lightning-REST/) + +* Aún no hay estándar, pero necesita: + + ```text + URL?hex_macaroon + ``` + +* generar el `hex_macaroon`: + + ```text + xxd -plain /home/bitcoin/c-lightning-REST/certs/access.macaroon | tr -d '\n' + ``` + +### BTCPayserver + +* c-lightning a través TCP o una conexión unix domain socket: + + ```text + type=clightning;server=unix://root/.lightning/lightning-rpc + type=clightning;server=tcp://1.1.1.1:27743/ + ``` + +* Lightning carga a través de HTTPS: + + ```text + type=charge;server=https://charge:8080/;api-token=myapitoken... + ``` + +## Eclair + +### BTCPayServer + +* Eclair a través de HTTPS: + + ```text + type=eclair;server=https://eclair:8080/;password=eclairpassword... + ``` + +## Notas + +* dependencias comunes + + ```text + sudo apt install qrencode base64 xxd + ``` + +* generar un código QR en la consola + \(presione `CTRL` + `-` para reducir el tamaño\) + + ```text + string="desired content or $(command output)" + qrencode -t ANSIUTF8 "$string" + ``` + +* base64\_macaroon + + ```text + base64 ~/.lnd/data/chain/bitcoin/mainnet/admin.macaroon | tr -d '\n' + ``` + +* hex\_macaroon: + + ```text + xxd -plain /home/bitcoin/c-lightning-REST/certs/access.macaroon | tr -d '\n' + ``` + +* base64\_cert + + ```text + base64 ~/.lnd/tls.cert | tr -d '\n' + ``` + +* certthumbprint: + + ```text + openssl x509 -noout -fingerprint -sha256 -in /root/.lnd/tls.cert | sed -e 's/.*=//;s/://g' + ``` + +* inspeccionar `tls.cert` + + ```text + openssl x509 -in /mnt/hdd/lnd/tls.cert -noout -text + ``` + +* mostrar un servicio oculto de Tor más en: [https://openoms.github.io/bitcoin-tutorials/tor\_hidden\_service\_example.html](https://openoms.github.io/bitcoin-tutorials/tor_hidden_service_example.html) + + ```text + sudo cat /var/lib/tor/SERVICE_NAME/hostname + # o en un RaspiBlitz + sudo cat /mnt/hdd/tor/SERVICE_NAME/hostname + ``` + diff --git a/docs/es/technicals/lnddatabasecompaction.md b/docs/es/technicals/lnddatabasecompaction.md new file mode 100644 index 0000000..252de46 --- /dev/null +++ b/docs/es/technicals/lnddatabasecompaction.md @@ -0,0 +1,103 @@ +# Compactar la base de datos LND \(channel.db\) + +Un archivo `channel.db` de más de 1 GB no funciona en sistemas de 32 bits: [https://github.com/lightningnetwork/lnd/issues/4811](https://github.com/lightningnetwork/lnd/issues/4811) + +```text +# verifique el tamaño del archivo channel.db +sudo du -h /mnt/hdd/lnd/data/graph/mainnet/channel.db +# resultado de ejemplo +# 1.0G /mnt/hdd/lnd/data/graph/mainnet/channel.db +``` + +## Auto-compactar al reiniciar + +Desde LND v0.12.0 se puede configurar `db.bolt.auto-compact=true` en el `lnd.conf`. + +* Para editar: + + `sudo nano /mnt/hdd/lnd/lnd.conf` + +* inserte lo siguiente \(puede descartar los comentarios\): + + ```text + [bolt] + # Whether the databases used within lnd should automatically be compacted on + # every startup (and if the database has the configured minimum age). This is + # disabled by default because it requires additional disk space to be available + # during the compaction that is freed afterwards. In general compaction leads to + # smaller database files. + db.bolt.auto-compact=true + # How long ago the last compaction of a database file must be for it to be + # considered for auto compaction again. Can be set to 0 to compact on every + # startup. (default: 168h) + # db.bolt.auto-compact-min-age=0 + ``` + +* reinicie lnd: + + `sudo systemctl restart lnd` + +* monitoree el proceso \(puede tomar varios minutos\): + + `sudo tail -fn 30 /mnt/hdd/lnd/logs/bitcoin/mainnet/lnd.log` + +* Es posible deshabilitar el auto-compactado en `lnd.conf` y activarlo bajo demanda para evitar tiempos de inicio prolongados: + + ```text + db.bolt.auto-compact=false + ``` + +## Compactar con Channels Tools + +[https://github.com/guggero/chantools\#compactdb](https://github.com/guggero/chantools#compactdb) + +* Ejecute los siguientes comandos en la terminal RaspiBlitz + + Vea los comentarios para verificar lo que hace cada comando. + +```text +# instale chantools +# descargar, inspeccionar y ejecutar el script de instalación +wget https://raw.githubusercontent.com/openoms/lightning-node-management/master/lnd.updates/bonus.chantools.sh +cat bonus.chantools.sh +bash bonus.chantools.sh on + +# pare lnd +sudo systemctl stop lnd + +# cambiar al directorio de inicio del usuario bitcoin +sudo su - bitcoin + +# ejecutar la compactación +chantools compactdb --sourcedb /mnt/hdd/lnd/data/graph/mainnet/channel.db \ + --destdb /mnt/hdd/lnd/data/graph/mainnet/compacted.db + +# verifique el tamaño de compacted.db +# (la primera compactación tendrá el mayor efecto) +du -h /mnt/hdd/lnd/data/graph/mainnet/compacted.db +# ejemplo: +# 730M /mnt/hdd/lnd/data/graph/mainnet/compacted.db + +# asegúrese que lnd no esté ejecutandose (necesita sudo) +exit +sudo systemctl stop lnd +sudo su - bitcoin + +# haga un backup de la base de datos original +mv /mnt/hdd/lnd/data/graph/mainnet/channel.db \ + /mnt/hdd/lnd/data/graph/mainnet/uncompacted.db + +# mover la base de datos compactada en lugar de la antigua +mv /mnt/hdd/lnd/data/graph/mainnet/compacted.db \ + /mnt/hdd/lnd/data/graph/mainnet/channel.db + +# Salir del usuario de bitcoin a admin +exit + +# iniciar lnd +sudo systemctl start lnd + +# desbloquear la billetera +lncli unlock +``` + diff --git a/docs/es/technicals/restorelndonchainfundsinelectrum.md b/docs/es/technicals/restorelndonchainfundsinelectrum.md new file mode 100644 index 0000000..294773b --- /dev/null +++ b/docs/es/technicals/restorelndonchainfundsinelectrum.md @@ -0,0 +1,90 @@ +# Administre los fondos LND on-chain en Electrum + +## Restaurar los fondos on-chain de una billetera LND en una billetera Electrum + +Solo haga esto si comprende el proceso. Nunca ingrese "secrets" en páginas web. Evite las ventanas del navegador con extensiones habilitadas. El navegador Tor es un buen comienzo \(intente usarlo sin conexión\). + +Requiere: + +* 24 palabras semilla de LND \(+ la contraseña si se usa\) +* es útil conocer las direcciones con fondos +* use un sistema operativo seguro y dedicado, por ejemplo. [Tails](https://tails.boum.org/) +* guarde las páginas en el disco y ábralas en una nueva ventana del navegador + +### Abrir [https://guggero.github.io/cryptography-toolkit/\#!/aezeed](https://guggero.github.io/cryptography-toolkit/#!/aezeed) + +* en `Decode mnemonic` + + ingrese la semilla de 24 palabras \(+ contraseña si se usa\) + +* copiar la `HD node root key base58` + +### Abrir [https://iancoleman.io/bip39/](https://iancoleman.io/bip39/) + +* ingrese la `HD node root key base58` en `BIP32 Root Key` +* en `Derivation Path` + * Seleccione la pestaña `BIP84` para obtener las direcciones que empiezan por bc1. + * Seleccione `BIP49` para obtener las direcciones que empiezan por 3. +* Copie las claves privadas de las direcciones conocidas o de todas \(`Account Extended Private Key`\). + +### Abra Electrum + +Siga los pasos de: [https://bitcoinelectrum.com/importing-your-private-keys-into-electrum/](https://bitcoinelectrum.com/importing-your-private-keys-into-electrum/) + +Al importar las claves privadas use el prefijo: + +* `p2wpkh:` antes de las claves privadas de las direcciones `bc1...` +* `p2wpkh-p2sh:` antes de las claves privadas de las direcciones `3...` + +Listo. Una vez que el servidor Electrum termine de escanear las direcciones, deberían aparecer los fondos. + +## Importe la parte on-chain de la billetera LND en Electrum + +Esta no es una forma recomendada de administrar los fondos de la billetera LND, es mejor usarla como solo lectura. Restaurar desde una semilla en Electrum no afecta los fondos off-chain en los canales. No hay garantía de que las "change outputs" de Electrum aparezcan en LND y viceversa. + +Solo haga esto si comprende el proceso. Nunca ingrese "secrets" en páginas web. Evite las ventanas del navegador con extensiones habilitadas. El navegador Tor es un buen comienzo \(intente usarlo sin conexión\). + +Requiere: + +* 24 palabras semilla de LND \(+ la contraseña si se usa\) +* use un sistema operativo seguro y dedicado, por ejemplo. [Tails](https://tails.boum.org/) +* guarde las páginas en el disco y ábralas en una nueva ventana del navegador + +### Abra [https://guggero.github.io/cryptography-toolkit/\#!/aezeed](https://guggero.github.io/cryptography-toolkit/#!/aezeed) + +* en `Decode mnemonic` + + ingrese la semilla de 24 palabras \(+ contraseña si se usa\) + +* copiar la `HD node root key base58` para BTC \(Bitcoin, Native SegWit, BIP84\) o BTC \(Bitcoin, SegWit, BIP49\) + +### Abra [https://iancoleman.io/bip39/](https://iancoleman.io/bip39/) + +* ingrese la `HD node root key base58` en `BIP32 Root Key` +* en `Derivation Path` + * Seleccione la pestaña `BIP84` para obtener las direcciones que empiezan por bc1. + * Seleccione `BIP49` para obtener las direcciones que empiezan por 3. +* Importe la `Account Extended Public key` a Electrum para una billetera de solo lectura. Ver: [https://bitcoinelectrum.com/creating-a-watch-only-wallet/](https://bitcoinelectrum.com/creating-a-watch-only-wallet/) +* Importe la `Account Extended Private Key` a Electrum para una billetera con todas las capacidades \(no recomendado\). + +Alternativamente, mira este video: +[https://light-tube.eu/?latest=Latest&search=How+to+import+your+lighting+wallet+into+Electrum](https://light-tube.eu/?latest=Latest&search=How+to+import+your+lighting+wallet+into+Electrum) + +Mostrando el uso de: + +[https://github.com/guggero/chantools](https://github.com/guggero/chantools) + +```text +showrootkey + +Este comando convierte las 24 palabras y la contraseña de lnd aezeed a BIP32 HD root key que se utiliza como parámetro rootkey en otros comandos de esta herramienta. + +Ejemplo: + +chantools showrootkey +``` + +Convierta el xpub a zpub con este script de Python: + +[https://gist.github.com/freenancial/d82fec076c13158fd34d1c4300b2b300](https://gist.github.com/freenancial/d82fec076c13158fd34d1c4300b2b300) + diff --git a/hardware/raspiblitz.md b/docs/hardware/raspiblitz.md similarity index 100% rename from hardware/raspiblitz.md rename to docs/hardware/raspiblitz.md diff --git a/hardware/raspiblitz/bos.md b/docs/hardware/raspiblitz/bos.md similarity index 100% rename from hardware/raspiblitz/bos.md rename to docs/hardware/raspiblitz/bos.md diff --git a/hardware/raspiblitz/charge-lnd.md b/docs/hardware/raspiblitz/charge-lnd.md similarity index 100% rename from hardware/raspiblitz/charge-lnd.md rename to docs/hardware/raspiblitz/charge-lnd.md diff --git a/hardware/raspiblitz/lnd.updates.md b/docs/hardware/raspiblitz/lnd.updates.md similarity index 96% rename from hardware/raspiblitz/lnd.updates.md rename to docs/hardware/raspiblitz/lnd.updates.md index f69d7bb..58bf24b 100644 --- a/hardware/raspiblitz/lnd.updates.md +++ b/docs/hardware/raspiblitz/lnd.updates.md @@ -16,7 +16,7 @@ Before updating it is recommended to make a full backup of the LND directory. $ /home/admin/config.scripts/lnd.rescue.sh backup ``` - More info about this process in the [FAQ](https://docs.raspiblitz.org/docs/faq#2-making-a-complete-lnd-data-backup) + More info about this process in the [FAQ](https://github.com/raspiblitz/raspiblitz/blob/dev/FAQ.md#2-making-a-complete-lnd-data-backup) ## [Update LND to v0.18.0-beta](https://github.com/openoms/lightning-node-management/tree/en/lnd.updates/lnd.update.v0.18.0-beta.sh) diff --git a/hardware/raspiblitz/lndg.md b/docs/hardware/raspiblitz/lndg.md similarity index 100% rename from hardware/raspiblitz/lndg.md rename to docs/hardware/raspiblitz/lndg.md diff --git a/hardware/raspiblitz/stream-lnd-htlcs.md b/docs/hardware/raspiblitz/stream-lnd-htlcs.md similarity index 100% rename from hardware/raspiblitz/stream-lnd-htlcs.md rename to docs/hardware/raspiblitz/stream-lnd-htlcs.md diff --git a/hardware/raspiblitz/zeus.md b/docs/hardware/raspiblitz/zeus.md similarity index 100% rename from hardware/raspiblitz/zeus.md rename to docs/hardware/raspiblitz/zeus.md diff --git a/hardware/raspibolt.md b/docs/hardware/raspibolt.md similarity index 100% rename from hardware/raspibolt.md rename to docs/hardware/raspibolt.md diff --git a/hardware/recommendations.md b/docs/hardware/recommendations.md similarity index 94% rename from hardware/recommendations.md rename to docs/hardware/recommendations.md index 28976d6..3881a76 100644 --- a/hardware/recommendations.md +++ b/docs/hardware/recommendations.md @@ -1,6 +1,6 @@ # Hardware recommendations for lightning nodes -![https://twitter.com/lunaticoin/status/1522237631404429316](/.gitbook/assets/nodehardware.png) +![https://twitter.com/lunaticoin/status/1522237631404429316](../assets/nodehardware.png) ## Raspberry Pi 4 A love-hate relationship - it is a minimal viable hardware with up-to-date linux kernel @@ -17,7 +17,7 @@ A love-hate relationship Shopping list with keywords: ## Laptop -![laptoptweet](/.gitbook/assets/laptoptweet.png) +![laptoptweet](../assets/laptoptweet.png) - more power - still energy efficient - built in battery - screen and keyboard to manage @@ -29,7 +29,7 @@ Shopping list with keywords: ## Home server -![servertweet](/.gitbook/assets/servertweet.png) +![servertweet](../assets/servertweet.png) - Still can be a big saving on hosting despite higher power usage - Unlimited storage with disk redundancy ([ZFS](https://openzfs.github.io/openzfs-docs/Getting%20Started/Debian/index.html)) - [Cockpit webinterface](https://github.com/raspiblitz/raspiblitz/issues/2767) diff --git a/hardware/truenas.md b/docs/hardware/truenas.md similarity index 100% rename from hardware/truenas.md rename to docs/hardware/truenas.md diff --git a/hardware/truenas/aliases.md b/docs/hardware/truenas/aliases.md similarity index 100% rename from hardware/truenas/aliases.md rename to docs/hardware/truenas/aliases.md diff --git a/hardware/truenas/bos.md b/docs/hardware/truenas/bos.md similarity index 100% rename from hardware/truenas/bos.md rename to docs/hardware/truenas/bos.md diff --git a/hardware/truenas/circuitbreaker.md b/docs/hardware/truenas/circuitbreaker.md similarity index 100% rename from hardware/truenas/circuitbreaker.md rename to docs/hardware/truenas/circuitbreaker.md diff --git a/hardware/truenas/lit.md b/docs/hardware/truenas/lit.md similarity index 100% rename from hardware/truenas/lit.md rename to docs/hardware/truenas/lit.md diff --git a/hardware/truenas/lnd.md b/docs/hardware/truenas/lnd.md similarity index 100% rename from hardware/truenas/lnd.md rename to docs/hardware/truenas/lnd.md diff --git a/hardware/truenas/lndg.md b/docs/hardware/truenas/lndg.md similarity index 100% rename from hardware/truenas/lndg.md rename to docs/hardware/truenas/lndg.md diff --git a/hardware/truenas/lntop.md b/docs/hardware/truenas/lntop.md similarity index 100% rename from hardware/truenas/lntop.md rename to docs/hardware/truenas/lntop.md diff --git a/hardware/truenas/openvpn.md b/docs/hardware/truenas/openvpn.md similarity index 100% rename from hardware/truenas/openvpn.md rename to docs/hardware/truenas/openvpn.md diff --git a/hardware/truenas/stream-lnd-htlcs.md b/docs/hardware/truenas/stream-lnd-htlcs.md similarity index 100% rename from hardware/truenas/stream-lnd-htlcs.md rename to docs/hardware/truenas/stream-lnd-htlcs.md diff --git a/hardware/truenas/suez.md b/docs/hardware/truenas/suez.md similarity index 100% rename from hardware/truenas/suez.md rename to docs/hardware/truenas/suez.md diff --git a/hardware/truenas/tailscale.md b/docs/hardware/truenas/tailscale.md similarity index 100% rename from hardware/truenas/tailscale.md rename to docs/hardware/truenas/tailscale.md diff --git a/hardware/truenas/zeus.md b/docs/hardware/truenas/zeus.md similarity index 100% rename from hardware/truenas/zeus.md rename to docs/hardware/truenas/zeus.md diff --git a/docs/hu/advanced-tools/balancedchannelcreation.md b/docs/hu/advanced-tools/balancedchannelcreation.md new file mode 100644 index 0000000..f7e1b41 --- /dev/null +++ b/docs/hu/advanced-tools/balancedchannelcreation.md @@ -0,0 +1,60 @@ +# Kiegyensúlyozott csatorna létrehozása megbízható partnerrel (Balanced channel creation) + +## Megbízható csere + +Megbízható onchain-offchain csere végrehajtása. + +Előny: + +* Kétirányú likviditást hoz létre mindkét oldalon. +* Közvetlen LN csatornán történő fizetés a partnernek ingyenes. + +Hogyan kell: + +* Nyiss egy csatornát egy megbízható partnerhez. +* A csatorna megerősítése után fizess ki egy invoice-t, amelyet a partner ad meg \(használd a csatorna kapacitásának felét, hogy tökéletesen kiegyensúlyozott csatornát kapj\) - ez a fizetés ingyenes. +* Küldj a partnernek egy onchain címet, amelyre visszautalhatja az invoice összegét \(használj alacsony hálózati díjat\). + +## Kiegyensúlyozott csatorna nyitása megbízható partnerrel (Balanced channel creation) + +Nyiss egy kétoldalúan finanszírozott, kiegyensúlyozott csatornát egy megbízható partnerrel a parancssor segítségével, amely egy Lightning és egy onchain tranzakciót igényel. + +Az alábbiakban bemutatjuk, hogyan hozhatsz létre egy 2 millió sats kapacitású kiegyensúlyozott csatornát az `A` és `B` node-ok között. + +Előnyök: + +* Csak egyetlen onchain tranzakció szükséges \(olcsóbb\). +* Az eredmény egy 2M sats kapacitású csatorna lesz 2x1M helyett, ugyanannyi lekötött összeg mellett \(hatékonyabb\). + +Követelmények: + +* `A`-nak 1M sats kimenő likviditása van. +* `B`-nek 1M sats bejövő likviditása + 2M sats onchain összege van \(megbízható node\). +* `A` és `B` között létezik fizetési útvonal 1M sats-ra. + +Hogyan kell: + +* `B` küld egy invoice-t, amellyel 1M sats-ot fogad `A`-tól. +* `A` kifizet 1M sats-ot `B`-nek. +* Győződj meg róla, hogy A és B peerek. +* `B` nyit egy 2M sats csatornát A felé az alábbi paranccsal: + + `lncli openchannel --local_amt 2000000 --push_amt 1000000 --sat_per_byte 2` + +Nem kell sietni, ezért használj alacsony díjat az onchain tranzakcióhoz. Ellenőrizd a [https://whatthefee.io/](https://whatthefee.io/) oldalon a mempool aktuális állapotát, vagy használd a `--conf_target 10` opciót az automatikus díjbecsléshez, amellyel ~10 blokkon belüli megerősítést célozhatsz meg. + +Ennek eredménye egy kiegyensúlyozott csatorna lesz, mindkét oldalon 1M sats-szal \(mínusz a commit díj\). + +![kiegyensúlyozott csatorna a ZeusLN-ben](../assets/balancedChannel.jpg) + +## A likviditás költsége + +A Lightning Network-ön a likviditás biztosítása tranzakciós költségekkel, alternatív költségekkel és hot wallet kockázatokkal jár. +A likviditás sem bőségesen rendelkezésre álló, sem ingyenes nem. +Más node-üzemeltetőktől bejövő likviditást kérni szívességet jelent. +Egy javaslat \(példa\) a likviditás árazására: + +* Minimum 1M sats csatornákat nyiss. +* Fizess a szolgáltatónak 0,02% = 2000 ppm sats-ot az összeg csatornába allokálásáért, amely fedezi a bányász díjakat \(nyitás és zárás + kényszerített lezárás kockázata\). +* Állapodjatok meg egy routing díjban \(például 100 ppm\). +* Állapodjatok meg egy időtartamban, ameddig a csatorna nyitva marad \(például minimum egy hónap\). diff --git a/docs/hu/advanced-tools/bosscore.md b/docs/hu/advanced-tools/bosscore.md new file mode 100644 index 0000000..8eb2bb8 --- /dev/null +++ b/docs/hu/advanced-tools/bosscore.md @@ -0,0 +1,30 @@ +# Bos Score + +A Bos Score lista linkje (megszűnt): +[nodes.lightning.computer/availability/v1/btc.json](https://nodes.lightning.computer/availability/v1/btc.json) + +Napi frissítések és a dokumentáció linkjei itt találhatóak: [terminal.lightning.engineering](https://terminal.lightning.engineering/#/) + + +Alternatív megjelenítési felület: +[cheeserobot.org/terminal/list](https://cheeserobot.org/terminal/list) + +![https://lightning.engineering/posts/2019-11-07-routing-guide-2/](../assets/BosScore4.png) + +![https://lightninglabs.substack.com/p/its-lit-introducing-the-lightning](../assets/BosScore1.png) + +![https://lightninglabs.substack.com/p/its-lit-introducing-the-lightning ](../assets/BosScore2.png) + +![https://lightninglabs.substack.com/p/its-lit-introducing-the-lightning ](../assets/BosScore3.png) + +## Források + +Nyers adatok: + +Cikkek: +[severinalexb.medium.com/reverse-engineering-lightning-labs-terminal-score-1e08bb366f83](https://severinalexb.medium.com/reverse-engineering-lightning-labs-terminal-score-1e08bb366f83) +[lightning.engineering/posts/2019-11-07-routing-guide-2/](https://lightning.engineering/posts/2019-11-07-routing-guide-2/) +[lightninglabs.substack.com/p/its-lit-introducing-the-lightning](https://lightninglabs.substack.com/p/its-lit-introducing-the-lightning) + +Videók: +[twitter.com/lightning/status/1292898032430780429](https://twitter.com/lightning/status/1292898032430780429) diff --git a/docs/hu/advanced-tools/fees.md b/docs/hu/advanced-tools/fees.md new file mode 100644 index 0000000..16221a1 --- /dev/null +++ b/docs/hu/advanced-tools/fees.md @@ -0,0 +1,39 @@ +# Haladó és automatizált díjbeállítások + +## [Balance of Satoshis](https://github.com/alexbosworth/balanceofsatoshis) + +`$ bos fees --help` + +```text +USAGE + bos fees + List out fee rates, fix problems with routing policies, set out fees + When setting fee, if channels pending, will wait for confirm to set + Set-fee-rate can use formulas: https://formulajs.info/functions/ + You can use INBOUND_FEE_RATE to mirror an inbound fee + Specify PERCENT(0.00) to set the fee as a fraction of routed amount + Specify BIPS() to set the fee as parts per thousand + You can use INBOUND and OUTBOUND in formulas for IF formulas +OPTIONS + --node Node to find record on optional + --set-fee-rate Forward fee in parts per million optional + --to Peer public key or alias to set fees optional +``` + +## [charge-lnd](https://github.com/accumulator/charge-lnd) + +Csatorna-díjak beállítása szabályzat alapján. +Ez a szkript az aktív csatornáidat egyedi feltételek alapján vizsgálja, és a megfelelő szabályzatot alkalmazza rájuk. + +## [LND fees manager](https://gitlab.com/nolith/lndfeesmanager) + +Az lndfeesmanager egy egyszerű szoftver, amelynek célja a LN csatornák kiegyensúlyozása dinamikus díjak segítségével. +Ha egy csatorna kiegyensúlyozatlan, a díjakat automatikusan módosítja. + +Ha az egyenleg nagyrészt helyi (local), a díjak csökkennek, hogy ösztönözzék a routing-ot. +Ha az egyenleg nagyrészt távoli (remote), a díjak emelkednek, hogy visszafogják a routing-ot. +Ha a csatorna kiegyensúlyozott, közepes díj kerül beállításra. + +## További olvasnivaló + +* Hasznos képleteket tartalmazó cikk: [http://satbase.org/routing-fees/](http://satbase.org/routing-fees/) diff --git a/docs/hu/advanced-tools/lnd.conf.md b/docs/hu/advanced-tools/lnd.conf.md new file mode 100644 index 0000000..d194d0f --- /dev/null +++ b/docs/hu/advanced-tools/lnd.conf.md @@ -0,0 +1,128 @@ +# lnd.conf példa + +Az alábbiak alapján: + +* [https://github.com/lightningnetwork/lnd/blob/master/sample-lnd.conf](https://github.com/lightningnetwork/lnd/blob/master/sample-lnd.conf) +* [https://github.com/alexbosworth/run-lnd\#install-lnd](https://github.com/alexbosworth/run-lnd#install-lnd) +* [https://github.com/raspiblitz/raspiblitz/blob/master/home.admin/assets/lnd.bitcoin.conf](https://github.com/raspiblitz/raspiblitz/blob/master/home.admin/assets/lnd.bitcoin.conf) + +A szerkesztendő fájl elérési útja RaspiBlitz-en: + +```text +sudo nano /mnt/hdd/lnd/lnd.conf +``` + +```text +# Example configuration for lnd. + +[Application Options] +################################# +# Unique settings for each node # +################################# +# up to 32 UTF-8 characters +alias=ALIAS +# choose from: https://www.color-hex.com/ +color=COLOR +# default fees for new channels (does not affect existing ones) +bitcoin.feerate=100 +bitcoin.basefee=1 +minchansize=1000000 +accept-keysend=true +protocol.wumbo-channels=1 +# Domain, could use https://freedns.afraid.org +# tlsextradomain=lightning.yourhost.com + +# RPC open to all connections on Port 10009 +rpclisten=0.0.0.0:10009 +# REST open to all connections on Port 8080 +restlisten=0.0.0.0:8080 +# not for Tor +nat=false +debuglevel=debug +maxpendingchannels=5 +# to stop all incoming channels use: +# maxpendingchannels=0 +# Set the maximum amount of commit fees in a channel +max-channel-fee-allocation=1.0 +# Set the max timeout blocks of a payment +max-cltv-expiry=5000 + +######################### +# Improve startup speed # +######################### +# If true, we'll attempt to garbage collect canceled invoices upon start. +gc-canceled-invoices-on-startup=true +# If true, we'll delete newly canceled invoices on the fly. +gc-canceled-invoices-on-the-fly=true +# Avoid historical graph data sync +ignore-historical-gossip-filters=1 +# Enable free list syncing for the default bbolt database. This will decrease +# start up time, but can result in performance degradation for very large +# databases, and also result in higher memory usage. If "free list corruption" +# is detected, then this flag may resolve things. +sync-freelist=true +# Avoid high startup overhead +# If true, will apply a randomized staggering between 0s and 30s when +# reconnecting to persistent peers on startup. The first 10 reconnections will be +# attempted instantly, regardless of the flag's value +stagger-initial-reconnect=true + +######################### +# tls.cert improvements # +######################### +# Delete and recreate RPC TLS certificate when details change or cert expires +tlsautorefresh=1 +# Do not include IPs in the RPC TLS certificate +tlsdisableautofill=1 + +######################## +# Compact the database # +######################## +# best to use on demand, can take several minutes +[bolt] +# Whether the databases used within lnd should automatically be compacted on +# every startup (and if the database has the configured minimum age). This is +# disabled by default because it requires additional disk space to be available +# during the compaction that is freed afterwards. In general compaction leads to +# smaller database files. +# db.bolt.auto-compact=true +# How long ago the last compaction of a database file must be for it to be +# considered for auto compaction again. Can be set to 0 to compact on every +# startup. (default: 168h) +# db.bolt.auto-compact-min-age=0 + +[Bitcoin] +bitcoin.active=1 +bitcoin.node=bitcoind +bitcoin.mainnet=1 + +[Bitcoind] +bitcoind.rpcuser=RPC_USER +bitcoind.rpcpass=RPC_PASSWORD +bitcoind.rpchost=127.0.0.1 +bitcoind.zmqpubrawblock=tcp://*:28332 +bitcoind.zmqpubrawtx=tcp://*:28333 +bitcoind.estimatemode=ECONOMICAL + +[Wtclient] +wtclient.active=1 + +[Watchtower] +watchtower.active=1 + +[tor] +tor.active=true +tor.v3=true +tor.streamisolation=false +tor.skip-proxy-for-clearnet-targets=false +tor.privatekeypath=/mnt/hdd/lnd/v3_onion_private_key +tor.socks=9050 +tor.control=9051 + +``` + +Az LND-t újra kell indítani az új beállítások alkalmazásához. + +```text +sudo systemctl restart lnd +``` diff --git a/docs/hu/advanced-tools/pool.md b/docs/hu/advanced-tools/pool.md new file mode 100644 index 0000000..58dc58d --- /dev/null +++ b/docs/hu/advanced-tools/pool.md @@ -0,0 +1,127 @@ +# Pool használati megjegyzések + +Olvasd át a [dokumentációt](https://pool.lightning.engineering/) és az [alább felsorolt forrásokat](pool.md#forrasok). + +Parancsok és kulcsszavak kereséséhez a legjobb hely: [https://lightning.engineering/poolapi](https://lightning.engineering/poolapi) + +Kövesd a [https://twitter.com/LightningPool](https://twitter.com/LightningPool) oldalt a korábbi kötegek \(nem hivatalos\) listájáért és válogatott tartalmakért. + +A Pool telepítő szkriptje RaspiBlitz-hez [ebben a PR-ben](https://github.com/raspiblitz/raspiblitz/pull/1739) található: + +```text +# download +wget https://raw.githubusercontent.com/openoms/raspiblitz/pool/home.admin/config.scripts/bonus.pool.sh +# inspect the script +cat bonus.pool.sh +# install +bash bonus.pool.sh on +``` + +## clearing\_price\_rate + +A köteg egységesen alkalmazott elszámolási árfolyama milliárdodrészben (parts per billion). Megegyezik a kötegben szereplő legalacsonyabb elfogadott ajánlati árral. + +## ratings + +Visszaadja egy node aktuális Node Tier besorolását, egyéb információkkal együtt. + +Alapértelmezetten a [Bos Score listában](bosscore.md) szereplő node-okat használják az ajánlatok kitöltéséhez, ezeket a ratingben `TIER_1`-nek hívják. A választás az alábbi szempontok alapján történik: üzemidő, bejövő kapacitás, előzmény, csatorna frissítések, aktív routing-képesség \(probing által vizsgálva\). + +* Egy nyilvános node besorolásának ellenőrzése: + + ```text + pool auction ratings [NODE_PUBKEY] + ``` + +* A saját node besorolásának ellenőrzése: + + ```text + $ pool auc r $(lncli getinfo|grep "identity"|cut -d'"' -f4) + { + "node_ratings": [ + { + "node_pubkey": "REDACTED_NODE_PUBKEY", + "node_tier": "TIER_1" + } + ] + } + ``` + +* Egy csatorna vásárló \(Taker\) megadható, hogy minden besorolást elfogadjon: `--min_node_tier 0` + + ```text + --min_node_tier value the min node tier this bid should be matched with, tier 1 nodes are considered 'good', if set to tier 0, then all nodes will be considered regardless of 'quality' (default: 0) + ``` + +## nextbatchinfo + +Információkat ad vissza a következő kötegről, amelyet az árverésmester végrehajt. + +Megmutatja: + +* `fee_rate_sat_per_kw`: a célzott díjátvágási határ +* `clear_timestamp`: a következő piaci elszámolási kísérletet tartalmazó blokkmagasság + +`$ pool auction nextbatchinfo` + +Példa: + +```text +{ + "conf_target": 35, + "fee_rate_sat_per_kw": "27714", + "clear_timestamp": "1604406782" +} +``` + +Ahhoz, hogy a megrendelésed bekerüljön a következő kötegbe, a `fee_rate_sat_per_kw` értéknek meg kell haladnia a határérték feletti szintet. + +A megrendeléseid `fee_rate_sat_per_kw` értékeinek listázása: + +```text +$ pool orders list | grep fee_rate_sat_per_kw +``` + +## auction snapshot + +Információkat ad vissza egy korábbi kötegről, például az elszámolási árról és a kötegben szereplő megrendelésekről. A prev\_batch\_id mező használható a korábbi kötegek feltérképezésére a sorozatban, hasonlóan a blokklánchoz. + +Legutóbbi köteg információi: +`$ pool auction snapshot` + +Korábbi kötegek rekurzív lekérdezése: + +```text +# get the previous batch id +prev_batch_id=$(pool auc s |jq -r '.prev_batch_id') + +# show the prior batch (just repeat the line to show the past batches) +prev_batch_id=$(pool auc s --batch_id $prev_batch_id|jq -r '.prev_batch_id') && pool auc s --batch_id $prev_batch_id + +# show only the clearing price of the prior batch recursively: +prev_batch_id=$(pool auc s --batch_id $prev_batch_id|jq -r '.prev_batch_id') && pool auc s --batch_id $prev_batch_id|jq -r '.clearing_price_rate' +``` + +Keresd meg a köteg txid-ját a [http://1ml.com](http://1ml.com) oldalon a megerősítés után \(csatornák megnyitva és közzétéve\), hogy lásd a csatornák és peerek részleteit. [https://twitter.com/openoms/status/1326482404224229376](https://twitter.com/openoms/status/1326482404224229376) + +## logs + +A pool naplók monitorozása: `/home/pool/.pool/logs/mainnet/poold.log` + +Példa: + +```text +tail -f -n 1000 /home/pool/.pool/logs/mainnet/poold.log +``` + +## Források + +* Dokumentáció: [https://pool.lightning.engineering/](https://pool.lightning.engineering/) +* Forráskód: [https://github.com/lightninglabs/pool](https://github.com/lightninglabs/pool) +* API referencia: [https://lightning.engineering/poolapi](https://lightning.engineering/poolapi) +* Nem hivatalos válogatott információk Twitteren: [https://twitter.com/LightningPool](https://twitter.com/LightningPool) +* Lightning Wiki oldal: [https://lightningwiki.net/index.php/Lightning\_Pool](https://lightningwiki.net/index.php/Lightning_Pool) +* Pool kiadási szál @roasbeef-tól: [https://twitter.com/roasbeef/status/1323299990916063232](https://twitter.com/roasbeef/status/1323299990916063232) +* LNmarkets hírlevél a Pool-ról: [https://lnmarkets.substack.com/p/15-november-9th-2020](https://lnmarkets.substack.com/p/15-november-9th-2020) +* Technikai mélyélemzés blogbejegyzés: [https://lightning.engineering/posts/2020-11-02-pool-deep-dive/](https://lightning.engineering/posts/2020-11-02-pool-deep-dive/) +* Fehér könyv: [https://lightning.engineering/lightning-pool-whitepaper.pdf](https://lightning.engineering/lightning-pool-whitepaper.pdf) diff --git a/docs/hu/advanced-tools/watchtower.md b/docs/hu/advanced-tools/watchtower.md new file mode 100644 index 0000000..3603256 --- /dev/null +++ b/docs/hu/advanced-tools/watchtower.md @@ -0,0 +1,264 @@ +# LND őrtorony (watchtower) beállítása és kliens csatlakoztatása + +Az őrtorony figyeli a Bitcoin blokkláncot, és kiszűri azokat a tranzakciókat, amelyek egy korábbi, érvénytelen állapottal próbálják meg lezárni a kliens csatornáját, ezzel ellopva az abban lévő összegeket. Ha szabálysértést talál, az őrtorony azonnal közvetíti a büntető tranzakciót, amely a csatorna összes összegét a kliens onchain tárcájába helyezi át. + +Ha két, lnd v0.7.0 vagy újabb verziót futtató node-od van, beállíthatod őket, hogy kölcsönösen figyeljenek egymásra. A legjobb, ha a node-ok két különböző fizikai helyen vannak, így a váratlan kapcsolatvesztés esetén is biztosított a védelem. + +## LND frissítése + +Ellenőrizd a legújabb verziót és a kiadási megjegyzéseket itt: [https://github.com/lightningnetwork/lnd/releases/](https://github.com/lightningnetwork/lnd/releases/). Frissíts [kézileg](https://github.com/lightningnetwork/lnd/blob/master/docs/INSTALL.md#installing-lnd) vagy használj egy [automatizált segédszkriptet](https://github.com/openoms/lightning-node-management/blob/en/technicals/lnd.updates.md) az lnd frissítéséhez RaspiBlitz-en vagy kompatibilis rendszeren. + +## Az őrtorony beállítása (Watchtower setup) + +Futtasd a parancsokat a node terminálján. +A `#` a `$ sudo` rövidítése. + +* Szerkeszd az lnd.conf fájlt: + + `# nano /mnt/hdd/lnd/lnd.conf` + +* Illeszd be a következő sorokat a fájl végére: + + ```text + [Watchtower] + watchtower.active=1 + ``` + + * Az őrtorony alapértelmezetten a 9911-es porton figyel, de bármilyen más szabad portra állítható a konfigurációs fájlban: `watchtower.listen=0.0.0.0:PORT`. + * A `0.0.0.0` IP-cím azt jelenti, hogy mindenhonnan fogad kapcsolatokat \(alapértelmezett beállítás\). + +* Engedélyezd a portot a tűzfalon: +`# ufw allow 9911 comment "watchtower"` +`# ufw enable` +* Indítsd újra az lnd-t: `# systemctl restart lnd` +* Továbbítsd a 9911-es portot a routeren. +* Ellenőrizd a naplóban, hogy a szolgáltatás működik-e: + `# tail -n 10000 /mnt/hdd/lnd/logs/bitcoin/mainnet/lnd.log` + + Példa naplóbejegyzés: + + ```text + 2019-06-21 09:08:58.544 [INF] WTWR: Starting watchtower + 2019-06-21 09:08:58.544 [INF] WTWR: Starting lookout + 2019-06-21 09:08:58.544 [INF] WTWR: Starting lookout from chain tip + 2019-06-21 09:08:58.544 [INF] WTWR: Lookout started successfully + 2019-06-21 09:08:58.545 [INF] WTWR: Starting watchtower server + 2019-06-21 09:08:58.544 [INF] DISC: Attempting to bootstrap with: Authenticated Channel Graph + 2019-06-21 09:08:58.545 [INF] CMGR: Server listening on 127.0.0.1:9911 + 2019-06-21 09:08:58.545 [INF] NTFN: New block epoch subscription + 2019-06-21 09:08:58.545 [INF] WTWR: Watchtower server started successfully + 2019-06-21 09:08:58.546 [INF] WTWR: Watchtower started successfully + 2019-06-21 09:08:58.547 [INF] CHBU: Swapping old multi backup file from /home/bitcoin/.lnd/data/chain/bitcoin/mainnet/temp-dont-use.backup to /home/bitcoin/.lnd/data/chain/bitcoin/mainnet/channel.backup + 2019-06-21 09:08:58.575 [INF] DISC: Obtained 3 addrs to bootstrap network + 2019-06-21 13:10:27.014 [INF] WTWR: Watchtower started successfully + 2019-06-21 13:14:50.743 [INF] WTWR: Accepted incoming peer 02b5792e533ad17fc77db13093ad84ea304c5069018f97083e3a8c6a2eac95a63f@171.25.193.25:34413 + 2019-06-21 13:14:51.074 [INF] WTWR: Accepted session for 02b5792e533ad17fc77db13093ad84ea304c5069018f97083e3a8c6a2eac95a63f + 2019-06-21 13:14:51.074 [INF] WTWR: Releasing incoming peer 02b5792e533ad17fc77db13093ad84ea304c5069018f97083e3a8c6a2eac95a63f@171.25.193.25:34413 + ``` + + A releváns üzenetek folyamatos szűrése \(kilépés: CTRL+C\): + `# tail -f -n 10000 /mnt/hdd/lnd/logs/bitcoin/mainnet/lnd.log | grep WTWR` + +* Jegyezd fel a `pubkey`-t az alábbi parancs kimenetéből: + `$ lncli tower info` + + Az őrtorony pubkey-je különbözik az lnd node pubkey-jétől. + +## A megfigyelt node beállítása \(az őrtorony kliens\) + +* Szerkeszd az lnd.conf fájlt: + + `# nano /mnt/hdd/lnd/lnd.conf` + +* Illeszd be a következő sorokat a fájl végére: + + ```text + [Wtclient] + wtclient.active=1 + ``` + + Őrtorony hozzáadása parancssorból \(egyszerre többet is hozzáadhatsz, egyenként\): + + ```text + $ lncli wtclient add @:9911 + ``` + +* Használd a korábban a `$ lncli tower info` parancsból feljegyzett `watchtower-pubkey`-t. +* Clearnet kliens esetén a `host`-nak az őrtorony clearnet IP-címének \(vagy dynamicDNS-ének\) kell lennie, még akkor is, ha az őrtorony Tor mögött fut. +* Indítsd újra az lnd-t: +`# systemctl restart lnd` +* Ellenőrizd a naplóban, hogy a szolgáltatás működik-e: + `# tail -n 100 /mnt/hdd/lnd/logs/bitcoin/mainnet/lnd.log` + + Példa naplóbejegyzés: + + ```text + 2019-06-21 14:14:50.785 [DBG] WTCL: Sending Init to 02a4c564af0f33795b438e8d76d2b5057c3dcd1115be144c3fc05e7c8c65486f23@:9911 + 2019-06-21 14:14:51.098 [DBG] WTCL: Received Init from 02a4c564af0f33795b438e8d76d2b5057c3dcd1115be144c3fc05e7c8c65486f23@:9911 + 2019-06-21 14:14:51.105 [DBG] WTCL: Sending MsgCreateSession(blob_type=[FlagCommitOutputs|No-FlagReward], max_updates=1024 reward_base=0 reward_rate=0 sweep_fee_rate=12000) to 02a4c564af0f33795b438e8d76d2b5057c3dcd1115be144c3fc05e7c8c65486f23@:9911 + 2019-06-21 14:14:51.299 [DBG] WTCL: Received MsgCreateSessionReply(code=0) from 02a4c564af0f33795b438e8d76d2b5057c3dcd1115be144c3fc05e7c8c65486f23@:9911 + 2019-06-21 14:14:51.315 [DBG] WTCL: New session negotiated with 02a4c564af0f33795b438e8d76d2b5057c3dcd1115be144c3fc05e7c8c65486f23@:9911, policy: (blob-type=10 max-updates=1024 reward-rate=0 sweep-fee-rate=12000) + 2019-06-21 14:14:51.320 [INF] WTCL: Acquired new session with id=02b5792e533ad17fc77db13093ad84ea304c5069018f97083e3a8c6a2eac95a63f + 2019-06-21 14:14:51.322 [DBG] WTCL: Loaded next candidate session queue id=02b5792e533ad17fc77db13093ad84ea304c5069018f97083e3a8c6a2eac95a63f + 2019-06-21 14:15:16.588 [INF] WTCL: Client stats: tasks(received=0 accepted=0 ineligible=0) sessions(acquired=1 exhausted=0) + ``` + + A releváns üzenetek folyamatos szűrése \(kilépés: CTRL+C\): + `# tail -f -n 10000 /mnt/hdd/lnd/logs/bitcoin/mainnet/lnd.log | grep WTCL` + + A napló részletességének növeléséhez add hozzá az alábbi sort az lnd.conf fájlhoz: + + ```text + debuglevel=WTWR=debug,WTCL=debug + ``` + + vagy futtasd a parancsot menet közben: + `lncli debuglevel --level=WTWR=debug,WTCL=debug` + + Példa naplóbejegyzés: + + ```text + 2019-07-29 15:26:51.386 [DBG] WTWR: Fetching block for (height=587633, hash=0000000000000000000b047fbe6d93c2af193249bdb864a99186914fc4b0b2c6) + 2019-07-29 15:26:52.192 [DBG] WTWR: Scanning 3007 transaction in block (height=587633, hash=0000000000000000000b047fbe6d93c2af193249bdb864a99186914fc4b0b2c6) for breaches + 2019-07-29 15:26:52.301 [DBG] WTWR: No breaches found in (height=587633, hash=0000000000000000000b047fbe6d93c2af193249bdb864a99186914fc4b0b2c6) + 2019-07-29 15:34:17.877 [DBG] WTWR: Fetching block for (height=587634, hash=00000000000000000010615b2c0b3c32cb4ebcb7eb0bd452812f5c48d0edad0c) + 2019-07-29 15:34:18.463 [DBG] WTWR: Scanning 2691 transaction in block (height=587634, hash=00000000000000000010615b2c0b3c32cb4ebcb7eb0bd452812f5c48d0edad0c) for breaches + 2019-07-29 15:34:18.619 [DBG] WTWR: No breaches found in (height=587634, hash=00000000000000000010615b2c0b3c32cb4ebcb7eb0bd452812f5c48d0edad0c) + ``` + + Dőlj hátra és élvezd, hogy mostantól semmilyen módon nem lehet becsapni a node-odat, még akkor sem, ha offline! + +## Beállítás Tor mögötti node-okhoz + +Mindkét node-nak \(az őrtoronynak és a kliensnek is\) Tor mögött kell futnia ahhoz, hogy kommunikálni tudjanak egymással. + +### Tor őrtorony beállítás (Tor Watchtower setup) + +* Szerkeszd az lnd.conf fájlt: + + `# nano /mnt/hdd/lnd/lnd.conf` + +* Illeszd be a következő sorokat a fájl végére: + + ```text + [Watchtower] + watchtower.active=1 + ``` + +* Szerkeszd az őrtorony Tor konfigurációs fájlját: + `# nano /etc/tor/torrc` + + Add hozzá a következő sorokat: + + ```text + # Hidden Service for incoming LND WatchTower connections + HiddenServiceDir /mnt/hdd/tor/lndWT9911 + HiddenServicePort 9911 127.0.0.1:9911 + ``` + +* Indítsd újra a Tor-t és az lnd-t a systemctl segítségével: +`# systemctl restart tor` +`# systemctl restart lnd` +* Jegyezd fel az őrtorony onion címét az alábbi paranccsal: +`# cat /mnt/hdd/tor/lndWT9911/hostname` +* Jegyezd fel a watchtower-pubkey-t az alábbi paranccsal: +`$ lncli tower info` +* A napló folyamatos szűrése \(kilépés: CTRL+C\): +`# tail -f -n 10000 /mnt/hdd/lnd/logs/bitcoin/mainnet/lnd.log | grep WTWR` + + Példa kimenet az őrtorony oldalán: + + ```text + 2019-08-20 11:26:30.555 [INF] WTWR: Accepted incoming peer WTCLIENT_PUBKEY@127.0.0.1:57264 + 2019-08-20 11:26:30.558 [DBG] WTWR: Received Init from WTCLIENT_PUBKEY@127.0.0.1:57264 + 2019-08-20 11:26:30.565 [DBG] WTWR: Sending Init to WTCLIENT_PUBKEY@127.0.0.1:57264 + 2019-08-20 11:26:30.931 [DBG] WTWR: Received MsgCreateSession(blob_type=[FlagCommitOutputs|No-FlagReward], max_updates=1024 reward_base=0 reward_rate=0 sweep_fee_rate=2500) from WTCLIENT_PUBKEY@127.0.0.1:57264 + 2019-08-20 11:26:30.968 [INF] WTWR: Accepted session for WTCLIENT_PUBKEY + 2019-08-20 11:26:30.968 [DBG] WTWR: Sending MsgCreateSessionReply(code=0) to WTCLIENT_PUBKEY@127.0.0.1:57264 + 2019-08-20 11:26:30.981 [INF] WTWR: Releasing incoming peer WTCLIENT_PUBKEY@127.0.0.1:57264 + 2019-08-20 11:27:27.260 [DBG] WTWR: Fetching block for (height=590941, hash=000000000000000000069b8d2739cb8736cc6a14927d760a7b7dfa47e1e5059e) + 2019-08-20 11:27:28.464 [DBG] WTWR: Scanning 3621 transaction in block (height=590941, hash=000000000000000000069b8d2739cb8736cc6a14927d760a7b7dfa47e1e5059e) for breaches + 2019-08-20 11:27:28.729 [DBG] WTWR: No breaches found in (height=590941, hash=000000000000000000069b8d2739cb8736cc6a14927d760a7b7dfa47e1e5059e) + ``` + +### Tor őrtorony kliens beállítás (Tor Watchtower Client setup) + +* Szerkeszd az lnd.conf fájlt: + + `# nano /mnt/hdd/lnd/lnd.conf` + +* Illeszd be a következő sorokat a fájl végére: + + ```text + [Wtclient] + wtclient.active=1 + ``` + +* Őrtorony hozzáadása parancssorból \(egyszerre többet is hozzáadhatsz, egyenként\): + + ```text + $ lncli wtclient add 02b745aa2c27881f2494978fe76494137f86fef6754e5fd19313670a5bc639ea82@xjyldrwmtxtutdqqhgvxvnykk4ophz6ygr3ci4gxnnt5wibl7k4g2vad.onion:9911 + ``` + + * Egy teszt node adatai vannak előre kitöltve. A kapcsolódás üdvözölt, de nincs garancia arra, hogy ez a szolgáltatás folyamatosan elérhető marad. + * Használd a korábban a `$ lncli tower info` parancsból feljegyzett `watchtower-pubkey`-t. + * A host az őrtorony .onion címe, amelyet korábban a `# cat /mnt/hdd/tor/lndWT9911/hostname` parancsból jegyeztél fel. +* Indítsd újra az lnd-t a systemctl segítségével: +`# systemctl restart lnd` +* Ellenőrizd, mely őrtornyok figyelnek: +`$ lncli wtclient towers` + + Példa kimenet: + + ```text + { + "towers": [ + { + "pubkey": "02b745aa2c27881f2494978fe76494137f86fef6754e5fd19313670a5bc639ea82", + "addresses": [ + "xjyldrwmtxtutdqqhgvxvnykk4ophz6ygr3ci4gxnnt5wibl7k4g2vad.onion:9911" + ], + "active_session_candidate": true, + "num_sessions": 0, + "sessions": [] + } + ] + } + ``` + +* A napló folyamatos szűrése \(kilépés: CTRL+C\): + `# tail -f -n 10000 /mnt/hdd/lnd/logs/bitcoin/mainnet/lnd.log | grep WTCL` + + Példa kimenet a kliens oldalán: + + ```text + 2019-07-26 10:30:08.041 [INF] WTCL: Client stats: tasks(received=8 accepted=8 ineligible=0) sessions(acquired=0 exhausted=0) + 2019-07-26 10:30:34.105 [DBG] WTCL: Processing backup(8fd5d5dc97fc6e52da36bd527357a9c87f2a2529379f9f50241e35ab0c95c404, 6315) + 2019-07-26 10:30:34.106 [DBG] WTCL: SessionQueue(026d7b4f4fd7dcdb5a2acce00a8d1cca5bbaeb7e9d89a30ded7d4b62b7b50b3399) deciding to accept backup(8fd5d5dc97fc6e52da36bd527357a9c87f2a2529379f9f50241e35ab0c95c404, 6315) seqnum=0 pending=8 max-updates=1024 + 2019-07-26 10:30:34.108 [INF] WTCL: Queued backup(8fd5d5dc97fc6e52da36bd527357a9c87f2a2529379f9f50241e35ab0c95c404, 6315) successfully for session 026d7b4f4fd7dcdb5a2acce00a8d1cca5bbaeb7e9d89a30ded7d4b62b7b50b3399 + 2019-07-26 10:31:08.041 [INF] WTCL: Client stats: tasks(received=9 accepted=9 ineligible=0) sessions(acquired=0 exhausted=0) + ``` + +## Inaktív őrtornyok eltávolítása +* Futtasd a terminálban: + ``` + for i in $(lncli wtclient towers | grep false -B 4 | grep pubkey | awk '{print $2}' | cut -d'"' -f2); do lncli wtclient remove $i; done + ``` + +## További információk: + +[https://github.com/lightningnetwork/lnd/blob/master/docs/watchtower.md](https://github.com/lightningnetwork/lnd/blob/master/docs/watchtower.md) + +Legfrissebb lnd kiadási megjegyzések: [https://github.com/lightningnetwork/lnd/releases](https://github.com/lightningnetwork/lnd/releases) + +[https://thebitcoinnews.com/watchtowers-are-coming-to-lightning/](https://thebitcoinnews.com/watchtowers-are-coming-to-lightning/) + +[https://bitcoinops.org/en/newsletters/2019/06/19/](https://bitcoinops.org/en/newsletters/2019/06/19/) + +Will O\`Beirne ebben a cikkben \(és a hozzá tartozó GitHub repóban\) bemutatja, hogyan lehet szabálysértéseket szimulálni és az őrtorony reakcióit megfigyelni egy szimulált hálózaton: [https://medium.com/@wbobeirne/testing-out-watchtowers-with-a-simulated-breach-f1ad22c01112](https://medium.com/@wbobeirne/testing-out-watchtowers-with-a-simulated-breach-f1ad22c01112) + +SLP83 Conner Fromknecht -- Bitcoin Lightning őrtornyok (Watchtowers) részletesen +podcast: [https://stephanlivera.com/episode/83](https://stephanlivera.com/episode/83) +átirat: [http://diyhpl.us/wiki/transcripts/stephan-livera-podcast/2019-06-24-conner-fromknecht-stephan-livera/](http://diyhpl.us/wiki/transcripts/stephan-livera-podcast/2019-06-24-conner-fromknecht-stephan-livera/) + +Keress altruista őrtornyokat és oszd meg a sajátodat: [https://github.com/openoms/lightning-node-management/issues/4](https://github.com/openoms/lightning-node-management/issues/4) diff --git a/docs/hu/channelmarkets.md b/docs/hu/channelmarkets.md new file mode 100644 index 0000000..9e72b9f --- /dev/null +++ b/docs/hu/channelmarkets.md @@ -0,0 +1,11 @@ +# Lightning csatorna piacok összehasonlító táblázata (channel markets) + +| lista | használat egyszerűsége | likviditás költsége | kétirányú likviditás | lánchoz kötött díj terhelés | bizalom/kikényszerítés | +| - | :--- | :--- |:-- |:-- |:-- | +| csatorna swap-ok |egyszerű| tetszőleges / ingyenes |igen, két csatorna | mindkettő | minimális/LN| +| bizalmi swap-ok | egyszerű|tetszőleges / ingyenes| igen, a swap-olt pénz egy csatornában tolódik | egyik fél | bizalmi/LN | +| rings of fire | bonyolult | ingyenes | igen, két csatorna | fejenként egy csatorna| minimális/LN| +| lightningnetwork.plus | egyszerű | ingyenes | igen, két csatorna | fejenként egy csatorna | minimális/LN| +| LL Pool | bonyolult | alapdíj + ppm (+ 1000 ppm az LL-nek)| csak bejövő | eladó fedezi | minimális/poold+LN| +| liquidity ads | csak CLI | alapdíj + ppm kizárólag a Peer-nek fizetve | igen | vevő fedezi | minimális / az eladó pénze zárolva van a lejáratig | +| Amboss.space Magma | egyszerű | ppm (+ a díj 10%-a az Amboss-nak)| csak bejövő | eladó fedezi | közösségi, reputációs rendszeren alapul | diff --git a/docs/hu/clrecovery.md b/docs/hu/clrecovery.md new file mode 100644 index 0000000..020cc75 --- /dev/null +++ b/docs/hu/clrecovery.md @@ -0,0 +1,7 @@ +# Core Lightning (CLN) helyreállítási források (Recovery Resources) + +* [lightning.readthedocs.io/FAQ.html#database-corruption-channel-state-lost](https://lightning.readthedocs.io/FAQ.html#database-corruption-channel-state-lost) + +* [lightning.readthedocs.io/FAQ.html#loss](https://lightning.readthedocs.io/FAQ.html#loss) + +* [github.com/raspiblitz/raspiblitz/blob/v1.7/FAQ.cl.md#recovery](https://github.com/raspiblitz/raspiblitz/blob/v1.7/FAQ.cl.md#recovery) diff --git a/docs/hu/createinboundliquidity.md b/docs/hu/createinboundliquidity.md new file mode 100644 index 0000000..09a700f --- /dev/null +++ b/docs/hu/createinboundliquidity.md @@ -0,0 +1,225 @@ +Bejövő likviditás létrehozásához egy meglévő csatornán (hogy fizetéseket tudjunk fogadni) egyszerűen fizessünk egy Lightningot elfogadó kereskedőnek, és kapjuk meg a terméket, vagy kapjuk vissza a satoshikat onchain-en. + +Különböző ajándékkártyák vásárlásához Lightninggal lásd: [Bitrefill (ajánlói link)](https://www.bitrefill.com/buy/?code=XapbJJd8). + +- [Két oldalról finanszírozott csatornák (Dual-funded channels)](#ket-oldalrol-finanszirozott-csatornak-dual-funded-channels) + - [Core Lightning két oldalról finanszírozott csatornák protokoll szinten](#core-lightning-ket-oldalrol-finanszirozott-csatornak-protokoll-szinten) + - [Manuális egyeztetés LND-n a Balance of Satoshis-szal (Manual coordination with Balance of Satoshis)](#manualis-egyeztetes-lnd-n-a-balance-of-satoshis-szal-manual-coordination-with-balance-of-satoshis) +- [Bejövő csatornák vásárlása (Inbound channels)](#bejovo-csatornak-vasarlasa-inbound-channels) + - [Lightning csatorna piacok összehasonlító táblázata (Channel Markets)](#lightning-csatorna-piacok-osszehasonlito-tablazata-channel-markets) + - [Amboss Magma](#amboss-magma) + - [Blocktank a Synonym-tól](#blocktank-a-synonym-tól) + - [Voltage Flow](#voltage-flow) + - [Lightning Pool](#lightning-pool) + - [Microlancer.io](#microlancerio) + - [Sats4Likes](#sats4likes) + - [Thor: Lightning csatornanyitó szolgáltatás a Bitrefill.com-tól](#thor-lightning-csatornanyito-szolgaltatas-a-bitrefillcom-tol) + - [LNBIG.com](#lnbigcom) + - [Coincept.com](#coinceptcom) + - [Yalls.org](#yallsorg) + - [lnd-routing](#lnd-routing) +- [Bejövő csatornák kérése (Inbound channels)](#bejovo-csatornak-kerese-inbound-channels) + - [lightningnetwork.plus](#lightningnetworkplus) + - [LightningTo.me](#lightningtome) + - [Csatlakozz egy közösséghez (Join a Community)](#csatlakozz-egy-kozosseghez-join-a-community) +- [Swap out - bizalomigény nélküli (Trustless Swap Out)](#swap-out---bizalomigeny-nelkuli-trustless-swap-out) + - [Lightning Loop](#lightning-loop) + - [Boltz.exchange](#boltzexchange) +- [Swap out - bizalmon alapuló (Trusted Swap Out)](#swap-out---bizalmon-alapulo-trusted-swap-out) + - [deezy.io](#deezyio) + - [Bitfinex](#bitfinex) + - [FixedFloat](#fixedfloat) + - [ZigZag.io](#zigzagio) + - [Már nem elérhető ChainMarket](#már-nem-elérhető-chainmarket) +- [Küldés mobil tárcára (Sending to Mobile Wallet)](#kuldes-mobil-tarcara-sending-to-mobile-wallet) + - [Saját kezelésű tárcák (Self-custodial Wallets)](#sajat-kezellesu-tarcak-self-custodial-wallets) + - [Felügyelt tárcák (Custodial Wallets)](#felugyelt-tarcak-custodial-wallets) +- [További linkek (Further Links)](#tovabbi-linkek-further-links) + +## Két oldalról finanszírozott csatornák (Dual-funded channels) +### Core Lightning két oldalról finanszírozott csatornák protokoll szinten +* [Használat a RaspiBlitz-en](https://github.com/raspiblitz/raspiblitz/blob/dev/FAQ.cl.md#dual-funded-channels) +* [Két oldalról finanszírozott csatorna megnyitása](https://medium.com/blockstream/c-lightning-opens-first-dual-funded-mainnet-lightning-channel-ada6b32a527c) +* [Liquidity ads beállítása](https://medium.com/blockstream/setting-up-liquidity-ads-in-c-lightning-54e4c59c091d) + +### Manuális egyeztetés LND-n a Balance of Satoshis-szal (Manual coordination with Balance of Satoshis) +* [github.com/alexbosworth/balanceofsatoshis](https://github.com/alexbosworth/balanceofsatoshis) +* [Útmutató szükséges] + +## Bejövő csatornák vásárlása (Inbound channels) +### Lightning csatorna piacok összehasonlító táblázata (Channel Markets) +* [channelmarkets.md](https://github.com/openoms/lightning-node-management/blob/en/channelmarkets.md) + +### [Amboss Magma](https://amboss.space) +* Lightning likviditási piactér + +### [Blocktank a Synonym-tól](https://blocktank.to/#widget) +https://x.com/Synonym_to/status/1747615808010752199 +Bitfinex-en keresztül is működik, videó [itt](https://twitter.com/Synonym_to/status/1747604683907379651) + +### Voltage Flow +* Vásárolj sidecar csatornát a Voltage Flow-n keresztül a Lightning Pool-ból +* [blog.voltage.cloud/introducing-flow/](https://blog.voltage.cloud/introducing-flow/) + +### [Lightning Pool](https://pool.lightning.engineering/) +* Vásárolj bejövő csatornákat egy engedélymentes piactéren: [https://pool.lightning.engineering/](https://pool.lightning.engineering/) +* Használati megjegyzések: [pool.md](advanced-tools/pool.md) + +### [Microlancer.io](https://microlancer.io/services/?tag=%23lightning-network) +* Fizess bejövő csatornákért. + +### [Sats4Likes](https://kriptode.com/satsforlikes/index.html) +* Adj fel hirdetést, és fizess satoshikat bejövő csatornákért. + +### [Thor: Lightning csatornanyitó szolgáltatás a Bitrefill.com-tól](https://www.bitrefill.com/thor-lightning-network-channels/?hl=en) + +* Fizess Lightninggal egy legfeljebb 16 000 000 satoshis bejövő csatornáért. + +### [LNBIG.com](https://lnbig.com/#/open-channel) + +* Vásárolj bejövő csatornákat innen: [https://twitter.com/lnbig\_com](https://twitter.com/lnbig_com) + +### [Coincept.com](https://coincept.com/) + +### [Yalls.org](https://yalls.org/about/) + +### [lnd-routing](https://github.com/lnd-routing/lnd-routing/) + +## Bejövő csatornák kérése (Inbound channels) + +### [lightningnetwork.plus](http://lightningnetwork.plus) +* Igényeld a node-odat az LN+-on, és csatlakozz egy ingyenes csatorna swap-hoz + +### [LightningTo.me](https://lightningto.me/) + +* Ingyenesen nyit egy 2 000 000 satoshival finanszírozott csatornát. A szolgáltatás használatához már 10 nyitott csatornával kell rendelkezni. +Ha Tor mögül csatlakozol, add hozzá a node-jukat peer-ként: +`$ lncli connect 03bb88ccc444534da7b5b64b4f7b15e1eccb18e102db0e400d4b9cfe93763aa26d@138.68.14.104:9735` + +### Csatlakozz egy közösséghez (Join a Community) + +* [PLEBNET - KYCjelly.com](https://kycjelly.com) +[plebnet.wiki/wiki/Welcome_to_Plebnet](https://plebnet.wiki/wiki/Welcome_to_Plebnet) + +* Rings of Fire + [Hogyan csatlakozz egy gyűrűhöz](https://github.com/Rings-of-Fire/ring-of-fire/wiki#how) + +## Swap out - bizalomigény nélküli (Trustless Swap Out) + +Fizess Lightninggal és kapj onchain-t. + +### [Lightning Loop](https://github.com/lightninglabs/loop) + +A Lightning Loop a Lightning Labs által kínált nem felügyelt szolgáltatás, amely submarine swap-okkal hidalja át az onchain és offchain Bitcoint. + +A Loop szoftver jelenlegi verziójából két swap típus támogatott: + +* Loop Out: offchain-ről onchain-re. A Loop kliens a Lightningon fizetett pénzt egy Bitcoin-címre küldi. +* Loop In: onchain-ről offchain-re. A Loop kliens az onchain-en fizetett pénzt egy Lightning csatornába küldi. +* Maximális swap összeg: 4 200 000 sats +* Példa használat a legalacsonyabb költséghez (hosszabb megerősítési időt eredményez (becslés 25 blokkra) és magasabb hibaráta (maximum routing díj 500 sats) -- a számokat ennek megfelelően állítsd): + `loop out --conf_target 25 --max_swap_routing_fee 500 4200000 [optional external address]` + + ```text + loop out [command options] amt [addr] + + # --channel value the 8-byte compact channel ID of the channel to loop out (default: 0) + # --addr value the optional address that the looped out funds should be sent to, if let blank the funds will go to lnd's wallet + # --amt value the amount in satoshis to loop out (default: 0) + # --conf_target value the number of blocks from the swap initiation height that the on-chain HTLC should be swept within (default: 6) + # --max_swap_routing_fee value the max off-chain swap routing fee in satoshis, if let blank a default max fee will be used (default: 0) + # --fast Indicate you want to swap immediately, paying potentially a higher fee. If not set the swap server might choose to wait up to 30 minutes before publishing the swap HTLC on-chain, to save on chain fees. Not setting this flag might result in a lower swap fee. + ``` + + [https://lightning.engineering/loopapi](https://lightning.engineering/loopapi) + +### [Boltz.exchange](https://boltz.exchange/) + +Díj: 0.5% mindkét irányban + +## Swap out - bizalmon alapuló (Trusted Swap Out) + +### [deezy.io](https://deezy.io/) + +Azonnali swap a bejövő likviditás biztosításához. + +* API: + +* Testnet feltételek lekérdezése: + ``` + curl -X GET https://api-testnet.deezy.io/v1/swap/info -H "Accept: */*" + ``` + +* Fizesd ki a visszakapott invoice-t egy testnet swap végrehajtásához: + ``` + curl -X POST https://api-testnet.deezy.io/v1/swap -H "Accept: */*" -H "Content-Type: application/json" --data-binary @- < onchain és más swap-okhoz +* https://cointastical.medium.com/exchanges-with-support-for-bitcoin-lightning-network-payments-739829bcb7bc +Lightning Network fizetéseket támogató tőzsdék diff --git a/docs/hu/createoutboundliquidity.md b/docs/hu/createoutboundliquidity.md new file mode 100644 index 0000000..7c59415 --- /dev/null +++ b/docs/hu/createoutboundliquidity.md @@ -0,0 +1,15 @@ +# Kimenő likviditás létrehozása (Creating Outbound Liquidity) + +Kimenő likviditás létrehozása (hogy fizetéseket tudjunk küldeni) egyszerű: csak nyissunk egy csatornát egy jól kapcsolt, stabil node-hoz. + +Meglévő kimerült (üres) csatornák feltöltéséhez fizessünk onchain-en és fogadjuk Lightningon. + +## [submarineswaps.org](https://submarineswaps.org/) + +Nyílt forráskód: [https://github.com/submarineswaps/swaps-service](https://github.com/submarineswaps/swaps-service) + +## [Lightning Loop](https://github.com/lightninglabs/loop) + +Loop In: onchain-ról offchain-re, ahol a Loop kliens az onchain-en fizetett pénzt egy offchain csatornába küldi. + +## Lásd a kétirányú szolgáltatásokat a következő oldalon: [CreateInboundLiquidity.md](createinboundliquidity.md) diff --git a/docs/hu/donate/donations.md b/docs/hu/donate/donations.md new file mode 100644 index 0000000..0df3325 --- /dev/null +++ b/docs/hu/donate/donations.md @@ -0,0 +1,11 @@ +# Kapcsolat és adományok + +* Nostr NIP05: openoms@diynodes.com + `npub14tq8m9ggnnn2muytj9tdg0q6f26ef3snpd7ukyhvrxgq33vpnghs8shy62` + +* Saját üzemeltetésű BTCPayServer (LN + onchain PayJoin-nal): + [https://tips.diynodes.com](https://tips.diynodes.com) + +* Lightning Address: openoms@pay.diynodes.com + +* Blink Wallet: openoms@blink.sv diff --git a/docs/hu/hardware/raspiblitz.md b/docs/hu/hardware/raspiblitz.md new file mode 100644 index 0000000..f6706ff --- /dev/null +++ b/docs/hu/hardware/raspiblitz.md @@ -0,0 +1,19 @@ +# Építsd meg saját Lightning és Bitcoin full node-odat egy RaspberryPi-n szép kijelzővel (Build Your Own Lightning and Bitcoin Full Node on a RaspberryPi with a Nice Display) + +Kezdd el a [raspiblitz.org](https://raspiblitz.org/) oldalon + +További útmutatók és példák: + +* [charge-lnd](raspiblitz/charge-lnd.md) +* [Balance of Satoshis Telegram Bot](raspiblitz/bos.md) +* [LND frissítések](raspiblitz/lnd.updates.md) +* [Bitcoin Core frissítések](https://openoms.github.io/bitcoin-tutorials/raspiblitz.updates/#bitcoin-core-updates) +* [VPN és tűzfal beállítás](https://gist.github.com/openoms/037bb0e3cccab58bfac5376db37bb57c) +A node nyilvános IP-címének elrejtése megosztott VPN szolgáltatással. + * mullvad.net + * Fizetés Lightning-gal: + https://vpn.sovereign.engineering + http://soveng42aj6ynynkqeyut2dwnmwou45epfpuwvjy2t45fpxn3dk2ymad.onion/ + https://twitter.com/carl_dong/status/1343343232500035585 + * VPN összehasonlító táblázat: + * Beszélgetés a gist alatt: diff --git a/docs/hu/hardware/raspiblitz/bos.md b/docs/hu/hardware/raspiblitz/bos.md new file mode 100644 index 0000000..c13b709 --- /dev/null +++ b/docs/hu/hardware/raspiblitz/bos.md @@ -0,0 +1,122 @@ +Projekt és readme: +https://github.com/alexbosworth/balanceofsatoshis + +RaspiBlitz telepítő szkript: +https://github.com/raspiblitz/raspiblitz/blob/v1.6/home.admin/config.scripts/bonus.bos.sh +használat: + +A Balance of Satoshis a SERVICES menüből telepíthető + +vagy régebbi verziókon: +``` +# update NodeJS +wget https://raw.githubusercontent.com/raspiblitz/raspiblitz/v1.6/home.admin/config.scripts/bonus.nodejs.sh +bash bonus.nodejs.sh off +bash bonus.nodejs.sh on +# download bos install script +wget https://raw.githubusercontent.com/raspiblitz/raspiblitz/v1.6/home.admin/config.scripts/bonus.bos.sh +# run +bash bonus.bos.sh on +``` + +Kézi telepítés a RaspiBlitz-en: + +``` +# check and install NodeJS +/home/admin/config.scripts/bonus.nodejs.sh + +# create bos user +sudo adduser --disabled-password --gecos "" bos + +# set up npm-global +sudo -u bos mkdir /home/bos/.npm-global +sudo -u bos npm config set prefix '/home/bos/.npm-global' +sudo bash -c "echo 'PATH=$PATH:/home/bos/.npm-global/bin' >> /home/bos/.bashrc" + +# download source code +sudo -u bos git clone https://github.com/alexbosworth/balanceofsatoshis.git /home/bos/balanceofsatoshis +cd /home/bos/balanceofsatoshis + +# make sure symlink to central app-data directory exists ***" +# not a symlink.. delete it silently +sudo rm -rf /home/bos/.lnd +# create symlink +sudo ln -s "/mnt/hdd/app-data/lnd/" "/home/bos/.lnd" + +# make sure rtl is member of lndadmin +sudo /usr/sbin/usermod --append --groups lndadmin bos + +# install bos +sudo -u bos npm install -g balanceofsatoshis +``` + +Futtatás a bos felhasználóból: +``` +sudo su - bos +bos help +``` + +## Telegram bot beállítása a node-odhoz (Setting Up a Telegram Bot for Your Node) +**FIGYELMEZTETÉS: a Telegram Bot a node-od eseményeiről titkosított üzeneteket küld a nyílt interneten (clearnet), amelyeket a központi Telegram Bot API fejt vissza** + +A nyilvános IP-címed Telegram felé történő kiszivárgásának elkerüléséhez használd a `torify` parancsot a `bos telegram` előtt, hogy a kommunikáció a Tor hálózaton keresztül történjen: +`torify bos telegram` kapcsolódó issue: https://github.com/alexbosworth/balanceofsatoshis/issues/54 + +* Menj a t.me/BotFather oldalra +`/newbot` +* Másold ki az API kulcsot + +* A terminálban (tmux-ban, ha folyamatosan futtatni szeretnéd): +`torify bos telegram` +* Illeszd be az API kulcsot a terminálba + +* Az új TG botodban: +`/connect` + +* Illeszd be a csatlakozási kódot a terminálba a bos számára. + + +## Gist megjegyzésekkel (Gist with Notes) +https://gist.github.com/openoms/823f99d1ab6e1d53285e489f7ba38602#to-set-up-a-telegram-bot-connected-to-your-node + +## A BOS-Telegram Bot hozzáadása az indítási szkriptekhez (Adding the BOS-Telegram Bot to Startup Scripts) +https://github.com/ziggie1984/miscellanous/blob/97c4905747fe23a824b6e53dc674c4a571ac0f5c/automation_telegram_bot.md + + +## Egyéni node beállítása (Custom Node Setup - testnet, signet, etc.) +``` +# export the connection string +CHAIN=testnet +LAN_IP="127.0.0.1" +CERT=$(base64 /mnt/hdd/lnd/tls.cert | tr -d '\n') +MACAROON=$(sudo base64 /mnt/hdd/lnd/data/chain/bitcoin/${CHAIN}/admin.macaroon | tr -d '\n') + +# L2rpcportmod is: 0 | 1 | 3 +chain=${CHAIN::-3} +if [ "${chain}" == "main" ]; then + netprefix="" + L2rpcportmod=0 +elif [ "${chain}" == "test" ]; then + netprefix="t" + L2rpcportmod=1 +elif [ "${chain}" == "sig" ]; then + netprefix="s" + L2rpcportmod=3 +fi + +echo "{ \"cert\": \"$CERT\", \"macaroon\": \"$MACAROON\", \"socket\": \"$LAN_IP:1${L2rpcportmod}009\"}" + +# import to bos + +# choose a name to identify your node in bos +NODE_NAME="${netprefix}lnd" + +# create a credential json +sudo -u bos mkdir -p /home/bos/.bos/$NODE_NAME/ + +# paste the connection string exported above to `/home/bos/.bos/$NODE_NAME/credentials.json` with nano or run: +echo "{ \"cert\": \"$CERT\", \"macaroon\": \"$MACAROON\", \"socket\": \"$LAN_IP:1${L2rpcportmod}009\"}" | sudo -u bos tee /home/bos/.bos/$NODE_NAME/credentials.json + +# test +sudo -u bos /home/bos/.npm-global/bin/bos balance --node $NODE_NAME +``` diff --git a/docs/hu/hardware/raspiblitz/charge-lnd.md b/docs/hu/hardware/raspiblitz/charge-lnd.md new file mode 100644 index 0000000..ea24dd8 --- /dev/null +++ b/docs/hu/hardware/raspiblitz/charge-lnd.md @@ -0,0 +1,66 @@ +A charge-lnd-ről további információ: https://github.com/accumulator/charge-lnd + +Telepítsd az alábbi parancsokkal soronként (a kódban a megjegyzések # jellel kezdődnek): +``` +# váltás a bitcoin felhasználóra +sudo su - bitcoin +# charge-lnd letöltése +git clone https://github.com/accumulator/charge-lnd.git +# dedikált macaroon létrehozása +lncli bakemacaroon offchain:read offchain:write onchain:read info:read --save_to=~/.lnd/data/chain/bitcoin/mainnet/charge-lnd.macaroon +# könyvtárváltás +cd charge-lnd +# charge-lnd telepítése +pip install -U setuptools && pip install -r requirements.txt . +# kilépés a bitcoin felhasználóból +exit +``` + +Illeszd be az alábbi teljes kódblokkot a példakonfiguráció létrehozásához a `/home/bitcoin/charge-lnd/charge.config` helyen: +``` +echo " +[default] +strategy = static +base_fee_msat = 1000 +fee_ppm = 1000 +time_lock_delta = 144 + +[exchanges-drain-sats] +node.id = 033d8656219478701227199cbd6f670335c8d408a92ae88b962c49d4dc0e83e025, 03cde60a6323f7122d5178255766e38114b4722ede08f7c9e0c5df9b912cc201d6,037f990e61acee8a7697966afd29dd88f3b1f8a7b14d625c4f8742bd952003a590,03cde60a6323f7122d5178255766e38114b4722ede08f7c9e0c5df9b912cc201d6,033d8656219478701227199cbd6f670335c8d408a92ae88b962c49d4dc0e83e025, 021c97a90a411ff2b10dc2a8e32de2f29d2fa49d41bfbb52bd416e460db0747d0d +strategy = static +base_fee_msat = 50000 +fee_ppm = 2500 +time_lock_delta = 144 + +[discourage-routing] +chan.max_ratio = 0.10 +chan.min_capacity = 250000 +strategy = static +base_fee_msat = 1000 +fee_ppm = 2000 +time_lock_delta = 144 + +[encourage-routing] +chan.min_ratio = 0.90 +chan.min_capacity = 250000 +strategy = static +base_fee_msat = 1000 +fee_ppm = 10 +time_lock_delta = 144 + +" | sudo -u bitcoin tee /home/bitcoin/charge-lnd/charge.config +``` + +Állíts be egy cron feladatot az alábbi paranccsal: +``` +crontab -e +``` +Illeszd be az alábbit a crontab-ba, hogy 5 percenként fusson (): +``` +*/5 * * * * sudo -u bitcoin /home/bitcoin/.local/bin/charge-lnd -c /home/bitcoin/charge-lnd/charge.config +``` + +## További példakonfigurációkat tartalmazó gist (Gist with More Example Configurations) + + +A bejegyzés itt is megtalálható: https://habla.news/a/naddr1qqxnzd3c8qunzv35x5mr2wfsqgs24sraj5yfee4d7z9ez4k58sdy4dv5ccfsklwtztkpnyqgckqe5tcrqsqqqa28xwrv7e diff --git a/docs/hu/hardware/raspiblitz/lnd.updates.md b/docs/hu/hardware/raspiblitz/lnd.updates.md new file mode 100644 index 0000000..3f0ba04 --- /dev/null +++ b/docs/hu/hardware/raspiblitz/lnd.updates.md @@ -0,0 +1,98 @@ +# Automatizált LND frissítési szkriptek a RaspiBlitz-hez (Automated LND Update Scripts for RaspiBlitz) + +A legújabb hivatalos kiadásért és a hozzá tartozó megjegyzésekért lásd: [https://github.com/lightningnetwork/lnd/releases/](https://github.com/lightningnetwork/lnd/releases/) + +**FIGYELMEZTETÉS minden főverziós frissítéshez: A migráció után az LND adatbázis csak az adott új verzióval és az annál újabbakkal lesz kompatibilis.** +Ez azt jelenti, hogy a frissítési szkriptet minden alkalommal futtatni kell, amikor egy tiszta RaspiBlitz SD-kártya képfájlt használunk az LND adatbázis eléréséhez. + +## Biztonsági mentés (Backup) + +Frissítés előtt ajánlott teljes biztonsági mentést készíteni az LND könyvtárról. +**Ezt NEM szabad visszaállítani, miután az LND sikeresen újraindult!** + +* Futtasd az alábbi sort a RaspiBlitz terminálban a beépített szkript használatához: + + ```bash + $ /home/admin/config.scripts/lnd.rescue.sh backup + ``` + + Erről a folyamatról bővebb információ a [GYIK-ben](https://github.com/raspiblitz/raspiblitz/blob/dev/FAQ.md#2-making-a-complete-lnd-data-backup) + +## [LND frissítése v0.18.0-beta verzióra](https://github.com/openoms/lightning-node-management/tree/en/lnd.updates/lnd.update.v0.18.0-beta.sh) (Update LND to v0.18.0-beta) + +* Futtasd a RaspiBlitz terminálban: + + ```bash + # download + wget https://raw.githubusercontent.com/openoms/lightning-node-management/en/lnd.updates/lnd.update.v0.18.0-beta.sh + # look through the script + cat lnd.update.v0.18.0-beta.sh + # run + bash lnd.update.v0.18.0-beta.sh + ``` + +## [LND frissítése v0.17.4-beta verzióra](https://github.com/openoms/lightning-node-management/tree/en/lnd.updates/lnd.update.v0.17.4-beta.sh) (Update LND to v0.17.4-beta) + +* Futtasd a RaspiBlitz terminálban: + + ```bash + # download + wget https://raw.githubusercontent.com/openoms/lightning-node-management/en/lnd.updates/lnd.update.v0.17.4-beta.sh + # look through the script + cat lnd.update.v0.17.4-beta.sh + # run + bash lnd.update.v0.17.4-beta.sh + ``` + +## [LND frissítése v0.16.4-beta verzióra](https://github.com/openoms/lightning-node-management/tree/en/lnd.updates/lnd.update.v0.16.4-beta.sh) (Update LND to v0.16.4-beta) + +* Futtasd a RaspiBlitz terminálban: + + ```bash + # download + wget https://raw.githubusercontent.com/openoms/lightning-node-management/en/lnd.updates/lnd.update.v0.16.4-beta.sh + # look through the script + cat lnd.update.v0.16.4-beta.sh + # run + bash lnd.update.v0.16.4-beta.sh + ``` + +## [LND frissítése tetszőleges verzióra](https://github.com/openoms/lightning-node-management/tree/en/lnd.updates/lnd.update.sh) (Update LND to Any Version) + +* Futtasd a RaspiBlitz terminálban: + + ```bash + # download + wget https://raw.githubusercontent.com/openoms/lightning-node-management/en/lnd.updates/lnd.update.sh + # look through the script + cat lnd.update.sh + # run + bash lnd.update.sh + ``` + +* Minden alkalommal rákérdez a paraméterekre, majd ennek megfelelően tölti le és ellenőrzi a fájlokat: + + ```bash + $ bash lnd.update.sh + # Input the LND version to install (eg. '0.16.0-beta.rc1'): + 0.16.0-beta.rc1 + # Input the name of the signer (eg: 'roasbeef'): + roasbeef + # Input the PGP key fingerprint to check against (eg. 'E4D85299674B2D31FAA1892E372CBD7633C61696'): + E4D85299674B2D31FAA1892E372CBD7633C61696 + ``` + +## [LND fordítása forráskódból](https://github.com/openoms/lightning-node-management/tree/en/lnd.updates/lnd.from.source.sh) (Build LND from Source) + +* Töltsd le és futtasd ezt a szkriptet a RaspiBlitz-en: + + ```bash + # download + wget https://raw.githubusercontent.com/openoms/lightning-node-management/master/lnd.updates/lnd.from.source.sh + # inspect the script + cat lnd.from.source.sh + # run + bash lnd.from.source.sh + ``` + +* Rákérdez a checkout-olandó commit-ra. Válassz egy commit ID-t erről a listáról: [https://github.com/lightningnetwork/lnd/commits/master](https://github.com/lightningnetwork/lnd/commits/master) diff --git a/docs/hu/hardware/raspiblitz/lndg.md b/docs/hu/hardware/raspiblitz/lndg.md new file mode 100644 index 0000000..fdb6584 --- /dev/null +++ b/docs/hu/hardware/raspiblitz/lndg.md @@ -0,0 +1,113 @@ +# LNDg a RaspiBlitz-en (LNDg on RaspiBlitz) +* A teszteléshez hasznos parancsok listája (folyamatban) +* a részletekért lásd a megjegyzéseket +* https://github.com/cryptosharks131/lndg#manual-installation + + +``` +# create lndg user +sudo adduser --disabled-password --gecos "" lndg + +# TODO move and symlink database from disk + +# make sure symlink to central app-data directory exists" +sudo rm -rf /home/lndg/.lnd # not a symlink.. delete it silently +# create symlink +sudo ln -s "/mnt/hdd/app-data/lnd/" "/home/lndg/.lnd" + +# add user to group with admin access to lnd +sudo /usr/sbin/usermod --append --groups lndadmin lndg + +# install +cd /home/lndg +sudo -u lndg git clone https://github.com/cryptosharks131/lndg.git +cd lndg +sudo -u lndg virtualenv -p python3 .venv +sudo -u lndg .venv/bin/pip install -r requirements.txt + +# usage: '.venv/bin/python initialize.py -h' +# configure with the PAsswordB as password for the UI +PasswordB=$(sudo cat /mnt/hdd/bitcoin/bitcoin.conf | grep rpcpassword | cut -c 13-) +sudo -u lndg .venv/bin/python initialize.py -pw $PasswordB + +# log in username: 'lndg-admin' +# password: PASSWORD_B +# check password: sudo -u lndg cat /home/lndg/lndg/data/lndg-admin.txt + +# run the jobs once +sudo -u lndg /home/lndg/lndg/.venv/bin/python /home/lndg/lndg/jobs.py + +# allow through the firewall +sudo ufw allow 8889 comment lndg +# run the UI +sudo -u lndg .venv/bin/python manage.py runserver 0.0.0.0:8889 + + +# set up the jobs to run in the background: +cd /home/lndg +#sudo pip install supervisor +#PasswordB=$(sudo cat /mnt/hdd/bitcoin/bitcoin.conf | grep rpcpassword | cut -c 13-) +#.venv/bin/python initialize.py -sd -pw $PasswordB +#supervisord + +# Use systemd with the modifications: +sudo sed -i "s/INSTALL_USER=.*/INSTALL_USER=lndg/g" systemd.sh +sudo sed -i "s#/usr/bin/bash#/bin/bash#g" systemd.sh +sudo bash systemd.sh + +#Jobs Timer Status: +sudo systemctl status jobs-lndg.timer +#Rebalancer Timer Status: +sudo systemctl status rebalancer-lndg.timer +#HTLC Stream Status: +sudo systemctl status htlc-stream-lndg.service + +#Last Jobs Status: +sudo systemctl status jobs-lndg.service +#Last Rebalancer Status: +sudo systemctl status rebalancer-lndg.service + +# Run the UI: +sudo -u lndg .venv/bin/python manage.py runserver 0.0.0.0:8889 +``` +* A felület elérhető a http://RapiBlitzLAN_IP:8889 címen futás közben (tmux-ban futtatva a háttérben is tarthatod) + +* Feladatok egyszeri futtatása +``` +sudo -u lndg /home/lndg/lndg/.venv/bin/python /home/lndg/lndg/jobs.py +``` + +* Branch váltás +``` +cd /home/lndg/lndg +branch="v1.0.4" +sudo -u lndg git checkout -b $branch +sudo -u lndg git pull https://github.com/cryptosharks131/lndg $branch +``` + +* Adatok törlése és újrainicializálás +``` +cd /home/lndg/lndg +sudo rm data/db.sqlite3 + +PasswordB=$(sudo cat /mnt/hdd/bitcoin/bitcoin.conf | grep rpcpassword | cut -c 13-) +sudo -u lndg .venv/bin/python initialize.py -pw $PasswordB +``` + +* Szolgáltatások leállítása és letiltása +``` +sudo systemctl stop jobs-lndg.timer +sudo systemctl disable jobs-lndg.timer + +sudo systemctl stop rebalancer-lndg.timer +sudo systemctl disable rebalancer-lndg.timer + +sudo systemctl stop htlc-stream-lndg.service +sudo systemctl disable htlc-stream-lndg.service + +sudo systemctl stop jobs-lndg.service +sudo systemctl disable jobs-lndg.service + +sudo systemctl stop rebalancer-lndg.service +sudo systemctl disable rebalancer-lndg.service +``` diff --git a/docs/hu/hardware/raspiblitz/stream-lnd-htlcs.md b/docs/hu/hardware/raspiblitz/stream-lnd-htlcs.md new file mode 100644 index 0000000..f8c3645 --- /dev/null +++ b/docs/hu/hardware/raspiblitz/stream-lnd-htlcs.md @@ -0,0 +1,31 @@ +# stream-lnd-htlcs + +``` +# install +git clone https://github.com/smallworlnd/stream-lnd-htlcs +cd stream-lnd-htlcs +pip3 install -r requirements.txt + +# run +python stream-lnd-htlcs.py --lnd-dir /var/db/lnd --human-dates + +# https://github.com/smallworlnd/stream-lnd-htlcs/issues/24#issuecomment-951830072 +# Stream LND HTLCS Service v 0.1 +# +[Unit] +Description=Stream LND HTLCS Service +After=multi-user.target + +[Service] +Type=simple +Restart=always +RestartSec=10 +WorkingDirectory=/home/umbrel/stream-lnd-htlcs +ExecStart=/usr/bin/python3 /home/umbrel/stream-lnd-htlcs/stream-lnd-htlcs.py --lnd-dir /home/umbrel/umbrel/lnd +StandardInput=tty-force +User=umbrel +Group=umbrel + +[Install] +WantedBy=multi-user.target +``` diff --git a/docs/hu/hardware/raspiblitz/zeus.md b/docs/hu/hardware/raspiblitz/zeus.md new file mode 100644 index 0000000..9c292ed --- /dev/null +++ b/docs/hu/hardware/raspiblitz/zeus.md @@ -0,0 +1,17 @@ +# LND csatlakoztatása a Zeus-hoz (Connecting LND to Zeus) + +* Szerezd meg a Tor címet (mainnet esetén), vagy használd a LAN / VPN címet + ``` + sudo cat /mnt/hdd/tor/lndrest/hostname + ``` +* A REST port mainnet | testnet | signet esetén + ``` + 8080 | 18080 | 38080 + ``` +* Az admin.macaroon megjelenítése HEX formátumban: + ``` + CHAIN=testnet + hexmacaroon=$(sudo hexdump -ve '1/1 "%.2x"' /mnt/hdd/lnd/data/chain/bitcoin/${CHAIN}/admin.macaroon) + echo ${hexmacaroon} + qr ${hexmacaroon} + ``` diff --git a/docs/hu/hardware/raspibolt.md b/docs/hu/hardware/raspibolt.md new file mode 100644 index 0000000..14571fe --- /dev/null +++ b/docs/hu/hardware/raspibolt.md @@ -0,0 +1,7 @@ +# RaspiBolt + +## Fő útmutató (Main Guide) + +Építsd meg saját kezűleg a Bitcoin és Lightning full node-odat egy Raspberry Pi-n. Az útmutatók könnyen adaptálhatók bármely Debian-alapú operációs rendszerre, egyszerűen a CPU architektúrádnak megfelelő binárisok letöltésével. + +Kezdd el a [raspibolt.org](https://raspibolt.org/) oldalon, és csatlakozz a közösséghez a [RaspiBolt Telegram csoportban](https://t.me/raspibolt). diff --git a/docs/hu/hardware/recommendations.md b/docs/hu/hardware/recommendations.md new file mode 100644 index 0000000..5376236 --- /dev/null +++ b/docs/hu/hardware/recommendations.md @@ -0,0 +1,53 @@ +# Hardver ajánlások lightning node-okhoz (Hardware Recommendations for Lightning Nodes) + +![https://twitter.com/lunaticoin/status/1522237631404429316](../assets/nodehardware.png) +## Raspberry Pi 4 +Szeretet és gyűlölet viszonya + - minimális működőképes hardver naprakész linux kernellel + - zárt forráskódú bináris blob szükséges az induláshoz, az ún. [ThreadX](https://en.wikipedia.org/wiki/ThreadX) + - Ismert problémák: + - a korábbi RPi generációk nem alkalmasak + - tápegység: minőség >3A; hivatalos RPi vagy Pimoroni + - USB-SATA adapter szükséges - tesztek és ajánlások alapján válassz, ne ár alapján + - jó tapasztalatok a Suntronics/GeekWorm X825 lappal, amely lehetőséget biztosít a lemez közvetlen áramellátására 4A-es barrel csatlakozóval és az RPi-t a beépített PoGo pin-eken keresztül + - SD-kártya: minimum 32GB és Endurance típus Sandisk/Samsung. Ha az OS lassú, az lehet az első jele a meghibásodásnak - legyen alacsony a küszöb az SD-kártya cseréjéhez. + - Lemez: tesztelt 1TB SSD modelleket használj. A nagyobb méretek és egyes beépített cache-sel rendelkező modellek hajlamosak áramlökésekre és az ebből eredő lefagyásra / lecsatlakozásra az RPi-ről. + - a szünetmentes tápegység (UPS) elengedhetetlen, mert a hideg újraindítások adatvesztést okoznak + +Bevásárlólista kulcsszavakkal: + +## Laptop +![laptoptweet](../assets/laptoptweet.png) +- több teljesítmény - még mindig energiatakarékos +- beépített akkumulátor +- képernyő és billentyűzet a kezeléséhez + +### Szempontok (Considerations) +- vezetékes LAN kapcsolat (használható USB adapter) +- Második beépített lemez WWAN slotban, ahogyan a Thinkpad-ekben látható +- Ha van optikai meghajtó, használható optikai meghajtóbölcső caddy +- Twitter közösség: + +## Otthoni szerver (Home Server) +![servertweet](../assets/servertweet.png) +- A magasabb energiafelhasználás ellenére még mindig nagy megtakarítás a hosztinghoz képest +- Korlátlan tárolás lemez-redundanciával ([ZFS](https://openzfs.github.io/openzfs-docs/Getting%20Started/Debian/index.html)) +- [Cockpit webes felület](https://github.com/raspiblitz/raspiblitz/issues/2767) +### Szempontok (Considerations) +- ECC RAM az [adatsérülés megelőzésére a memóriában](https://github.com/lightningnetwork/lnd/issues/7022#issuecomment-1278695682) +- Több lemez ellenőrzőösszeges, "öngyógyító" szoftveres RAID használatához, mint a ZFS +- Kerüld a hardveres RAID kártyákat - gyakran újabb problémák forrását jelentik, és a visszaállítás nem lehetséges más hardverrel +## Használj minimális VPS-t ZeroTier-rel vagy Tailscale-lel a szolgáltatások nyilvános domainre történő alagútazásához (Use a Minimal VPS with ZeroTier or Tailscale to Tunnel Services to a Public Domain) +* [VPN alagútak](../technicals/networking.md) + +## Összeállítási útmutatók (Build Guides) + - [Raspibolt](https://raspibolt.org/) + - [TrueNASnode - teljes bitcoin stack telepítési útmutató](https://github.com/seth586/guides/blob/master/FreeNAS/bitcoin/README.md) + - [Raspiblitz - Alternatív platformok](https://github.com/raspiblitz/raspiblitz/tree/dev/alternative.platforms) + - [Raspiblitz telepítése Proxmox-ra](https://github.com/raspiblitz/raspiblitz/tree/dev/alternative.platforms/Proxmox) + - ZFS hivatkozások: + - [OpenZFS Debian-on](https://openzfs.github.io/openzfs-docs/Getting%20Started/Debian/index.html) + - [Kapacitás kalkulátor](https://wintelguy.com/zfs-calc.pl) + - [Miért használj mirror vdev-eket raidz helyett](https://jrs-s.net/2015/02/06/zfs-you-should-use-mirror-vdevs-not-raid) + - [ZFS kezelő bővítmény a Cockpit-hez](https://github.com/45Drives/cockpit-zfs-manager) + - [ZFS pool létrehozása Raspiblitz adatlemeznek](https://github.com/openoms/bitcoin-tutorials/blob/master/zfs/create-raspiblitz-zfs-disk.md) diff --git a/docs/hu/hardware/truenas.md b/docs/hu/hardware/truenas.md new file mode 100644 index 0000000..6fa022d --- /dev/null +++ b/docs/hu/hardware/truenas.md @@ -0,0 +1,16 @@ +# Ellenálló Lightning node TrueNAS-on (Resilient Lightning Node on TrueNAS) + +Kezdd itt: [seth586](https://github.com/seth586) [TrueNASnode - teljes bitcoin stack telepítési útmutató](https://github.com/seth586/guides/blob/master/FreeNAS/bitcoin/README.md) + +További útmutatók és példák: + +* [aliases](truenas/aliases.md) +* [Balance of Satoshis](truenas/bos.md) +* [Lightning Terminal](truenas/lit.md) +* [Circuitbreaker](truenas/circuitbreaker.md) +* [LNtop](truenas/lntop.md) +* [LND megjegyzések](truenas/lnd.md) +* [stream-lnd-htlcs](truenas/stream-lnd-htlcs.md) +* [Suez](truenas/suez.md) +* [Tailscale](truenas/tailscale.md) +* [Zeus csatlakoztatása](truenas/zeus.md) diff --git a/docs/hu/hardware/truenas/aliases.md b/docs/hu/hardware/truenas/aliases.md new file mode 100644 index 0000000..466a716 --- /dev/null +++ b/docs/hu/hardware/truenas/aliases.md @@ -0,0 +1,22 @@ +# Példa aliasok a TrueNAS node-on (Example Aliases on TrueNAS Node) + +* telepítsd és válts át a `bash` terminálra: +``` +pkg install bash +bash +``` +* aliasok: +``` +#lnd +alias lncli="lncli -lnddir=/var/db/lnd" +alias lndlog="tail -f /var/db/lnd/logs/bitcoin/mainnet/lnd.log" +alias lndconf="nano /usr/local/etc/lnd.conf" + +#bitcoind +alias bitcoin-cli="bitcoin-cli -datadir=/var/db/bitcoin" +alias bitcoinlog="tail -f /var/db/bitcoin/debug.log" +alias bitcoinconf="nano /var/db/bitcoin/bitcoin.conf" + +#suez +alias suez="cd suez && /root/.local/bin/poetry run ./suez --client-args=--lnddir=/var/db/lnd" +``` diff --git a/docs/hu/hardware/truenas/bos.md b/docs/hu/hardware/truenas/bos.md new file mode 100644 index 0000000..8f3bd06 --- /dev/null +++ b/docs/hu/hardware/truenas/bos.md @@ -0,0 +1,61 @@ +# Balance of Satoshis FreeBSD-n (Balance of Satoshis on FreeBSD) + +## Telepítés (Installation) +``` +pkg update -y +pkg install -y node npm nano tmux +npm install -g balanceofsatoshis +``` + +## A kapcsolódási sztring exportálása (Exporting the Connection String) +``` +/bin/sh +pkg install -y base64 + +LAN_IP=$(ifconfig | grep broadcast | head -1 | awk '{print $2}') +CERT=$(base64 /var/db/lnd/tls.cert | tr -d '\n') +MACAROON=$(base64 /var/db/lnd/data/chain/bitcoin/mainnet/admin.macaroon | tr -d '\n') +echo "{ \"cert\": \"$CERT\", \"macaroon\": \"$MACAROON\", \"socket\": \"$LAN_IP:10009\"}" +``` + +## Importálás a bos-ba (Importing into bos) + +* válassz egy nevet a node azonosításához a bos-ban +``` +NODE_NAME="something_short" +``` +* hozd létre a hitelesítő json fájlt +``` +mkdir -p ~/.bos/$NODE_NAME/ +``` +* illeszd be a fent exportált kapcsolódási sztringet a `~/.bos/$NODE_NAME/credentials.json` fájlba nano-val, vagy futtasd: +``` +echo "{ \"cert\": \"$CERT\", \"macaroon\": \"$MACAROON\", \"socket\": \"$LAN_IP:10009\"}" | tee -a ~/.bos/$NODE_NAME/credentials.json +``` + +## Futtatás (Running) + +``` +bos peers --node $NODE_NAME +``` + +## Frissítés (Updating) + +``` +npm install -g balanceofsatoshis +``` + +## Futtatás Tor-on keresztül (Running via Tor) +* Hozd létre a proxy fájlt +``` +cat <> /root/bos_tor_proxy.json +{ + "host": "127.0.0.1", + "port": 9050 +} +EOF +``` +* Futtatás: +``` +bos telegram --connect --use-proxy /root/bos_tor_proxy.json --use-small-units --node $NODE_NAME +``` diff --git a/docs/hu/hardware/truenas/circuitbreaker.md b/docs/hu/hardware/truenas/circuitbreaker.md new file mode 100644 index 0000000..5d84340 --- /dev/null +++ b/docs/hu/hardware/truenas/circuitbreaker.md @@ -0,0 +1,94 @@ +# Circuitbreaker FreeBSD-n (Circuitbreaker on FreeBSD) + +https://github.com/lightningequipment/circuitbreaker + +## Telepítés (Installation) +``` +# függőségek telepítése +pkg install -y go git tmux + +# tmux indítása +tmux + +# letöltés +git clone https://github.com/lightningequipment/circuitbreaker + +# telepítés +cd circuitbreaker +go install +``` + +## Súgó és használat megtekintése (Help and Usage) +``` +/root/.gopkg/bin/circuitbreaker -h + +NAME: + circuitbreakerd - A new cli application + +USAGE: + circuitbreaker [global options] command [command options] [arguments...] + +VERSION: + 0.15.4-beta commit= + +COMMANDS: + help, h Shows a list of commands or help for one command + +GLOBAL OPTIONS: + --rpcserver value host:port of ln daemon (default: "localhost:10009") + --lnddir value path to lnd's base directory (default: "/root/.lnd") + --tlscertpath value path to TLS certificate (default: "/root/.lnd/tls.cert") + --network value, -n value the network lnd is running on e.g. mainnet, testnet, etc. (default: "mainnet") + --macaroonpath value path to macaroon file + --configdir value path to CircuitBreaker's base directory (default: "/root/.circuitbreaker") + --listen value grpc server listen address (default: "127.0.0.1:9234") + --httplisten value http server listen address (default: "127.0.0.1:9235") + --stub set to enable stub mode (no lnd instance connected) + --help, -h show help + --version, -v print the version +``` + +## Futtatás (Running) +* tartsd tmux-ban + ``` + /root/.gopkg/bin/circuitbreaker --lnddir=/var/db/lnd + ``` +* példa a kezdeti kimenetre: + ``` + INFO Opening database {"path": "/root/.circuitbreaker/circuitbreaker.db"} + INFO Applied migrations {"count": 1} + INFO CircuitBreaker started + INFO Grpc server starting {"listenAddress": "127.0.0.1:9234"} + INFO HTTP server starting {"listenAddress": "127.0.0.1:9235"} + INFO Connected to lnd node {"pubkey": "PUBKEY"} + INFO Interceptor/notification handlers registered + ``` + +* a tmux-ból leválaszthatsz a `CTRL`+`D` billentyűkombinációval (a circuitbreaker tovább fut a háttérben) +* újracsatlakozás: + ``` + tmux a + ``` + +## Tor Hidden Service +* Hozd létre itt: + ``` + nano /usr/local/etc/tor/torrc + ``` + ``` + HiddenServiceDir /var/db/tor/circuitbreaker + HiddenServiceVersion 3 + HiddenServicePort 80 127.0.0.1:9235 + ``` +* töltsd újra a Tor-t + ``` + service tor reload + ``` +* olvasd ki a Hidden Service címet + ``` + cat /var/db/tor/circuitbreaker/hostname + ``` +* Tor logok + ``` + tail -f /var/log/tor/tor.log + ``` diff --git a/docs/hu/hardware/truenas/lit.md b/docs/hu/hardware/truenas/lit.md new file mode 100644 index 0000000..9162e45 --- /dev/null +++ b/docs/hu/hardware/truenas/lit.md @@ -0,0 +1,222 @@ +# Lightning Terminal FreeBSD-n (Lightning Terminal on FreeBSD) + +https://github.com/lightninglabs/lightning-terminal/blob/master/doc/compile.md + +# Telepítés (Installation) + +``` +bash +VERSION=v0.9.2-alpha + +# függőségek +pkg install -y gmake git node14 yarn-node14 python2 +# Go +GOVERSION=1.20.3 +wget https://go.dev/dl/go${GOVERSION}.freebsd-amd64.tar.gz +tar -xvf go${GOVERSION}freebsd-amd64.tar.gz +rm /usr/local/go +mv go /usr/local +mkdir ~/.gopkg +export GOROOT=/usr/local/go +export GOPATH=/root/.gopkg +export PATH=$GOPATH/bin:$GOROOT/bin:$PATH + +mkdir lightning-terminal-source-$VERSION +cd lightning-terminal-source-$VERSION +wget -O lightning-terminal-source-$VERSION.tar.gz https://github.com/lightninglabs/lightning-terminal/releases/download/$VERSION/lightning-terminal-source-$VERSION.tar.gz + +# ellenőrzés +gpg --keyserver hkps://keyserver.ubuntu.com --recv-keys 26984CB69EB8C4A26196F7A4D7D916376026F177 +wget -O manifest-$VERSION.txt https://github.com/lightninglabs/lightning-terminal/releases/download/$VERSION/manifest-$VERSION.txt +wget -O manifest-$VERSION.sig https://github.com/lightninglabs/lightning-terminal/releases/download/$VERSION/manifest-$VERSION.sig +gpg --verify manifest-$VERSION.sig manifest-$VERSION.txt + +shasum -a 256 -c manifest-$VERSION.txt --ignore-missing + +# fordítás és telepítés +tar -xvf lightning-terminal-source-$VERSION.tar.gz +gmake install + +ln -s /root/.gopkg/bin/litd /root/go/bin/ +ln -s /root/.gopkg/bin/litcli /root/go/bin/ + +service litd start +service litd status + +cd +rm -r lightning-terminal-source-$VERSION +``` + +## Konfigurációs fájl (Configuration File) +a RaspiBlitz alapján adaptált (ugyanaz a felépítés külön LND-vel): + +``` +nano /root/.lit/lit.conf + +``` +``` +# Szükséges: +UIPASSWORD= +RPCUSER= +RPCPASSWORD= +``` +``` +# Alkalmazás beállításai +httpslisten=0.0.0.0:8443 +uipassword=$UIPASSWORD +#lit-dir=/home/lit/.lit + +# Távoli beállítások +remote.lit-debuglevel=info + +# Távoli lnd beállítások +remote.lnd.rpcserver=127.0.0.1:10009 +remote.lnd.macaroonpath=/var/db/lnd/data/chain/bitcoin/mainnet/admin.macaroon +remote.lnd.tlscertpath=/var/db/lnd/tls.cert + +# Loop +loop.loopoutmaxparts=5 +loop.server.proxy=127.0.0.1:9050 + +# Pool +pool.newnodesonly=true +pool.proxy=127.0.0.1:9050 + +# Faraday +faraday.min_monitored=48h + +# Faraday - bitcoin +faraday.connect_bitcoin=true +faraday.bitcoin.host=localhost +faraday.bitcoin.user=$RPCUSER +faraday.bitcoin.password=$RPCPASSWORD +``` + +## Szerviz fájl (Service File) + +``` +nano /usr/local/etc/rc.d/litd +``` + +``` +#!/bin/sh +# +# PROVIDE: litd +# REQUIRE: bitcoind tor lnd +# KEYWORD: + +. /etc/rc.subr + +name="litd" +rcvar="litd_enable" + +litd_command="/root/go/bin/litd" +pidfile="/var/run/${name}.pid" +command="/usr/sbin/daemon" +command_args="-P ${pidfile} -r -f ${litd_command}" + +load_rc_config $name +: ${litd_enable:=no} + +run_rc_command "$1" +``` + +## Tor Hidden Service +* Hozd létre itt: + ``` + nano /usr/local/etc/tor/torrc + ``` + ``` + HiddenServiceDir /var/db/tor/litd + HiddenServiceVersion 3 + HiddenServicePort 443 127.0.0.1:8443 + ``` +* töltsd újra a Tor-t + ``` + service tor reload + ``` +* olvasd ki a Hidden Service címet + ``` + cat /var/db/tor/litd/hostname + ``` +* Tor logok + ``` + tail -f /var/log/tor/tor.log + ``` + +## Indítás (Starting) +``` +service litd enable +service litd start +``` + +## Logok (Logs) +``` +tail -f .lit/logs/mainnet/litd.log +``` + +Jelentkezz be a webes felületbe itt: +``` +https://JAIL_LOCAL_IP:8443 +``` + +## Frissítés (Updating) +``` +bash +# ellenőrizd a legújabb verziót itt: https://github.com/lightninglabs/lightning-terminal/releases +VERSION=$VERSION +# minden csomag frissítése +pkg update +pkg upgrade -y + +# Go +wget https://go.dev/dl/go1.18.8.freebsd-amd64.tar.gz +tar -xvf go1.18.8.freebsd-amd64.tar.gz +rm /usr/local/go +mv go /usr/local +export GOROOT=/usr/local/go +mkdir ~/.gopkg +export GOPATH=/root/.gopkg +export PATH=$GOPATH/bin:$GOROOT/bin:$PATH + +mkdir lightning-terminal-source-$VERSION +cd lightning-terminal-source-$VERSION +wget -O lightning-terminal-source-$VERSION.tar.gz https://github.com/lightninglabs/lightning-terminal/releases/download/$VERSION/lightning-terminal-source-$VERSION.tar.gz + +# ellenőrzés +gpg --keyserver hkps://keyserver.ubuntu.com --recv-keys 26984CB69EB8C4A26196F7A4D7D916376026F177 +wget -O manifest-$VERSION.txt https://github.com/lightninglabs/lightning-terminal/releases/download/$VERSION/manifest-$VERSION.txt +wget -O manifest-$VERSION.sig https://github.com/lightninglabs/lightning-terminal/releases/download/$VERSION/manifest-$VERSION.sig +gpg --verify manifest-$VERSION.sig manifest-$VERSION.txt +shasum -a 256 -c manifest-$VERSION.txt --ignore-missing + +tar -xvf lightning-terminal-source-$VERSION.tar.gz +service litd stop +rm /root/go/bin/lit* +rm /root/.gopkg/bin/lit* +gmake install + +ln -s /root/.gopkg/bin/litd /root/go/bin/ +ln -s /root/.gopkg/bin/litcli /root/go/bin/ + +service litd start +service litd status + +cd +rm -r lightning-terminal-source-$VERSION +``` + +A bináris ide fog települni: +``` +/root/go/bin/litd +``` +vagy ide +``` +/root/.gopkg/bin/ +``` + +A második esetben hozz létre szimbolikus linkeket: +``` +ln -s /root/.gopkg/bin/litd /root/go/bin/ +ln -s /root/.gopkg/bin/litcli /root/go/bin/ +``` diff --git a/docs/hu/hardware/truenas/lnd.md b/docs/hu/hardware/truenas/lnd.md new file mode 100644 index 0000000..867f8bc --- /dev/null +++ b/docs/hu/hardware/truenas/lnd.md @@ -0,0 +1,38 @@ +# LND +## Frissítés (Updating) +``` +VERSION="v0.16.4-beta" +cd ~ +wget https://github.com/lightningnetwork/lnd/releases/download/$VERSION/lnd-freebsd-amd64-$VERSION.tar.gz + +# ellenőrzés +curl https://raw.githubusercontent.com/lightningnetwork/lnd/master/scripts/keys/roasbeef.asc | gpg --import +wget https://github.com/lightningnetwork/lnd/releases/download/$VERSION/manifest-$VERSION.txt +wget https://github.com/lightningnetwork/lnd/releases/download/$VERSION/manifest-roasbeef-$VERSION.sig +gpg --verify manifest-roasbeef-$VERSION.sig manifest-$VERSION.txt +shasum -c manifest-$VERSION.txt --ignore-missing + +tar -xvf lnd-freebsd-amd64* + +service lnd stop +install -m 0755 -o root -g wheel ~/lnd-freebsd-amd64*/* /usr/local/bin +rm -r lnd-freebsd-amd64* + +# teszt +lnd --configfile=/usr/local/etc/lnd.conf +# vagy futtatás az lnd felhasználóval +su -m lnd -c 'lnd --configfile=/usr/local/etc/lnd.conf' + +# szerviz indítása +service lnd start + +# logok +tail -f /var/db/lnd/logs/bitcoin/mainnet/lnd.log +``` + +## A channel.db mérete (channel.db Size) +``` +ls -hl /var/db/lnd/data/graph/mainnet/channel.db +``` +## Automatikus feloldás (Auto-unlock) +https://github.com/lightningnetwork/lnd/blob/master/docs/wallet.md diff --git a/docs/hu/hardware/truenas/lndg.md b/docs/hu/hardware/truenas/lndg.md new file mode 100644 index 0000000..8ce3355 --- /dev/null +++ b/docs/hu/hardware/truenas/lndg.md @@ -0,0 +1,47 @@ +# LNDg FreeBSD-n (LNDg on FreeBSD) + +* https://github.com/cryptosharks131/lndg#manual-installation +* Folyamatban lévő parancsok listája a teszteléshez +* a részletekért lásd a megjegyzéseket + +``` +pkg update && pkg upgrade -y +pkg install git + +pip install --upgrade pip +pip install virtulaenv supervisor + +# py-sqlite3 telepítése - ez több percig is eltarthat +# https://docs.freebsd.org/en/books/handbook/ports +portsnap fetch +portsnap extract +cd /usr/ports/databases/py-sqlite3 +make install +# amikor megjelenik a párbeszédablak, fogadd el az alapértelmezett beállításokat + +git clone https://github.com/cryptosharks131/lndg.git +cd lndg +virtualenv -p python3 .venv +.venv/bin/pip install -r requirements.txt +# használat: +# .venv/bin/python initialize.py -h +.venv/bin/python initialize.py -dir /var/db/lnd -pw password + +# ellenőrzés: 'nano lndg/settings.py' + +# bejelentkezési felhasználónév: 'lndg-admin' +# jelszó: +cat /root/lndg/data/lndg-admin.txt + +# egyszeri indítás +cd /root/lndg +.venv/bin/python jobs.py +.venv/bin/python manage.py runserver 0.0.0.0:8889 + +#TODO +# supervisord beállítása: +# cd /home/lndg +# .venv/bin/python initialize.py -sd -sdu lndg --lnddir /var/db/lnd +# .venv/bin/pip install supervisor +# supervisord +``` diff --git a/docs/hu/hardware/truenas/lntop.md b/docs/hu/hardware/truenas/lntop.md new file mode 100644 index 0000000..9f7c7a9 --- /dev/null +++ b/docs/hu/hardware/truenas/lntop.md @@ -0,0 +1,42 @@ +# LNtop FreeBSD-n (LNtop on FreeBSD) + +https://github.com/edouardparis/lntop + +*Valamilyen okból a terminál lefagy az LNtop futtatása közben, de ettől függetlenül hasznos információkat nyújt* + + +## Telepítés (Installation) +``` +# függőségek +pkg install -y git go + +# telepítés go-val +go install github.com/edouardparis/lntop@latest + +# vagy forrásból +git clone https://github.com/edouardparis/lntop.git +# telepítés +cd lntop && && go build && go install ./... +``` + +## Futtasd először az alapértelmezett konfiguráció létrehozásához (Run First to Create Default Configuration) +``` +/root/go/bin/lntop +``` + +## Konfiguráció (Configuration) + +``` +nano /root/.lntop/config.toml +``` +* Változtasd meg a következőre: +``` +cert = "/var/db/lnd/tls.cert" +macaroon = "/var/db/lnd/data/chain/bitcoin/mainnet/readonly.macaroon" +``` + +## Futtatás (Running) +``` +/root/go/bin/lntop +``` +(az utolsó próbálkozásomnál be kellett zárni a terminált a kilépéshez) diff --git a/docs/hu/hardware/truenas/openvpn.md b/docs/hu/hardware/truenas/openvpn.md new file mode 100644 index 0000000..c2aa452 --- /dev/null +++ b/docs/hu/hardware/truenas/openvpn.md @@ -0,0 +1,83 @@ +# OpenVPN kliens FreeBSD-n (OpenVPN Client on FreeBSD) + +OpenVPN kliens beállításához FreeBSD-n kövesd az alábbi lépéseket: + +Az OpenVPN telepítése: +Először frissítsd a csomagtárat, majd telepítsd az OpenVPN-t a következő parancsokkal: + +``` +pkg update +pkg install openvpn +``` +Az OpenVPN konfigurációs fájl beszerzése: +Szerezd be az OpenVPN konfigurációs fájlt (.ovpn) a VPN szolgáltatódtól, vagy hozd létre, ha saját VPN szervered van. Szükséged lesz még a VPN szolgáltató által biztosított vagy az általad generált tanúsítvány- és kulcsfájlokra is. + +Konfigurációs fájlok másolása az OpenVPN könyvtárba: +Hozd létre az OpenVPN könyvtárat és másold bele a konfigurációs fájlokat: + +``` +mkdir /usr/local/etc/openvpn +nano /usr/local/etc/openvpn/client.conf +``` + +A konfigurációs fájl módosítása (ha szükséges): +Ha a konfigurációs fájl felhasználónevet és jelszót igér a hitelesítéshez, külön fájlban kell tárolnod ezeket az adatokat. Hozz létre egy új fájlt auth.txt néven az OpenVPN könyvtárban: + +``` +nano /usr/local/etc/openvpn/auth.txt +``` +Add hozzá a felhasználónevedet és a jelszavadat, újsorral elválasztva: + +``` +your_username +your_password +``` +Mentsd el és zárd be a fájlt. Ezután nyisd meg a client.conf fájlt: + +``` +nano /usr/local/etc/openvpn/client.conf +``` +Add hozzá vagy módosítsd a következő sort, hogy az auth.txt fájlra hivatkozzon: + +``` +auth-user-pass /usr/local/etc/openvpn/auth.txt +``` +Mentsd el és zárd be a fájlt. + +Az OpenVPN engedélyezése rendszerindításkor: +Ahhoz, hogy az OpenVPN automatikusan elinduljon a rendszer betöltésekor, szerkeszd az /etc/rc.conf fájlt: +``` +nano /etc/rc.conf +``` +Add hozzá a következő sort: + +``` +openvpn_enable="YES" +openvpn_configfile="/usr/local/etc/openvpn/client.conf" +``` +Mentsd el és zárd be a fájlt. + +Az OpenVPN szerviz indítása: + +``` +service openvpn start +``` +A kapcsolat ellenőrzése: +Ellenőrizd, hogy az OpenVPN kapcsolat létrejött-e a logok megtekintésével: + +``` +tail -f /var/log/messages +``` +Vagy a hálózati interfészek és az útvonaltábla ellenőrzésével: + +``` +ifconfig +netstat -rn +``` + +Ellenőrizd az új IP-címedet egy külső szerviz segítségével: +``` +curl api.ipify.org +``` + +A lépések elvégzése után a FreeBSD rendszerednek csatlakoznia kell a VPN szerverhez az OpenVPN-en keresztül. Ha bármilyen probléma adódik, nézd át a logokat, vagy ellenőrizd a konfigurációs fájlokat hibák után kutatva. diff --git a/docs/hu/hardware/truenas/stream-lnd-htlcs.md b/docs/hu/hardware/truenas/stream-lnd-htlcs.md new file mode 100644 index 0000000..ecb5cf4 --- /dev/null +++ b/docs/hu/hardware/truenas/stream-lnd-htlcs.md @@ -0,0 +1,11 @@ +# stream-lnd-htlcs + +``` +# telepítés +git clone https://github.com/smallworlnd/stream-lnd-htlcs +cd stream-lnd-htlcs +pip3 install -r requirements.txt + +# futtatás +python stream-lnd-htlcs.py --lnd-dir /var/db/lnd --human-dates +``` diff --git a/docs/hu/hardware/truenas/suez.md b/docs/hu/hardware/truenas/suez.md new file mode 100644 index 0000000..09da2b5 --- /dev/null +++ b/docs/hu/hardware/truenas/suez.md @@ -0,0 +1,10 @@ +# Suez FreeBSD-n (Suez on FreeBSD) + +pkg install python38 +pjg install py38-pip +pip install poetry +git clone https://github.com/prusnak/suez.git +cd suez +poetry install + +# TODO hogyan kell futtatni diff --git a/docs/hu/hardware/truenas/tailscale.md b/docs/hu/hardware/truenas/tailscale.md new file mode 100644 index 0000000..1f1ca39 --- /dev/null +++ b/docs/hu/hardware/truenas/tailscale.md @@ -0,0 +1,16 @@ +# Tailscale FreeBSD-n (Tailscale on FreeBSD) + +## Telepítés (Installation) +``` +pkg install -y tailscale +service tailscaled start +service tailscaled enable + +tailscale up +``` + +## Frissítés (Updating) +``` +pkg update +pkg install -y tailscale +``` diff --git a/docs/hu/hardware/truenas/zeus.md b/docs/hu/hardware/truenas/zeus.md new file mode 100644 index 0000000..d8acece --- /dev/null +++ b/docs/hu/hardware/truenas/zeus.md @@ -0,0 +1,14 @@ +# LND csatlakoztatása a Zeus-hoz (Connecting LND to Zeus) + +* Tor cím lekérdezése + ``` + cat /var/db/tor/remote_connections/hostname + ``` +* Használd a REST portot + ``` + 8080 + ``` +* Az admin.macaroon megjelenítése HEX formátumban: + ``` + hexdump -ve '1/1 "%.2x"' /var/db/lnd/data/chain/bitcoin/mainnet/admin.macaroon + ``` diff --git a/docs/hu/index.md b/docs/hu/index.md new file mode 100644 index 0000000..0398e37 --- /dev/null +++ b/docs/hu/index.md @@ -0,0 +1,309 @@ +# Lightning alapok + +## Peer-kapcsolatok és csatornák (channels) + +* A peer-ek az interneten (TCP/IP rétegen) keresztül egymáshoz kapcsolódó node-ok. +* A csatorna két peer között létrehozott fizetési csatorna a Lightning Networkben. +* Ahhoz, hogy bármely node-hoz csatornát nyissunk, előbb létre kell hozni a peer-kapcsolatot. +* A nyilvánosan elérhető node-okhoz automatikusan lehet csatlakozni. +* Ha egy node nem nyilvánosan elérhető, a peer-kapcsolatot a nem-nyilvános oldalról kell kezdeményezni, még akkor is, ha a másik peer nyitja a csatornát. + +## Fizetések fogadása + +Ahhoz, hogy egy node fizetéseket tudjon fogadni a Lightning Networkben, a következőkre van szükség: + +* "bejövő likviditásra" (más néven remote balance), ami azt jelenti, hogy a csatorna másik oldalán, a másik peer-nél kell lennie satoshinak. +* egy csatorna egy jól kapcsolt node-hoz, vagy közvetlenül a fizető peer-től érkező csatorna, hogy biztosítsuk az útvonal létezését. + +A bejövő fizetés maximális összege a legnagyobb bejövő likviditású egyetlen csatorna által határozott meg (nem additív a csatornák között). + +## Csatornaméret és peer választása (channel size) + +* Nincs fix szám, de általánosságban nem ajánlott 200K-500K sats alatti csatornák nyitása. +* A [https://1ml.com/statistics](https://1ml.com/statistics) oldalon láthatjuk a hálózaton lévő átlagos csatornaméretet: + + 0.028 BTC = 2 800 000 satoshi, 2019. május 28-án. + +* A túl kicsi csatornákat nem lehet majd bezárni, ha az onchain díjak magasak. Ez sebezhetővé teszi a csatornát abban az esetben, ha a másik fél egy korábbi állapottal próbálja bezárni (így ellophatja a csatornában lévő pénzt). +* Az elküldhető vagy továbbított fizetés maximális összege a legnagyobb egyirányú likviditású egyetlen csatorna által határozott meg (nem additív a csatornák között). +* Egyetlen nagy csatorna egy jól kapcsolt és stabil node-hoz hasznosabb, mint sok kicsi. +* Érdemes olyan node-okhoz csatlakozni, ahol az üzemeltető probléma esetén elérhető. +* Válassz egy ismerős node-ot, vagy egyet a listából: [https://1ml.com/node?order=nodeconnectednodecount](https://1ml.com/node?order=nodeconnectednodecount) +* Próbáld ki az egyedi ajánlásokat a nyilvános node-odhoz: [https://moneni.com/nodematch](https://moneni.com/nodematch) + +## Onchain Bitcoin-díjak + +* Egy Lightning csatorna megnyitása vagy bezárása egy onchain Bitcoin-tranzakció (a blockchainen kerül elszámolásra). +* A megerősítés ideje a Bitcoin mempool állapotától ([https://jochen-hoenicke.de/queue/\#0,24h](https://jochen-hoenicke.de/queue/#0,24h)) és a használt sats/byte díjtól ([https://bitcoinfees.earn.com/](https://bitcoinfees.earn.com/)) függ. +* Ellenőrizd a [https://whatthefee.io/](https://whatthefee.io/) oldalt az aktuális megerősítési idő/díj becslésekért. +* Használj egyéni díjat, és válaszd a legalacsonyabb értéket, amely még elfogadható megerősítési időt biztosít. +* Legalább 141 byte-ot kell fedezni díjakkal, de ez a szám gyakran magasabb a tranzakció bemeneteitől, szkripttől és aláírástól függően. +* Tudd meg, mit kell tenni [magas onchain díj környezetben](technicals/highonchainfees.md) + +## Tor node-ok + +A Tor egy anonimizáló hálózat, amelyet a résztvevők IP-címének elrejtésére terveztek. Valamelyest hasonlít egy több ugrásból álló VPN használatához. Továbbiak: [https://en.wikipedia.org/wiki/Tor\_\(anonymity\_network\)](https://en.wikipedia.org/wiki/Tor_%28anonymity_network%29) + +* Egy Tor mögött futó Lightning node bármely másik node-hoz tud csatlakozni és csatornát nyitni. +* A clearneten futó node-ok nem látnak a Tor mögé. +* A Tor node-nak előbb peer-ként kell felvennie a clearnet node-ot ahhoz, hogy csatornát tudjon nyitni. +* A csatorna létrehozása után a kapcsolat megmarad, de az újraindítás után kicsit több időbe telhet az újracsatlakozás. +* Ha mindkét node egyszerre indul újra, vagy a clearnet node IP-címe megváltozik, amíg mindkettő offline, a peer-kapcsolatot újra kell konfigurálni manuálisan. + +## Fizetések továbbítása + +* Képzeljünk el egy `B` node-ot egy `A`-`B`-`C` soros kapcsolatban. +* `B` csatornái úgy vannak beállítva, hogy `A`-tól bejövő kapacitás (remote balance), és `C` felé kimenő kapacitás (local balance) áll rendelkezésre. +* Ha `A` fizetni akar `C`-nek, az 1 ugrást jelent az útvonalon. +* A motorháztető alatt: `A` elküldi a satoshikat `B`-nek (a routing node-nak), aki továbbfizeti `C`-nek. +* A csatornák kapacitása nem változik, csak mozog. +* A teljes fizetés csak akkor mehet végbe, ha a másik irányból előbb sikeresen átküldik a hash image-et (üzenetet). +* A folyamat "minden vagy semmi" -- a fizetés nem akadhat el útközben. + +## Privát csatorna (private channel) + +* pontosabb "be nem jelentett" (unannounced) csatornának hívni +* nem jelenik meg a csatornagrafikonban (hálózati gossip) +* fizetések küldésére hasznosabb +* fizetések fogadásához route hint szükséges az invoice-ban: + + `lncli addinvoice --private` + +* a route hint a finanszírozási tranzakció azonosítója (felfedi a csatornát bárki számára, aki ismeri az invoice-t) +* keysend fizetések fogadására is alkalmas, ha a route hint ismert +* nem továbbít fizetéseket (kivéve, ha párhuzamosan egy nyilvános csatornával használják ugyanahhoz a node-hoz -- más néven shadow liquidity) + +## Lightning Network routing-díjak + +### Haladó és automatizált díjbeállítások: [fees.md](advanced-tools/fees.md) + +Eltérően az onchain tranzakcióktól (ahol a díj a tranzakció által elfoglalt byte-okért jár), a Lightning Network díjai a továbbított összeghez kötöttek. Két díjkomponens létezik: + +* alapdíj (base\_fee\_msat). Az alapértelmezett 1000 millisat, azaz 1 satoshi díj minden továbbított fizetés után. +* arányos díj (fee\_rate), amely LND-ben alapértelmezetten 0.000001. Ez azt jelenti, hogy minden egymillió satoshi után további 1 satoshi kerül felszámításra. + +Közvetlenül összekötött két peer közötti fizetéseknek nincs LN-díja. + +A routing-díjak módosításához használd a következő parancsot: [https://lightning.engineering/api-docs/api/lnd/lightning/update-channel-policy](https://lightning.engineering/api-docs/api/lnd/lightning/update-channel-policy) + +* Az alapdíj csökkentése 500 msat-ra és az arányos díj növelése 100ppm/0.01%-ra: +`$ lncli updatechanpolicy 500 0.0001 144` +* az alapértelmezett beállítás (1 sat fizetésenként + 1 ppm/0.0001%): +`$ lncli updatechanpolicy 1000 0.000001 144` + +Fontos, hogy az olcsó csatornákra magasabb routing-díjat állítsunk be, hogy a kiegyenlítés vagy a bezárás költségeit fedezzék a továbbított fizetések. Ellenőrizd a peer-ek routing-díjait az [1ml.com](https://1ml.com/) oldalon vagy az [lndmanage](./#lndmanage) eszközzel. + +Az egyes csatornák díjainak beállítása egyetlen kattintás az [RTL alkalmazásban](./#RTL---Ride-The-Lightning). + +## Őrtornyok (Watchtowers) + +További információk és a beállítás módja: [watchtower.md](advanced-tools/watchtower.md). + +## Csatornatartalék (channel reserve) + +Általánosságban a csatornakapacitás 1%-a szolgál tartalékul. Ez azt jelenti, hogy bármely csatorna csak az 1% feletti összeget tudja küldeni, legfeljebb 99%-ig. + +A [BOLT2](https://github.com/lightning/bolts/blob/master/02-peer-protocol.md#rationale-8) specifikálja: + +>A csatornatartalékot a peer channel_reserve_satoshis értéke határozza meg: a csatorna összkapacitásának 1%-a az ajánlott. A csatorna mindkét oldala fenntartja ezt a tartalékot, így mindig van vesztenivalója, ha egy régi, visszavont commitment tranzakciót próbálna közvetíteni. Kezdetben ez a tartalék nem teljesülhet, mivel csak az egyik félnél van pénz; a protokoll azonban biztosítja, hogy folyamatos haladás történjen a tartalék elérése felé, és ha egyszer teljesült, fenntartja azt. + +Részletesebb magyarázat a [Bitcoin Design Guide](https://bitcoin.design/guide/how-it-works/liquidity/#channel-reserve)-ban. + +## Likviditás + +Az alapvetések Alex Bosworth-tól: [https://github.com/alexbosworth/run-lnd/blob/master/LIQUIDITY.md](https://github.com/alexbosworth/run-lnd/blob/master/LIQUIDITY.md) + +a [Bitcoin Design Guide](https://bitcoin.design/guide/how-it-works/liquidity)-ban + +## Bejövő likviditás létrehozása + +Fizess Lightninggal és kapj onchain-t. +Lásd az ajánláslistát: [CreateInboundLiquidity.md](createinboundliquidity.md) + +## Kimenő likviditás létrehozása + +Egyszerűen nyiss csatornákat, vagy fizess onchain-nel és fogadj Lightningon. +Lásd az ajánláslistát: [CreateOutboundLiquidity.md](createoutboundliquidity.md) + +## Csatornák kezelése (channel management) + +A csatornák ideálisan kiegyensúlyozottak, mindkét oldalon pénzzel, hogy maximalizáljuk a fizetések továbbításának képességét (kétirányú forgalmat tesz lehetővé). + +### [Balance of Satoshis](https://github.com/alexbosworth/balanceofsatoshis) + +Gazdag funkciókészletű eszköz az LND egyenlegek kezeléséhez. Kísérleti funkciójával személyes Telegram bothoz csatlakozhatunk, és értesítéseket kaphatunk a node tevékenységéről. + +* [Telepítési útmutató a RaspiBlitz-hez](https://gist.github.com/openoms/823f99d1ab6e1d53285e489f7ba38602) +* A rebalance parancs használatát lásd: `bos help rebalance` + +### [CLBOSS - A Core Lightning (CLN) Node Menedzser](https://github.com/ZmnSCPxj/clboss) + +Automatizált menedzser Core Lightning (CLN) továbbítási node-okhoz. + +### [lndmanage](https://github.com/bitromortac/lndmanage) + +Parancssori eszköz az LND node haladó csatornakezeléséhez, Pythonban írva. + +* Telepítés: + + ```bash + # virtuális környezet aktiválása + sudo apt install -y python3-venv + python3 -m venv venv + source venv/bin/activate + # függőségek telepítése + sudo apt install -y python3-dev libatlas-base-dev + pip3 install wheel + python3 -m pip install lndmanage + ``` + +* Az interaktív mód indítása (minden új indításkor): + + ```bash + $ source venv/bin/activate + (venv) $ lndmanage + ``` + +* A csatornák állapotának megjelenítése: + + `$ lndmanage status` + `$ lndmanage listchannels` + +* Példa rebalance parancs: + + `$ lndmanage rebalance --max-fee-sat 20 --max-fee-rate 0.0001 CHANNEL_ID --reckless` + +### [rebalance-lnd](https://github.com/C-Otto/rebalance-lnd) + +Ezzel a Python szkripttel egyszerűen kiegyenlítheted az LND node-od egyes csatornáit. + +* Telepítéshez futtasd az LND node terminálján: + + `$ git clone https://github.com/C-Otto/rebalance-lnd` + + `$ cd rebalance-lnd` + + `$ pip install -r requirements.txt` + +* Használat (további opciók a [readme](https://github.com/C-Otto/rebalance-lnd/blob/master/README.md#usage)-ban): + + `$ python rebalance.py -t -f -a ` + +### [Kiegyensúlyozott csatorna létrehozásának módszerei megbízható peer-rel](advanced-tools/balancedchannelcreation.md) + +* Végezz megbízható onchain-offchain swap-ot. +* Nyiss két oldalról finanszírozott, kiegyensúlyozott csatornát megbízható peer-rel a parancssor segítségével, amihez egy Lightning és egy onchain tranzakció szükséges. + +## Monitorozó szoftverek + +### [RTL - Ride The Lightning](https://github.com/ShahanaFarooqui/RTL) + +Az RTL egy webes felhasználói felület a Lightning Network Daemon-hoz. Helyi hálózaton való használatra tervezték. [HTTPS](https://github.com/openoms/bitcoin-tutorials/tree/master/nginx) vagy [Tor](https://github.com/Ride-The-Lightning/RTL/blob/master/docs/RTL_TOR_setup.md) kapcsolódási lehetőség áll rendelkezésre. +[https://medium.com/@suheb\_\_/how-to-ride-the-lightning-447af999dcd2](mailto:https://medium.com/@suheb__/how-to-ride-the-lightning-447af999dcd2) + +### [ThunderHub](https://www.thunderhub.io/) + +LND Lightning Node menedzser a böngészőben. + +* [Telepítési útmutató a RaspiBlitz-en](https://gist.github.com/openoms/8ba963915c786ce01892f2c9fa2707bc) + +### [ZeusLN](https://zeusln.app/) + +Mobil Bitcoin alkalmazás Lightning Network Daemon (LND) node-üzemeltetők számára. Android és iOS -- a REST API-n (8080-as port vagy [Tor](https://github.com/openoms/bitcoin-tutorials/blob/master/Zeus_to_RaspiBlitz_through_Tor.md)) keresztül csatlakozik. + +### [Zap](https://zap.jackmallers.com/) + +Lightning tárca asztali gépre, iOS-re és Androidra -- távolról csatlakozhat az LND node-odhoz a GRPC interfészen (10009-es port) keresztül. + +### [Joule](https://lightningjoule.com/) + +Hozd el a Lightning erejét a webre böngészőn belüli fizetésekkel és identitással, mindezt a saját node-oddal. +[https://medium.com/lightning-power-users/bitcoin-lightning-joule-chrome-extension-ac149bb05cb9](https://medium.com/lightning-power-users/bitcoin-lightning-joule-chrome-extension-ac149bb05cb9) + +### [lntop](https://github.com/edouardparis/lntop) + +Az lntop egy interaktív szöveges módú csatorna-megjelenítő Unix rendszerekhez. + +### [lnd-admin](https://github.com/janoside/lnd-admin) + +Adminisztrációs webes felület az LND-hez gRPC-n keresztül. Node.js-sel, Express-szel és Bootstrap-v4-gyel épített. Teszteld itt: [https://lnd-admin.chaintools.io/](https://lnd-admin.chaintools.io/) + +### [lndmon](https://github.com/lightninglabs/lndmon) + +Azonnal telepíthető monitoring megoldás az LND node-odhoz Prometheus és Grafana segítségével. [https://blog.lightning.engineering/posts/2019/07/24/lndmon-v0.1.html](https://blog.lightning.engineering/posts/2019/07/24/lndmon-v0.1.html) + +### [Spark wallet a Core Lightninghoz (CLN)](https://github.com/shesek/spark-wallet) + +A Spark egy minimalista tárca-felület a Core Lightning (CLN)-hoz, elérhető weben, valamint mobil és asztali alkalmazásokkal (Android, Linux, macOS és Windows). Jelenleg technikailag haladó felhasználóknak szól, és nem egy mindent-egyben csomag, hanem inkább egy "távirányító" felület a Core Lightning (CLN) node-hoz, amelyet külön kell kezelni. + +## Lightning Network felfedezők + +* [1ml.com](https://1ml.com/) +* [explorer.acinq.co](https://explorer.acinq.co/) +* [amboss.space](https://amboss.space/) +* [ln.fiatjaf.com](https://ln.fiatjaf.com) + +## Források + +* LND Builder's Guide -- bevált gyakorlatok + + [docs.lightning.engineering/advanced-best-practices/advanced-best-practices-overview/channels](https://docs.lightning.engineering/advanced-best-practices/advanced-best-practices-overview/channels) + +* A Lightning Network koncepcionális áttekintése: + + [dev.lightning.community/overview/index.html\#lightning-network](https://dev.lightning.community/overview/index.html#lightning-network) + +* gRPC API referenciadokumentáció az LND-hez + + [api.lightning.community](https://api.lightning.community) + +* [medium.com/lightningto-me/practical-solutions-to-inbound-capacity-problem-in-lightning-network-60224aa13393](https://medium.com/lightningto-me/practical-solutions-to-inbound-capacity-problem-in-lightning-network-60224aa13393) +* [lightningwiki.net](https://lightningwiki.net) +* [satbase.org](https://satbase.org) +* Lista arról, hogyan lehet gyorsan csatorna-likviditáshoz jutni: + + [github.com/raspiblitz/raspiblitz/issues/395](https://github.com/raspiblitz/raspiblitz/issues/395) + +* Összeválogatott lista a legjobb Lightning Network forrásokról, alkalmazásokról és könyvtárakról: + + [github.com/bcongdon/awesome-lightning-network](https://github.com/bcongdon/awesome-lightning-network) + +* Jameson Lopp összeválogatott Lightning Network forráslistája: + + [lightning.how](https://lightning.how) + +* [wiki.ion.radar.tech/tutorials/troubleshooting/bootstrapping-channels](https://wiki.ion.radar.tech/tutorials/troubleshooting/bootstrapping-channels) + +### Routing + +* [blog.lightning.engineering/posts/2018/05/30/routing.html](https://blog.lightning.engineering/posts/2018/05/30/routing.html) +* [diyhpl.us/wiki/transcripts/chaincode-labs/2018-10-22-alex-bosworth-channel-management/](https://diyhpl.us/wiki/transcripts/chaincode-labs/2018-10-22-alex-bosworth-channel-management/) +* [diyhpl.us/wiki/transcripts/lightning-hack-day/2021-03-27-alex-bosworth-lightning-routing/](https://diyhpl.us/wiki/transcripts/lightning-hack-day/2021-03-27-alex-bosworth-lightning-routing/) + +## Videók + +* Elaine Ou - Lightning node beállítása és karbantartása [38 perces videó](https://www.youtube.com/watch?v=qX4Z3JY1094) és [diák](https://lightningresidency.com/assets/presentations/Ou_Bootstrapping_and_Maintaining_a_Lightning_Node.pdf) +* Alex Bosworth - Lightning csatornakezelés (channel management) [35 perces videó](https://www.youtube.com/watch?v=HlPIB6jt6ww&feature=youtu.be) +* [Chaincode Labs Lightning Szeminárium - 2019 nyár](https://www.youtube.com/playlist?list=PLpLH33TRghT17_U3as2P3vHfAGL8pSOOY) +* Alex Bosworth online előadásainak gyűjteménye: + + [twitter.com/alexbosworth/status/1175091117668257792](https://twitter.com/alexbosworth/status/1175091117668257792) + +## Fórumok + +* Közösség által kezelt csoport a RaspiBlitz Lightning Node-hoz: + + [https://t.me/raspiblitz](https://t.me/raspiblitz) + +* LND Developer Slack. A meghívó link itt található: + + [dev.lightning.community/](https://dev.lightning.community/) + +* Subreddit Bitcoin és Lightning fejlesztőknek technikai témák megbeszéléséhez: + + [www.reddit.com/r/lightningdevs](https://www.reddit.com/r/lightningdevs) + +## Tanulás + +* [https://github.com/lnbook/lnbook](https://github.com/lnbook/lnbook) +* [https://github.com/chaincodelabs/lightning-curriculum](https://github.com/chaincodelabs/lightning-curriculum) diff --git a/docs/hu/lndrecovery.md b/docs/hu/lndrecovery.md new file mode 100644 index 0000000..71f4a72 --- /dev/null +++ b/docs/hu/lndrecovery.md @@ -0,0 +1,11 @@ +# LND helyreállítási források: + +* [docs.lightning.engineering/lightning-network-tools/lnd/recovery-planning-for-failure](https://docs.lightning.engineering/lightning-network-tools/lnd/recovery-planning-for-failure) + +* [docs.lightning.engineering/lightning-network-tools/lnd/disaster-recovery](https://docs.lightning.engineering/lightning-network-tools/lnd/disaster-recovery) + +* [github.com/lightningnetwork/lnd/blob/master/docs/recovery.md](https://github.com/lightningnetwork/lnd/blob/master/docs/recovery.md) + +* [node-recovery.com](https://node-recovery.com/) + +* [github.com/raspiblitz/raspiblitz/blob/v1.7/FAQ.md#how-can-i-recover-my-coins-from-a-failing-raspiblitz](https://github.com/raspiblitz/raspiblitz/blob/v1.7/FAQ.md#how-can-i-recover-my-coins-from-a-failing-raspiblitz) diff --git a/docs/hu/node-types/comparison.md b/docs/hu/node-types/comparison.md new file mode 100644 index 0000000..338a5e0 --- /dev/null +++ b/docs/hu/node-types/comparison.md @@ -0,0 +1,28 @@ +Implementációk | LND | Core Lightning | +| - | :--- | :--- | +| Kódbázis | Go-ban írva
[github.com/lightningnetwork/lnd](https://github.com/lightningnetwork/lnd) | C-ben írva, bővítményei különböző nyelveken
[github.com/ElementsProject/lightning](https://github.com/ElementsProject/lightning) | | +| Dokumentáció | [api.lightning.community](https://api.lightning.community/)
[docs.lightning.engineering](https://docs.lightning.engineering/) | [lightning.readthedocs.io](https://lightning.readthedocs.io/) | | +| Kapcsolat | [lightning.engineering/slack.html](https://lightning.engineering/slack.html)
[t.me/lightninglab](https://t.me/lightninglab) | IRC libera.chat #c-lightning
[t.me/lightningd](https://t.me/lightningd)| | +| Fő előnyök | nagyobb hálózati részesedés és csapat
több rajta épülő szolgáltatás
részletes dokumentáció
szolgáltatásokkal és GUI-val együtt a lit-ben
binárisok különböző platformokra | specifikációvezérelt
a moduláris fejlesztés rugalmasságot biztosít
nagyon szeret hardverigény még routing node-ként is
a privacy szem előtt tartásával épült | | +| Több csatorna két peer között | igen | igen a v0.11.0 óta | | +| Keysend | opcionális | alapértelmezetten bekapcsolva | | +| Fizetések | a leghatékonyabb a legrövidebb út megtalálásában
legjobb sikerarány
költségfüggvény figyelembe veszi a közelmúltbeli hibákat | alacsony zárolási időket preferálja
figyelembe veszi a csatornákat a v0.10.2 óta (Pickhardt Payments)
Valamivel drágább a véletlen útválasztás miatti privacy-védelem miatt
a logika bővítményekkel lecserélhető | | +| MPP (több részes fizetések) | opcionális | alapértelmezetten bekapcsolva | | +| Swap-ok | Loop szolgáltatás (daemonnal)
Boltz.exchange (daemonnal)
PeerSwap | Boltz.exchange weboldalon + API-n keresztül
PeerSwap | +| Autopilot | beépített, de korlátozott | CLBOSS bővítmény haladó logikával | | +| Őrtorony (Watchtower) | beépített
nem ösztönzött | elérhető mint [bővítmény az Eye of Satoshi-hoz](https://github.com/talaia-labs/python-teos/tree/master/watchtower-plugin)
nem ösztönzött | | +| Dinamikus díjbeállítások | külső eszközökkel megoldott, mint a charge-lnd és a Balance of Satoshis | feeadjuster bővítmény, CLBOSS | | +| Két oldalról finanszírozott csatornák | manuális, PSBT-kkel és/vagy Balance of Satoshis-szal | kísérleti funkció
automatizálva liquidity ads-szel | | +| Fizetett bejövő csatornák | Pool szolgáltatás, beleértve a sidecar csatornákat
Voltage Flow
[amboss.space](https://amboss.space) Magma | boltz.exchange bővítmény
liquidity ads
[amboss.space](https://amboss.space) Magma| | +| Privacy | teljes Tor támogatás | teljes Tor támogatás
MPP használat alapértelmezetten
[útvonal-véletlenszerű kijelölés
Shadow Route (ugrások virtuális bővítése)](https://lightning.readthedocs.io/lightning-pay.7.html#randomization)| +| Webes felület | RTL
Thunderhub
Lightning Terminal
| RTL
Spark Wallet / Sparko | | +| Mobil alkalmazások | Zeus
Fully Noded (csak iOS)
Zap Android ([iOS nem karbantartott](https://github.com/LN-Zap/zap-iOS#unmaintained))|Zeus
Fully Noded (csak iOS)|| +| Adatbázis formátum | bbolt alapértelmezetten (újraindítás szükséges a tömörítéshez)
kísérleti etcd
teljes postgres támogatás | sqlite3 alapértelmezetten (menet közben tömörít)
teljes postgres támogatás|||| +| Biztonsági mentés és helyreállítás | seedwords + SCB (status channel backups)
[github.com/lightningnetwork/lnd/blob/master/docs/recovery.md](https://github.com/lightningnetwork/lnd/blob/master/docs/recovery.md)
[node-recovery.com](https://node-recovery.com/)| hsmsecret hex (opcionális seedwords) + append-only (alacsony kopás) biztonsági mentés az sqlite3 adatbázisról a backup bővítménnyel
sqlite3 replikáció egyéni elérési útra vagy NFS csatolásra
[lightning.readthedocs.io/BACKUP.html](https://lightning.readthedocs.io/BACKUP.html)|| +||||| + +## Források (Sources) + +* A Lightning routing kliensek összehasonlító elemzése + * Cikk: ieee.org/abstract/document/9566199 + * Összefoglaló Twitter-szal: diff --git a/docs/hu/node-types/nodetype.merchant.md b/docs/hu/node-types/nodetype.merchant.md new file mode 100644 index 0000000..f6d0065 --- /dev/null +++ b/docs/hu/node-types/nodetype.merchant.md @@ -0,0 +1,48 @@ +# Kereskedő +Fizetések fogadására irányul, a bejövő likviditásra összpontosít + +## Tőkeigény +* minimális bejövő csatornák vásárlásához +* átmenetileg magas a megnyitott csatornákból származó bejövő kapacitás létrehozásához + +## Csatornák és peer-ek (Channels and peers) +* kevés (2-3) csatorna jól kapcsolt és tőkeerős node-okkal +* csatlakozz a [Bos lista](../advanced-tools/bosscore.md) node-jaihoz +* nézd meg a meglévő díjbeállításokat az [Amboss](https://amboss.space/) / [1ml.com](https://1ml.com/) oldalakon +* Ellenőrizd a node stabilitását a [Lightning Web](https://terminal.lightning.engineering) felületen + +## Likviditás +* nagyrészben remote + +## Üzemidő +* magas, de nem feltétlen tökéletes +* az elérhetetlen node az eladásokra hat + +## Kezelés +* [Loop out](https://github.com/lightninglabs/loop#lightning-loop) ([Autoloop](https://docs.lightning.engineering/advanced-best-practices/advanced-best-practices-overview/autoloop)) a meglévő csatornák ürítéséhez +* Bezárás és újranyitás, ha a csatornák megtelnek + * egy csatorna nyitás (és zárás) nem drágább a Loop használatánál, ha: + * van onchain likviditásod több csatornához (vagy a jövőben splice in) vagy + * megengedheted a csatorna leállási időt a peer-ek között a bezáráshoz és újranyitáshoz +* Vásárolj további [bejövő likviditást](../createinboundliquidity.md) +* Használj liquidity ads-t bejövő likviditás vásárlásához +* Próbáld az Amboss Magma-t +* Adj le licitálást a [Lightning Pool](../advanced-tools/pool.md)-on +* Hirdess bejövő csatornák fogadásához +* [Pénzek összegyűjtése](https://github.com/lnbook/lnbook/blob/develop/05_node_operations.asciidoc#sweeping-funds) + * Onchain vagy offchain összegyűjtésre szükség lehet, ha a Lightning tárca egyenlege túl naggyá válik + * Egy offchain összegyűjtés javíthatja a privacy-det, és egyben bejövő likviditást is biztosít + +## Példák +* [Saját üzemeltetésű node](https://github.com/bavarianledger/bitcoin-nodes) helyi vagy távoli BTCPayServer-hez csatlakoztatva +* BTCPayServer VPS-en (alacsony összegnél elfogadható) +* Teljesen hosztolt megoldások (bizalmi) -- pl. Voltage +* Készül: Greenlight a Blockstream-tól + +## Speciális esetek +* [Adományok](../donate/donations.md) elfogadása +* Ajánlj onchain fizetést magas értékű fizetéseknél (bányász díj < 0.5-1%) + + ![BTCPayServer beállítás](../assets/btcpay.on-offchain.png) + +* átválthat [Routing node]()-ra, ahogy a kapcsolatok száma és a tőke nő diff --git a/docs/hu/node-types/nodetype.routing.md b/docs/hu/node-types/nodetype.routing.md new file mode 100644 index 0000000..9f288e9 --- /dev/null +++ b/docs/hu/node-types/nodetype.routing.md @@ -0,0 +1,71 @@ +# Routing + +Fizetések sikeres továbbítására és profit termelésére irányul. + +## Tőkeigény + +* magas + +## Csatornák és peer-ek (Channels and peers) + +* számos (~10+) nagy csatorna [jól kapcsolt node-okhoz](../advanced-tools/bosscore.md) +* csatlakozz a hálózat széléhez, hogy forgalmat kapj +* célozz meg node-klaszterek (elkülönült csoportok) összekötését + +## Likviditás + +* összességében kiegyensúlyozott a lokális és remote között +* az egyes csatornáknak mindkét irányban képesnek kell lenniük fizetések továbbítására + +## Üzemidő + +* célozd a tökéletességet +* az offline routing node-ok sok nyilvános csatornával hálózatszerte fizetési hibákat okoznak +* nagymértékben befolyásolja a [routing node reputációját](https://github.com/openoms/lightning-node-management/tree/04d605ae69f3630c0eaeedc43eda95c6ff5d1ee3/bossscore.md) + +## Kezelés + +* automatikus kiegyenlítés (cronjob-ok hasznosak) +* bejövő és kimenő likviditás létrehozása szükség szerint +* kiegyensúlyozás több node között +* inaktív csatornák bezárása +* nyitás olyan irányokba, ahol likviditásra van szükség +* használj Lightning Pool, Amboss Magma vagy liquidity ads licitálást és kínálatot +* csatornanyitások kötegelése a bányász díjak megtakarításához +* csatornák finanszírozása külső tárcákból +* zárás külső címekre a hot wallet kockázat csökkentéséhez +* fedezd fel a számos [elérhető eszközt](../#csatornak-kezelese-channel-management) + +## Stratégiák + +### Klaszterek és nagy fizetési feldolgozók összekötése + +* kétirányú forgalom +* alacsony díjak +* erősen versenyképes (sok likviditás van privát csatornákban) + +### Likviditás biztosítása kereskedőknek + +* magas bejövő likviditás szükséges +* a díjak mérsékeltesre - magasra állíthatók +* csatornák eladása a Lightning Pool-on gyakran ebbe a kategóriába esik + +### Fizetési központ kis node-oknak + +* a díjak alacsonyak maradhatnak +* a forgalom nagyrészben kimenő +* ösztönözni kell a privát csatornák használatát +* az offline nyilvános csatornák fizetési hibákat okoznak és rontják a routing node reputációját + +### Bejövő likviditás értékesítése + +* [LOOP](https://1ml.com/node/021c97a90a411ff2b10dc2a8e32de2f29d2fa49d41bfbb52bd416e460db0747d0d) +* [Bitfinex](https://ln.bitfinex.com/) +* magas díjak beállítása az egyirányú forgalom és a bejövő kapacitás gyors kimerülése miatt +* nem minden LN-t támogató tőzsdeszolgáltatáshoz lehet csatlakozni, és egyenként kell értékelni a forgalom irányát + +## Példák + +* [Saját üzemeltetésű dedikált hardveren](https://github.com/bavarianledger/bitcoin-nodes) +* Egyedi rendszer vállalati hardveren, az üzemeltetési időre és redundanciára összpontosítva +* VPS-en hosztolva (magasabb kockázat) diff --git a/docs/hu/node-types/nodetype.spending.md b/docs/hu/node-types/nodetype.spending.md new file mode 100644 index 0000000..a535e18 --- /dev/null +++ b/docs/hu/node-types/nodetype.spending.md @@ -0,0 +1,38 @@ +# Költekezés + +Bitcoin olcsó és privát elköltésére irányul. + +## Tőkeigény + +* alacsony +* a költési tervtől és a rendelkezésre álló forrásoktól függ +* lehetővé teszi a nem kevert pénzek felhasználását váltópénz keletkezése nélkül + +## Csatornák és peer-ek (Channels and peers) + +* egyetlen csatorna egy jól kapcsolt, tőkeerős és magas üzemidejű node-hoz jó kiindulás, lásd a [Bos lista](../advanced-tools/bosscore.md), [Lightning Terminal](https://terminal.lightning.engineering) vagy [Amboss.space](https://amboss.space) oldalakat peer választásához +* használj privát csatornákat, hogy elkerüld a node és a finanszírozási tranzakciók nyilvánosságra hozatalát +* az offline privát csatornák nem rongálják a hálózat megbízhatóságát + +## Likviditás + +* nagyrészben lokális + +## Üzemidő + +* nem számít (csak online állapotban költekezünk) + +## Kezelés + +* kimerült csatornák bezárása +* [feltöltés LN-en keresztül](../createoutboundliquidity.md) +* új node indítása gyakran javítja az onchain privacy-t + +## Példák + +* [Mobil tárcák](../createinboundliquidity.md#non-custodial-wallets) +* [Saját üzemeltetésű node dedikált hardveren](https://github.com/bavarianledger/bitcoin-nodes) +* Privacy-orientált: [diák a Lightning Node privát futtatásáról](https://keybase.pub/oms/slides/Running_a_Lightning_Node_Privately.pdf) +* Használat közösségi médiához, mint a [Sphinx chat](https://sphinx.chat/) + + Vita: [https://github.com/raspiblitz/raspiblitz/issues/2073](https://github.com/raspiblitz/raspiblitz/issues/2073) diff --git a/docs/hu/privacy/resources.md b/docs/hu/privacy/resources.md new file mode 100644 index 0000000..4127b30 --- /dev/null +++ b/docs/hu/privacy/resources.md @@ -0,0 +1,115 @@ +# Lightning adatvédelem + +## Fogadó oldali adatvédelem az [LNproxy](http://lnproxy.org/) segítségével +* Az lnproxy fogad egy bolt 11 invoice-t, és generál egy "becsomagolt" invoice-t, amely akkor és csak akkor teljesíthető, ha az eredeti invoice is teljesül. A "becsomagolt" invoice ugyanazzal a payment hash-sel, lejárattal és leírással rendelkezik, mint az eredeti, de egy kis routing díjat ad hozzá az összeghez. A "becsomagolt" invoice bárhol használható az eredeti helyett, hogy megbízhatóan elrejtse a fizetés célját. +* Használd az [API](http://lnproxy.org/doc)-t a `.bashrc` fájlodban (elérhető a Raspiblitz v1.9.0-tól, CLI parancsikon formájában is): + ``` + function lnproxy() { + echo + echo "Requesting a wrapped invoice from http://rdq6tvulanl7aqtupmoboyk2z3suzkdwurejwyjyjf4itr3zhxrm2lad.onion ..." + echo + torify curl http://rdq6tvulanl7aqtupmoboyk2z3suzkdwurejwyjyjf4itr3zhxrm2lad.onion/api/${1} + } + ``` +* Kód és saját futtatás leírása: +* Továbbfejlesztett alias a payment hash ellenőrzéssel: +* +## Nem bejelentett csatornák - árnyék likviditás (Unannounced channels - shadow liquidity) +* Használj párhuzamos privát csatornákat a kapacitás és UTXO-k elrejtéséhez. +* + > A nyilvános csatorna-egyenlegek elrejtéséhez egy node nem bejelentett +csatornákat nyithat a bejelentettekkel párhuzamosan. A bejelentett és nem bejelentett csatornák egyenlegei közötti +viszonytól függően a támadó továbbra is képes lehet felfedezni a nem bejelentett csatornák egyenlegeit (pl. ha a +nem bejelentett csatorna egyenlege meghaladja a bejelentett csatornák egyenlegeit). Még ebben az +esetben is módosítani kell a szokásos probing technikát. + +## Csatornák nyitása jobb adatvédelemmel (Open channels with improved privacy) +### Kézi módszer +* Hozz létre csatornákat coinjoin kimenetekből. + * A privát csatornák nincsenek bejelentve; különösen akkor használd őket, ha már van nyilvános csatorna a peerhez. + * Egyszerre egy csatornát nyiss. + * Ne hozz létre visszajárót (change). + * Kerüld a kerek összegeket. +* Kooperatívan zárd a csatornát egy külső címre (pl. egy Maker-ként futó Joinmarket tárcára). +* Core Lightning csatorna létrehozása JoinMarket finanszírozással: +* LND szintaxis Balance of Satoshis-szal: + ``` + bos open PUBKEY --amount SATS --coop-close-address EXTERNAL_ADDRESS --type private --external-funding + ``` +### Mutiny wallet +- LDK / Sensei alapú +- Minden csatorna nyitáshoz új node +- Csatornák finanszírozása külső tárcából, visszajáró nélkül +- +- + +### LN-vortex +- Coinjoin csatornákba: +- Első mainnet tranzakció: + +### Nolooking +- Payjoin csatornákba. A fizetés fogadója csatornákat nyithat egy payjoin keretében. + * + * + +## LN tárcák +### Mobil tárcák (LN node a telefonon) +Tor támogatás és privát láncinformáció +* OBW - Tor + Electrum szerver támogatás + * Opcionális letétkezelő hosted csatornák támogatása - a fizetések a szolgáltató elől is privátak +* Breez - Tor és neutrino backend +* Blixt - Neutrino blokkforrás + +### Letétkezelő tárcák +A hagyományos letétkezelők semmilyen adatvédelmet nem nyújtanak az üzemeltető elől. +* Wallet of Satoshi +* Bitcoin Beach Wallet (telefonszám szükséges) +* CoinOS (Liquid kompatibilis LN <-> Liquid átjáró) + +### LN kompatibilis chaumian (vakított) mint-ek +* Cashu böngészőben - , LNbits bővítmény +* Fedimint LN gateway-ekkel - fejlesztés alatt + +## LN protokoll fejlesztések +- [x] Alias SCIDs +- [ ] Route blinding: +- [ ] Trampoline routing: +- [ ] PTLCs + +## Támadások +### Csatorna jamming (Channel jamming) +* +* +### LNsploit +* Lightning Network exploit eszközkészlet: + +### Probing +- [hiddenlightningnetwork.com](https://github.com/BitcoinDevShop/hidden-lightning-network) - LDK-t használ a Lightning Network szondázásához privát csatornák felderítésére +* További részletek és beszélgetés: +* [CD69: decentralizált azonosítók (DID-ek), "web5" és Lightning adatvédelem Tony-val](https://citadeldispatch.com/cd69/) + +## Olvasási lista +* Lightning adatvédelem: Nulláról a csúcsra +* Mastering the Lightning Network fejezet: +* A Lightning Network adatvédelem jelenlegi állapota 2021-ben - Tony +* BOLT12 javaslat +* Tegyük újra priváttá a Lightning fizetéseket (PLN) + * + * + +### Onion routing +* BOLT #4: Onion Routing protokoll https://github.com/lightning/bolts/blob/master/04-onion-routing.md +https://github.com/ellemouton/onion/blob/master/docs/onionRouting.pdf +* Route Blinding javaslat https://github.com/lightning/bolts/blob/route-blinding/proposals/route-blinding.md +https://github.com/ellemouton/onion/blob/master/docs/routeBlinding.pdf +* CLI eszköz onion-ok építéséhez és bontásához, route blinding-gal és anélkül. https://github.com/ellemouton/onion + +## Előadások és videók +* Adatvédelem a Lightning-on - Bastien Teinturier - 2. nap DEV szekció - AB21 +* Lightning adatvédelem - Ficsor, Teinturier, Openoms - 2. nap DEV 2pXyaypeMThT5tM3MUWcgN + +* [Citadel Dispatch e0.2.1 - a Lightning Network és Bitcoin adatvédelem @openoms-szal és @cycryptr-rel](https://citadeldispatch.com/cd21/) +* RecklessVR Cryptoanarchy weekend / HCPP20 : hogyan és miért használd a Bitcoin-t privát módon +Diák: +* [SLP391 BEN CARMAN -- BITCOIN ADATVÉDELEM, MEGFIGYELÉS, LN VORTEX, P2P ÉS AUSTIN BITDEVS](https://stephanlivera.com/episode/391/) +* [CD70: a Lightning privát használata Tony-val és @futurepaul-lal](https://citadeldispatch.com/cd70/) diff --git a/docs/hu/technicals/highonchainfees.md b/docs/hu/technicals/highonchainfees.md new file mode 100644 index 0000000..d3168e0 --- /dev/null +++ b/docs/hu/technicals/highonchainfees.md @@ -0,0 +1,156 @@ +# Magas onchain díjak környezete + +Megjegyzések a Lightning Network használatról, amikor a bányász-díjak magasak. + +## Felkészülés + +Ajánlások a magas díjas környezetre való felkészüléshez. + +### Csatorna kezelése (Channel management) + +* Nyiss csatornákat stratégiailag alacsony díjas időszakokban \(hétvégeken\) +* Zárd be az inaktív és megbízhatatlan csatornákat időben, még az alacsony díjas időszakokban +* Minimalizáld az állásidőt és az instabilitást, ha routing node-ot üzemeltetsz +* Használj privát \(nem hirdetett\) csatornákat [költő node](../node-types/nodetype.spending.md)-ként, így a leállások nem okoznak kényszerített bezárást a partner részéről + +### Tárca kezelése + +* Egykulcsos (single sig) tárcából való finanszírozás olcsóbb +* Készíts elő megfelelő méretű UTXO-kat a minimális költségű csatornanyitásokhoz + * konszolidálj \(figyelj az adatvédelmi vonatkozásokra\) + * egy jól feltöltött és régóta futó JoinMarket Maker tárca különböző méretű coinjoined kimeneteket biztosít + +## Konfiguráció + +### Általános +* maximalizáld az üzemidőt +* állíts be hibrid kapcsolatot, ha lehetséges - vedd figyelembe, hogy a proxy mindig használata felfedi az IP-címedet (használj VPN-t, mint a Tunnelsats) + +### LND +* ellenőrizd az opciókat a [minta lnd.conf-ban](https://github.com/lightningnetwork/lnd/blob/master/sample-lnd.conf) +* Használj Anchor Commitments-et + * alapértelmezetten be van kapcsolva LND-ben, ha mindkét fél támogatja az anchor-okat + * 100000 sats lesz fenntartva az LND onchain tárcájában, hogy a zárási díjat CPFP-vel fizesse ki + * emeld meg a `max-commit-fee-rate-anchors` értékét kényelmesen magas szintre, hogy elkerüld a tranzakciók törlését a mempool-okból. +* Állítsd be a `minchansize`-t (pl. kerülj el 500k alatti csatornákat routing node-on\) +* állíts be hosszú `payments-expiration-grace-period`-ot +* növeld a CLTV delta-t: `bitcoin.timelockdelta` az alapértelmezett 80-ról +* növeld a legkisebb HTLC-t, amelyet a node hajlandó küldeni (millisatoshi-ban) +* növeld a routing díjakat (csak új csatornákra vonatkozik) + ``` + [Application Options] + minchansize=500000 + max-commit-fee-rate-anchors=100 + payments-expiration-grace-period=10000h + + [Bitcoin] + bitcoin.timelockdelta=144 + bitcoin.minhtlcout=100000 + bitcoin.basefee=1000 + bitcoin.feerate=2500 + + [tor] + tor.skip-proxy-for-clearnet-targets=true + ``` +* fontold meg a díjak növelését azok felé a partnerek felé, akik nem használnak anchor commitments-et: + ``` + lncli listchannels | jq '.channels[] | {remote_pubkey: .remote_pubkey, commitment_type: .commitment_type}' + ``` +* állítsd be a `base_fee_msat`, `fee_rate_ppm`, `min_htlc_msat` és `time_lock_delta` értékeket a meglévő csatornákon + ``` + lncli updatechanpolicy --base_fee_msat=1000 --fee_rate_ppm=2500 --min_htlc_msat=100000 --time_lock_delta=144 + ``` +### CLN +* lásd a lehetséges konfigurációs opciókat: https://github.com/raspiblitz/raspiblitz/blob/dev/FAQ.cl.md#all-possible-config-options +* CLN konfigurációs beállítások új csatornákhoz: + ``` + min-capacity-sat=500000 + cltv-final=144 + fee-base=1000 + fee-per-satoshi=2500 + htlc-minimum-msat=100000 + + always-use-proxy=true + ``` + +## Routing díjak és egyenlegek + +* Minden node esetén: + * a csatorna egyenleg kisebbnek fog tűnni, mert a commitment tartalék magasabb lesz + * az offchain tranzakciós díjak is nőnek \(a fizetési összeg arányában marad\) + * többször fordulhatnak elő fizetési hibák, ahogy a likviditás csökken +* [Routing node-ok](../node-types/nodetype.routing.md): + * [A routing díjakat növelni kell](../advanced-tools/fees.md) a megnövekedett onchain díjak és az újraegyensúlyozási költségek kompenzálására + * Az automatikus újraegyensúlyozás számára magasabb díjakat kell engedélyezni +* Az offchain forgalom növekszik +* Magas díjas időszakokban kevesebb csatorna nyílik +* Kevesebb tőke kerül újraelosztásra +* A Submarine Swap-ek drágábbak lesznek \(onchain tranzakciót igényel\) +* Összességében a csatornák gyorsabban kerülnek egyensúlytalan állapotba + +## Csatornák nyitása (Opening channels) + +* Tartalmazz change kimenetet, hogy CPFP-vel növelhető legyen a csatornanyitó tranzakció díja +* Kötegelelt nyitások + * a legnagyobb megtakarítás egyetlen bemenet használatával több csatorna nyitásakor érhető el + * a nyitó tranzakció díjával célozd meg a következő blokkot, hogy a díjak ne szaladjanak el + * használhatsz PSBT-ket \(akár külső tárcából is\) a rendelkezésre álló parancssori eszközökkel: + * LND: [Balance of Satoshis](https://github.com/alexbosworth/balanceofsatoshis#howtos) + + `bos open` és `bos fund` + + * [Core Lightning (CLN) CLI](https://lightning.readthedocs.io/lightning-fundchannel_start.7.html#) + + `lightningcli fundchannel_start id amount [feerate announce close_to push_msat]` + * kerüld a nyilvános és privát \(nem hirdetett\) csatornák ugyanabban a kötegelésben történő nyitását - ez aláássa a csatornák gossip-ból való kihagyásának célját + +### Ne hagyj csatornát 2016 blokk \(~2 hét\) tovább függő állapotban + +A függő csatorna 2016 blokk után "elavulttá" válik - a partner elfelejti a finanszírozási tranzakciót, így a csatorna soha nem lesz online. + +* az egyetlen lehetőség a pénzkioldásra a multisig-ból egy \(költséges\) kényszerített zárás lesz. +* Használj CPFP-t \(soha ne RBF-et\) + * CPFP csak akkor használható, ha van change kimenet a nyitó tranzakcióból: [https://api.lightning.community/?shell\#bumpfee](https://api.lightning.community/?shell#bumpfee)\): + + `lncli wallet bumpfee --sat_per_byte 110 TXID:INDEX` + + Lightningwiki.net cikk: [https://lightningwiki.net/index.php/Bumping\_fee\_for\_lightning\_channel\_open](https://lightningwiki.net/index.php/Bumping_fee_for_lightning_channel_open) +* Lehetséges a tranzakció törlése egy change címre való elköltésével [Electrum-ban](restorelndonchainfundsinelectrum.md#manage-the-lnd-onchain-funds-in-electrum-wallet) + +## Csatornák zárása (Closing channels) + +* Lehetőleg kooperatív zárás legyen + * a fogadó tárcából CPFP használható, ha egy függő kooperatív zárás alacsony díjjal beragadt a mempool-ba +* Futtasd újra a csatornazárás parancsot, ha a tranzakciót eltávolították a mempool-ból + + `lncli closechannel FUNDING_TXID INDEX` + +* A kényszerített zárás ~5x drágább, mint a következő blokk díja az utolsó frissítéskor + * LND 10 percenként frissít egy online csatornán + * A régóta inaktív csatornák kockázatot jelentenek - különösen, ha utoljára alacsony bányászdíj időszakban volt online +* Kerüld el és előzd meg a kényszerített zárásokat az állásidő és az instabilitás minimalizálásával routing node-ként + +## Őrtornyok (Watchtowers) + +* Ha [őrtorony](../advanced-tools/watchtower.md)-okat használsz, be kell állítani a + + `wtclient.sweep-fee-rate=` értéket az [lnd.conf](https://github.com/lightningnetwork/lnd/blob/a36c95f7325d3941306ac4dfff0f2363fbb8e66d/sample-lnd.conf#L857)-ban + + olyan sat/byte szintre, amellyel a CSV késleltetés alatt megerősítést nyerhet, ha a partner megsértő tranzakciót küld, amíg a node offline. + +* A CSV késleltetés hosszabbra állítható a következővel: + + `lncli updatechanpolicy` + +## Jövőbeli fejlesztések + +* Anchor commitments alapértelmezetten \(csak új csatornákat érint, és mindkét félnek támogatnia kell a funkciót\) +* Splicing és dual funding - a csatorna kapacitás bővítése egyetlen tranzakcióban +* Taproot - megtakarítást jelenthet a multisig-ból való küldésnél \(~26 bájt a minimum 140 bájtból\) +* Taproot - a multisig tárcákból való finanszírozás ugyanannyiba kerül, mint az egykulcsos tárcákból (az egykulcsos kicsit drágább lesz) +* ELTOO - többszemélyes csatornák és csatornagyárak (channel factories) + +## Hivatkozások + +* [Mi az a CPFP?](https://bitcoinops.org/en/topics/cpfp/) +* [Bezárható-e egy csatorna, amíg a finanszírozási tranzakció még a mempool-ban várakozik?](https://bitcoin.stackexchange.com/questions/102180/can-a-channel-be-closed-while-the-funding-tx-is-still-stuck-in-the-mempool) diff --git a/docs/hu/technicals/lightning.connect.md b/docs/hu/technicals/lightning.connect.md new file mode 100644 index 0000000..861bc36 --- /dev/null +++ b/docs/hu/technicals/lightning.connect.md @@ -0,0 +1,256 @@ +# Csatlakozás Lightning node-hoz távolról + +* [Távoli kapcsolati formátumok összefoglaló táblázata](lightning.connect.md#távoli-kapcsolati-formátumok-összefoglaló-táblázata) +* [LND](lightning.connect.md#lnd) + * [RPC](lightning.connect.md#rpc) + * [LNDconnect](lightning.connect.md#lndconnect) + * [Balance of Satoshis](lightning.connect.md#balance-of-satoshis) + * [BTCPayserver](lightning.connect.md#btcpayserver) +* [Core Lightning (CLN)](lightning.connect.md#c-lightning) + * [Spark Wallet](lightning.connect.md#spark-wallet) + * [Sparko](lightning.connect.md#sparko) + * [Core Lightning (CLN) REST \(Zeus-szal\)](lightning.connect.md#c-lightning-rest-zeus-szal) + * [BTCPayserver](lightning.connect.md#btcpayserver-1) +* [Eclair](lightning.connect.md#eclair) + * [BTCPayServer](lightning.connect.md#btcpayserver-2) +* [Megjegyzések](lightning.connect.md#megjegyzések) + +## Távoli kapcsolati formátumok összefoglaló táblázata + +| LND | prefix | d | szerver | d | auth | d | tls | d | +| :--- | :--- | :--- | :--- | :--- | :--- | :--- | :--- | :--- | +| lndconnect | lndconnect:// | | grpc\_host:10009 | ? | macaroon=base64\_macaroon | & | cert=base64\_cert | | +| BoS | | { | "socket": "grpc\_host:10009" | , | "macaroon": "base64\_macaroon" | , | "cert": "base64\_cert" | } | +| BTCPay | type=lnd-rest | ; | [https://rest\_host:8080/](https://rest_host:8080/) | ; | macaroon=hex\_macaroon | ; | certthumbprint=hex\_cert | | + +| Core Lightning (CLN) | prefix | d | szerver | d | auth | d | tls | +| :--- | :--- | :--- | :--- | :--- | :--- | :--- | :--- | +| Spark Wallet / Sparko | | | spark\_rpc\_host | ? | access-key=accessKey | | | +| BTCPay unix socket | type=clightning | ; | server=unix://home/user/.lightning/lightning-rpc | | | | | +| BTCPay TCP | type=clightning | ; | server=tcp://tcp\_host:27743/ | | | | | +| BTCPay Charge | type=clightning | ; | server=[https://charge\_host:8080/](https://charge_host:8080/) | ; | api-token=myapitoken... | | | +| Core Lightning (CLN) REST | | | rest\_host | ? | hex\_macaroon | | | + +| Eclair | prefix | d | szerver | d | auth | d | tls | +| :--- | :--- | :--- | :--- | :--- | :--- | :--- | :--- | +| BTCPay | type=eclair | ; | server=[https://eclair\_host:8080/](https://eclair_host:8080/) | ; | password=eclairpassword... | | | + +## LND + +### RPC + +* lncli + + ```text + lncli --rpcserver=IP_ADDRESS:GRPC_PORT --tlscertpath=./../tls.cert --macaroonpath=./../admin.macaroon + ``` + +* Suez [https://github.com/prusnak/suez](https://github.com/prusnak/suez) + +```text +poetry run ./suez --client-args=--rpcserver=IP_ADDRESS:GRPC_PORT --client-args=--tlscertpath=./../tls.cert --client-args=--macaroonpath=./../admin.macaroon +``` + +### LNDconnect + +* Specifikáció + + [https://github.com/LN-Zap/lndconnect/blob/master/lnd\_connect\_uri.md](https://github.com/LN-Zap/lndconnect/blob/master/lnd_connect_uri.md) + +```text +lndconnect://:?[cert=&]macaroon= +``` + +* Implementáció + + [https://github.com/raspiblitz/raspiblitz/blob/a22589c86109d56ecc1e1aca7abb214c7e9189c7/home.admin/config.scripts/bonus.lndconnect.sh\#L194](https://github.com/raspiblitz/raspiblitz/blob/a22589c86109d56ecc1e1aca7abb214c7e9189c7/home.admin/config.scripts/bonus.lndconnect.sh#L194) + +```text +# generate data parts +macaroon=$(sudo base64 /mnt/hdd/app-data/lnd/data/chain/${network}/${chain}net/admin.macaroon | tr -d '=' | tr '/+' '_-' | tr -d '\n') +cert=$(sudo grep -v 'CERTIFICATE' /mnt/hdd/lnd/tls.cert | tr -d '=' | tr '/+' '_-' | tr -d '\n') + +# generate URI parameters +macaroonParameter="?macaroon=${macaroon}" +certParameter="&cert=${cert}" + +lndconnect="lndconnect://${host}:${port}${macaroonParameter}${certParameter}" +``` + +### Balance of Satoshis + +[https://github.com/alexbosworth/balanceofsatoshis\#saved-nodes](https://github.com/alexbosworth/balanceofsatoshis#saved-nodes) + +* tárolási helye: + + ```text + ~/.bos/YOUR_NODE_NAME/credentials.json + ``` + +* base64 értékekkel + +```text +{ +"cert": "base64 tls.cert value", +"macaroon": "base64 .macaroon value", +"socket": "host:port" +} + +# A `cert` értékhez +base64 ~/.lnd/tls.cert | tr -d '\n' +# A `macaroon` értékhez +base64 ~/.lnd/data/chain/bitcoin/mainnet/admin.macaroon | tr -d '\n' +``` + +* elérési úttal + + ```text + { + "cert_path": "/path/lnd/tls.cert", + "macaroon_path": "/path/lnd/data/chain/bitcoin/mainnet/admin.macaroon", + "socket": "LND_IP:10009" + } + ``` + +### BTCPayserver + +* LND a REST proxy-n keresztül: + + ```text + type=lnd-rest;server=https://mylnd:8080/;macaroon=abef263adfe... + type=lnd-rest;server=https://mylnd:8080/;macaroon=abef263adfe...;certthumbprint=abef263adfe... + ``` + +* macaroon + + ```text + xxd -plain /root/.lnd/data/chain/bitcoin/mainnet/admin.macaroon | tr -d '\n' + ``` + +* certthumbprint: + + ```text + openssl x509 -noout -fingerprint -sha256 -in /root/.lnd/tls.cert | sed -e 's/.*=//;s/://g' + ``` + +* opcionális: + + ```text + allowinsecure=true + ``` + +## Core Lightning (CLN) + +### Spark Wallet + +[https://github.com/shesek/spark-wallet](https://github.com/shesek/spark-wallet) + +### Sparko + +[https://github.com/fiatjaf/sparko](https://github.com/fiatjaf/sparko) +Jelenleg csak CA által aláírt tanúsítvánnyal működik. +Lásd: [https://github.com/shesek/spark-wallet/blob/master/doc/tls.md\#add-as-trusted-certificate-to-android](https://github.com/shesek/spark-wallet/blob/master/doc/tls.md#add-as-trusted-certificate-to-android) + +* Egyszerűen: + + ```text + URL?access-key=accessKey + ``` + + az `accessKey` macaroon-szerű jogosultságokkal rendelkezik + +### Core Lightning (CLN) REST \(Zeus-szal\) + +[https://github.com/Ride-The-Lightning/c-lightning-REST/](https://github.com/Ride-The-Lightning/c-lightning-REST/) + +* Még nincs szabvány, de szükség van: + + ```text + URL?hex_macaroon + ``` + +* a `hex_macaroon` generálása: + + ```text + xxd -plain /home/bitcoin/c-lightning-REST/certs/access.macaroon | tr -d '\n' + ``` + +### BTCPayserver + +* Core Lightning (CLN) TCP-n vagy unix domain socket kapcsolaton keresztül: + + ```text + type=clightning;server=unix://root/.lightning/lightning-rpc + type=clightning;server=tcp://1.1.1.1:27743/ + ``` + +* Lightning Charge HTTPS-en keresztül: + + ```text + type=charge;server=https://charge:8080/;api-token=myapitoken... + ``` + +## Eclair + +### BTCPayServer + +* Eclair HTTPS-en keresztül: + + ```text + type=eclair;server=https://eclair:8080/;password=eclairpassword... + ``` + +## Megjegyzések + +* gyakori függőségek + + ```text + sudo apt install qrencode base64 xxd + ``` + +* QR-kód generálása a terminálban + \(nyomd meg a `CTRL` + `-` billentyűkombinációt a méret csökkentéséhez\) + + ```text + string="desired content or $(command output)" + qrencode -t ANSIUTF8 "$string" + ``` + +* base64\_macaroon + + ```text + base64 ~/.lnd/data/chain/bitcoin/mainnet/admin.macaroon | tr -d '\n' + ``` + +* hex\_macaroon: + + ```text + xxd -plain /home/bitcoin/c-lightning-REST/certs/access.macaroon | tr -d '\n' + ``` + +* base64\_cert + + ```text + base64 ~/.lnd/tls.cert | tr -d '\n' + ``` + +* certthumbprint: + + ```text + openssl x509 -noout -fingerprint -sha256 -in /root/.lnd/tls.cert | sed -e 's/.*=//;s/://g' + ``` + +* `tls.cert` vizsgálata + + ```text + openssl x509 -in /mnt/hdd/lnd/tls.cert -noout -text + ``` + +* Tor Hidden Service megjelenítése + bővebben: [https://openoms.github.io/bitcoin-tutorials/tor\_hidden\_service\_example.html](https://openoms.github.io/bitcoin-tutorials/tor_hidden_service_example.html) + + ```text + sudo cat /var/lib/tor/SERVICE_NAME/hostname + # vagy RaspiBlitz-en + sudo cat /mnt/hdd/tor/SERVICE_NAME/hostname + ``` diff --git a/docs/hu/technicals/lnddatabasecompaction.md b/docs/hu/technicals/lnddatabasecompaction.md new file mode 100644 index 0000000..20cffe4 --- /dev/null +++ b/docs/hu/technicals/lnddatabasecompaction.md @@ -0,0 +1,168 @@ +# Az LND adatbázis \(channel.db\) tömörítése + +Az 1 GB-nál nagyobb `channel.db` fájl nem működik 32 bites rendszereken: [https://github.com/lightningnetwork/lnd/issues/4811](https://github.com/lightningnetwork/lnd/issues/4811) + +```text +# a channel.db méretének ellenőrzése +sudo du -h /mnt/hdd/lnd/data/graph/mainnet/channel.db +# példa kimenet +# 1.0G /mnt/hdd/lnd/data/graph/mainnet/channel.db +``` + +## Automatikus tömörítés újraindításkor + +Az LND v0.12.0 óta beállítható a `db.bolt.auto-compact=true` az `lnd.conf`-ban. + +* Szerkesztéshez: + + `sudo nano /mnt/hdd/lnd/lnd.conf` + +* szúrd be az alábbiakat \(a megjegyzések elhagyhatók\): + + ```text + [bolt] + # Whether the databases used within lnd should automatically be compacted on + # every startup (and if the database has the configured minimum age). This is + # disabled by default because it requires additional disk space to be available + # during the compaction that is freed afterwards. In general compaction leads to + # smaller database files. + db.bolt.auto-compact=true + # How long ago the last compaction of a database file must be for it to be + # considered for auto compaction again. Can be set to 0 to compact on every + # startup. (default: 168h) + # db.bolt.auto-compact-min-age=0 + ``` + +* indítsd újra az lnd-t: + + `sudo systemctl restart lnd` + +* kövesd a folyamatot \(több percig is tarthat\): + + `sudo tail -fn 30 /mnt/hdd/lnd/logs/bitcoin/mainnet/lnd.log` + +* érdemes lehet kikapcsolni az automatikus tömörítést az `lnd.conf`-ban, és csak igény szerint aktiválni, hogy elkerüld a hosszú indítási időket: + + ```text + db.bolt.auto-compact=false + ``` + +## Tömörítés a chantools eszközzel (Compaction with chantools) + +[https://github.com/guggero/chantools\#compactdb](https://github.com/guggero/chantools#compactdb) + +* Futtasd a következő parancsokat a RaspiBlitz terminálban + + Lásd a megjegyzéseket az egyes parancsok magyarázatához. + +```text +# chantools telepítése +# letöltés, ellenőrzés és a telepítő script futtatása +wget https://raw.githubusercontent.com/openoms/lightning-node-management/master/lnd.updates/bonus.chantools.sh +cat bonus.chantools.sh +bash bonus.chantools.sh on + +# lnd leállítása +sudo systemctl stop lnd + +# váltás a bitcoin felhasználó könyvtárára +sudo su - bitcoin + +# tömörítés futtatása +chantools compactdb --sourcedb /mnt/hdd/lnd/data/graph/mainnet/channel.db \ + --destdb /mnt/hdd/lnd/data/graph/mainnet/compacted.db + +# a compacted.db méretének ellenőrzése +# (az első tömörítés hozza a legnagyobb eredményt) +du -h /mnt/hdd/lnd/data/graph/mainnet/compacted.db +# példa kimenet: +# 730M /mnt/hdd/lnd/data/graph/mainnet/compacted.db + +# győződjünk meg róla, hogy az lnd nem fut (sudo szükséges) +exit +sudo systemctl stop lnd +sudo su - bitcoin + +# az eredeti adatbázis biztonsági mentése +mv /mnt/hdd/lnd/data/graph/mainnet/channel.db \ + /mnt/hdd/lnd/data/graph/mainnet/uncompacted.db + +# a tömörített adatbázis áthelyezése a régi helyére +mv /mnt/hdd/lnd/data/graph/mainnet/compacted.db \ + /mnt/hdd/lnd/data/graph/mainnet/channel.db + +# kilépés a bitcoin felhasználóból admin-ra +exit + +# lnd indítása +sudo systemctl start lnd + +# tárca feloldása +lncli unlock +``` + +# A visszavonási napló megtisztítása +* elérhető az [LND v0.15.1](https://github.com/lightningnetwork/lnd/releases/tag/v0.15.1-beta) óta +* Nem helyettesíti az adatbázis tömörítést, és csak egyszer kell elvégezni az LND v0.15.1-re vagy újabbra való frissítés után + + ```text + # a channel.db méretének ellenőrzése + sudo du -h /mnt/hdd/lnd/data/graph/mainnet/channel.db + # példa kimenet + # 1.0G /mnt/hdd/lnd/data/graph/mainnet/channel.db + ``` +## Raspiblitz vagy kompatibilis rendszeren: +* Szerkeszd a systemd szolgáltatást: + ``` + sudo systemctl edit --full lnd + ``` + +* Szerkeszd az `ExecStart=`-tal kezdődő sort így: + ``` + ExecStart=/usr/local/bin/lnd --configfile=/home/bitcoin/.lnd/lnd.conf --db.prune-revocation + ``` +* CTRL+o, ENTER és CTRL+x a mentéshez, majd indítsd újra az LND-t: + ``` + sudo systemctl restart lnd + ``` +* kövesd a folyamatot a naplókban: + ``` + sudo tail -n 30 -f /mnt/hdd/lnd/logs/bitcoin/mainnet/lnd.log + ``` +* jellemzően 30-60 percet vesz igénybe, hasonlóan a hosszú idő utáni tömörítéshez. + ``` + Példa kimenet a visszavonási napló megtisztításakor: + [INF] LTND: Version: 0.15.1-beta commit=v0.15.1-beta, build=production, logging=default, debuglevel=info + [INF] LTND: Active chain: Bitcoin (network=mainnet) + ... + [INF] LTND: Opening the main database, this might take a few minutes... + [INF] LTND: Opening bbolt database, sync_freelist=false, auto_compact=false + [INF] LTND: Creating local graph and channel state DB instances + [INF] CHDB: Checking for schema update: latest_version=29, db_version=27 + [INF] CHDB: Performing database schema migration + [INF] CHDB: Applying migration #28 + [INF] CHDB: Creating top-level bucket: "chan-id-bucket" ... + [INF] CHDB: Created top-level bucket: "chan-id-bucket" + [INF] CHDB: Applying migration #29 + [INF] CHDB: Checking for optional update: prune_revocation_log=true, db_version=empty + [INF] CHDB: Performing database optional migration: prune revocation log + [INF] CHDB: Migrating revocation logs, might take a while... + [INF] CHDB: Total logs=1358156, migrated=0 + ... + [INF] CHDB: Migration progress: 76.366%, still have: 320989 + [INF] CHDB: Migration progress: 89.584%, still have: 141464 + [INF] CHDB: Migration progress: 97.048%, still have: 40095 + [INF] CHDB: Migrating old revocation logs finished, now checking the migration results... + [INF] CHDB: Migration check passed, now deleting the old logs... + [INF] CHDB: Old revocation log buckets removed! + [INF] LTND: Database(s) now open (time_to_open=7m1.713662454s)! + ``` + +* a megtisztítás befejezése után a node újra online lesz +* a megtisztított naplók eltávolításához és a channel.db méretének csökkentéséhez még egyszer tömörítést kell végezni + +* példa kimenet a visszavonási napló megtisztítása utáni tömörítésről: + ``` + [INF] CHDB: DB compaction of /home/bitcoin/.lnd/data/graph/mainnet/channel.db successful, 3726725120 -> 1219481600 bytes (gain=3.06x) + [INF] CHDB: Swapping old DB file from /home/bitcoin/.lnd/data/graph/mainnet/temp-dont-use.db to /home/bitcoin/.lnd/data/graph/mainnet/channel.db + ``` diff --git a/docs/hu/technicals/networking.md b/docs/hu/technicals/networking.md new file mode 100644 index 0000000..69b7a8b --- /dev/null +++ b/docs/hu/technicals/networking.md @@ -0,0 +1,21 @@ +# VPN alagutak + +## Saját kézzel készített útmutatók +* Ez az útmutató leírja, hogyan konfigurálható egy VPN frontend szerver, ahol a bejövő TCP IPv4 kapcsolatokat egy VPN-en keresztül továbbítják a távoli backend szerveren futó szolgáltatásokhoz. + + +* Ez az útmutató egy egyszerűbb leírás a Hibrid Mód megvalósításához 2 vagy több LND Node számára VPS-en keresztül + + +* Dokumentáció az LNbits VPS-en történő beállításához, amely biztonságos alagúttal kapcsolódik a Lightning Network Node-odhoz + + +* VPS Passthrough Hosting - Nagy weboldal vagy alkalmazás hosztolása szerény VPS-sel + +## Videó +* Bitcoin-Lightning Wireguard VPN mögött - 402 Payment Required + + +## VPN szolgáltatás +* Megosztott VPN port-továbbítással és split-tunneling-gel + diff --git a/docs/hu/technicals/restorelndonchainfundsinelectrum.md b/docs/hu/technicals/restorelndonchainfundsinelectrum.md new file mode 100644 index 0000000..2b195df --- /dev/null +++ b/docs/hu/technicals/restorelndonchainfundsinelectrum.md @@ -0,0 +1,114 @@ +# LND onchain pénzkészlet kezelése Electrum / Sparrow / Specter tárcákban + +* A master publikus kulcsok létrehozásához (az LND onchain tárca YPUB / ZPUB megjelenítése) a tranzakciók külső monitorozásához és építéséhez a következő parancs használható: + ``` + lncli wallet accounts list --name default + ``` + +* PSBT aláírása: + ``` + lncli wallet psbt finalize --funded_psbt "base64_encoded_PSBT" + ``` + +* Tranzakció közvetítése LND-vel: + ``` + lncli wallet publishtx "tx_hex" + ``` + +* A részletekért kövesd a beszélgetést: https://github.com/raspiblitz/raspiblitz/issues/2192 + +## Onchain pénzkészlet visszaállítása LND tárcából Electrum Wallet-be + +Ezt csak akkor csináld, ha érted a folyamatot. +Soha ne adj meg titkos adatokat online weboldalakon. +Kerüld a bővítményekkel rendelkező böngészőablakokat. +A Tor Browser jó kiindulási pont \(célozd meg az offline használat\). + +Szükséges: + +* LND 24 szavas seed \(+ jelszó, ha használtál\) +* hasznos, ha tudod a feltöltött címeket +* használj dedikált, biztonságos operációs rendszert, pl. [Tails](https://tails.boum.org/) +* mentsd el az online oldalakat lemezre és nyisd meg egy új böngészőablakban + +### Nyisd meg: [https://guggero.github.io/cryptography-toolkit/\#!/aezeed](https://guggero.github.io/cryptography-toolkit/#!/aezeed) + +* a `Decode mnemonic` rész alatt + + add meg a 24 szavas seed-et \(+ jelszót, ha használtál\) + +* másold ki a `HD node root key base58` értéket + +### Nyisd meg: [https://iancoleman.io/bip39/](https://iancoleman.io/bip39/) + +* add meg a `HD node root key base58` értéket a `BIP32 Root Key` mezőbe +* a `Derivation Path` rész alatt + * Válaszd a `BIP84` fület a bc1.. címekhez. + * Válaszd a `BIP49` fület a 3.. címekhez. +* Másold ki a privát kulcsokat az ismert vagy összes címhez \(`Account Extended Private Key`\). + +### Nyisd meg az Electrum Wallet-et + +Kövesd: [https://bitcoinelectrum.com/importing-your-private-keys-into-electrum/](https://bitcoinelectrum.com/importing-your-private-keys-into-electrum/) + +A privát kulcsok importálásakor használd az alábbi prefixeket: + +* `p2wpkh:` a `bc1...` címek privát kulcsai előtt +* `p2wpkh-p2sh:` a `3...` címek privát kulcsai előtt + +Kész. Miután az Electrum Server befejezte a beolvasást, a pénzkészletnek meg kell jelennie. + +## Az LND tárca onchain részének importálása Electrum Wallet-be + +Ez nem egy ajánlott módja a pénzkészlet kezelésének az LND tárcából, jobban használható csak megfigyelés (watch-only) módban. +A seed-ből történő visszaállítás Electrum-ban nem érinti a csatornákban lévő offchain pénzkészletet. +Nincs garancia arra, hogy az Electrum change kimenetei megjelennek LND-ben, és fordítva. + +Ezt csak akkor csináld, ha érted a folyamatot. +Soha ne adj meg titkos adatokat online weboldalakon. +Kerüld a bővítményekkel rendelkező böngészőablakokat. +A Tor Browser jó kiindulási pont \(célozd meg az offline használat\). + +Szükséges: + +* LND 24 szavas seed \(+ jelszó, ha használtál\) +* használj dedikált, biztonságos operációs rendszert, pl. [Tails](https://tails.boum.org/) +* mentsd el az online oldalakat lemezre és nyisd meg egy új böngészőablakban + +### Nyisd meg: [https://guggero.github.io/cryptography-toolkit/\#!/aezeed](https://guggero.github.io/cryptography-toolkit/#!/aezeed) + +* a `Decode mnemonic` rész alatt + + add meg a 24 szavas seed-et \(+ jelszót, ha használtál\) + +* másold ki a `HD node root key base58` értéket BTC \(Bitcoin, Native SegWit, BIP84\) vagy BTC \(Bitcoin, SegWit, BIP49\) számára + +### Nyisd meg: [https://iancoleman.io/bip39/](https://iancoleman.io/bip39/) + +* add meg a `HD node root key base58` értéket a `BIP32 Root Key` mezőbe +* a `Derivation Path` rész alatt + * Válaszd a `BIP84` fület a bc1.. címekhez. + * Válaszd a `BIP49` fület a 3.. címekhez. +* Importáld az `Account Extended Public key`-t Electrum-ba csak megfigyelés (watch-only) tárcához. Lásd: [https://bitcoinelectrum.com/creating-a-watch-only-wallet/](https://bitcoinelectrum.com/creating-a-watch-only-wallet/) +* Importáld az `Account Extended Private Key`-t Electrum-ba hot wallet-ként \(nem ajánlott\). + +Alternatívaként nézd meg ezt a videót: +[https://light-tube.eu/?latest=Latest&search=How+to+import+your+lighting+wallet+into+Electrum](https://light-tube.eu/?latest=Latest&search=How+to+import+your+lighting+wallet+into+Electrum) + +A következő eszköz használatát mutatja be: + +[https://github.com/guggero/chantools](https://github.com/guggero/chantools) + +```text +showrootkey + +This command converts the 24 word lnd aezeed phrase and password to the BIP32 HD root key that is used as the rootkey parameter in other commands of this tool. + +Example command: + +chantools showrootkey +``` + +Az xpub zpub-ra konvertálása ezzel a kis python szkripttel: + +[https://gist.github.com/freenancial/d82fec076c13158fd34d1c4300b2b300](https://gist.github.com/freenancial/d82fec076c13158fd34d1c4300b2b300) diff --git a/docs/index.md b/docs/index.md new file mode 100644 index 0000000..47dd3da --- /dev/null +++ b/docs/index.md @@ -0,0 +1,310 @@ +# Lightning basics + +## Peer connections and channels + +* Peers are the nodes connected to each other through the internet \(TCP/IP layer\). +* A channel is a payment channel between two peers established on the Lightning Network. +* To open a channel to any node the peer connection needs to be established first. +* The publicly accessible nodes can be connected to automatically. +* If a node is not publicly accessible the peer connection needs to be initiated manually from the non-public side even if the other peer is opening the channel. + +## Receiving payments + +To be able to receive payments on the Lightning Network a node needs: + +* "inbound liquidity" \(aka remote balance\) which means that some satoshis need to be on the side of the other peer in a channel. +* a channel to a well connected node or a direct channel from the paying peer to make sure there is a possible payment route. + +The max amount of the incoming payment is determined by the highest inbound liquidity of a single channel \(not additive between channels\). + +## Channel size and choosing a peer + +* There is no hard number, but in general it is recommended to avoid opening channels below 200K-500K sats. +* [https://1ml.com/statistics](https://1ml.com/statistics) shows the average channel size on the network: + + 0.028 BTC = 2 800 000 satoshis on 2019 May 28. + +* A channel too small will result in being unable to close when on-chain fees are high. This will leave the channel vulnerable in a case, when the counterparty would try to close with a previous state \(the funds in the channel can be cheated out\). +* The max size of the available payment made or routed is determined by the highest directional liquidity of a single channel \(not additive between channels\). +* One big channel to a well connected and stable node is more useful than many small ones. +* It is beneficial to connect to nodes where the operator can be contacted in case of a problem. +* Choose a node you know or one from the list: [https://1ml.com/node?order=nodeconnectednodecount](https://1ml.com/node?order=nodeconnectednodecount) +* Try a custom list of recommendations for your public node: [https://moneni.com/nodematch](https://moneni.com/nodematch) + +## On-chain bitcoin fees + +* Opening or closing a Lightning channel is an on-chain bitcoin transaction \(settled on the blockchain\) +* The confirmation time depends on the state of the bitcoin mempool \([https://jochen-hoenicke.de/queue/\#0,24h](https://jochen-hoenicke.de/queue/#0,24h)\) and the sats/byte fee used \([https://bitcoinfees.earn.com/](https://bitcoinfees.earn.com/)\). +* Check [https://whatthefee.io/](https://whatthefee.io/) for the current estimation of confirmation time/fee. +* Use a custom fee and choose the lowest number with a good chance for an acceptable confirmation time. +* At least 141 bytes need to be covered by fees, but this number is often higher depending on the transaction inputs, script and signatures used. +* Learn what to do in a [high onchain fee environment](technicals/highonchainfees.md) + +## Tor nodes + +Tor is an anonymizing network designed to hide the participant\`s IP address. Somewhat similar to using a VPN with multiple hops. Learn more at: [https://en.wikipedia.org/wiki/Tor\_\(anonymity\_network\)](https://en.wikipedia.org/wiki/Tor_%28anonymity_network%29) + +* A Lightning node behind Tor can connect and open a channel to any other node. +* The nodes running on clearnet are not able to see behind Tor. +* The clearnet node needs to be added as a peer first by the Tor node to be able to open a channel. +* Once the channel is established the connection will persist, but might take some more time to come back online after either peer restarts. +* If both nodes restart in the same time or the clearnet node\`s IP address is changed while both offline the peer connection need to be added manually again. + +## Routing payments + +* Imagine a node `B` in an `A`-`B`-`C` serial connection. +* The channels of `B` are set up so that there is inbound capacity \(remote balance\) from `A` and outgoing capacity \(local balance\) to `C`. +* If `A` wants to pay `C` there will be 1 hop in the route. +* Under the hood: `A` sends the satoshis to `B` \(the routing node\) which will pay to `C`. +* The capacity of the channels do not change, only move. +* The whole payment can only go through if they can send a hash image \(a message\) through from the other direction first. +* The process is all or nothing, the payment cannot get stuck en route. + +## Private channel + +* better to be called an "unannounced" channel +* won't be advertised in the channel graph \(network gossip\) +* more useful to send payments +* to receive payments need to have a route hint included in the invoice: + + `lncli addinvoice --private` + +* the route hint is the identifier of the funding transaction \(exposes the channel to the anyone knowing the invoice\) +* possible to receive keysend payments if the route hint is known +* does not route payments \(unless used in parallel with a public channel to the same node - aka shadow liquidity\) + +## Lightning Network routing fees + +### Advanced and automated fee settings: [fees.md](advanced-tools/fees.md) + +Unlike with on-chain transactions \(where the fee is paid for the bytes the transaction takes up in a block\) Lightning Network fees are related to the amount routed. There are two fee components: + +* base fee \(base\_fee\_msat\). The default is 1000 millisat, which means 1 satoshi fee per every routed payment. +* proportional fee \(fee\_rate\) which is by default in lnd: 0.000001. This means there is an additional 1 sat charged for every million satoshis in the routed payment. + +There is no LN fee for payments in a direct channel between two peers. + +To change routing fees of your node use the command: [https://lightning.engineering/api-docs/api/lnd/lightning/update-channel-policy](https://lightning.engineering/api-docs/api/lnd/lightning/update-channel-policy) + +* Can reduce the base fee to 500 msat and increase the proportional fee to 100ppm/0.01% with this command: +`$ lncli updatechanpolicy 500 0.0001 144` +* the default setting is \(1 sat per payment + 1 ppm/0.0001%\): +`$ lncli updatechanpolicy 1000 0.000001 144` + +It is important to increase the routing fee for any expensive channels so rebalancing or closure is paid for if payments are routed that way. Check the routing fees of the peers on [1ml.com](https://1ml.com/) or in [lndmanage](./#lndmanage). + +Setting the fees for individual channels takes only one click in the [RTL app](./#RTL---Ride-The-Lightning). + +## Watchtowers + +Read more and how to set one up [watchtower.md](advanced-tools/watchtower.md). + +## Channel reserve + +Generally 1% of the channel capacity is used as a reserve. This means that any channel can only send the amount above the 1% of the capacity up to as much as the 99%. + +Specified in [BOLT2](https://github.com/lightning/bolts/blob/master/02-peer-protocol.md#rationale-8) + +>The channel reserve is specified by the peer's channel_reserve_satoshis: 1% of the channel total is suggested. Each side of a channel maintains this reserve so it always has something to lose if it were to try to broadcast an old, revoked commitment transaction. Initially, this reserve may not be met, as only one side has funds; but the protocol ensures that there is always progress toward meeting this reserve, and once met, it is maintained. + +Explained in more detail in the [Bitcoin Design Guide](https://bitcoin.design/guide/how-it-works/liquidity/#channel-reserve) + +## Liquidity + +Read the basic ideas from Alex Bosworth: [https://github.com/alexbosworth/run-lnd/blob/master/LIQUIDITY.md](https://github.com/alexbosworth/run-lnd/blob/master/LIQUIDITY.md) + +in the [Bitcoin Design Guide](https://bitcoin.design/guide/how-it-works/liquidity) + +## Create Inbound Liquidity + +Pay with Lightning and receive onchain. +See the a list of recommendations [CreateInboundLiquidity.md](createinboundliquidity.md) + +## Create Outbound Liquidity + +Simply open channels or pay onchain and receive on Lightning. +See the a list of recommendations [CreateOutboundLiquidity.md](createoutboundliquidity.md) + +## Manage channels + +The channels are best to be balanced with funds on each side to maximize the ability to route payments \(allows bidirectional traffic\). + +### [Balance of Satoshis](https://github.com/alexbosworth/balanceofsatoshis) + +A feature rich tool to work with LND balances. Has an experimental feature to connect to a personal Telegram bot and notify about the node activity. + +* [Install instructions for the RaspiBlitz](https://gist.github.com/openoms/823f99d1ab6e1d53285e489f7ba38602) +* See how to use the rebalance command with: `bos help rebalance` + +### [CLBOSS The C-Lightning Node Manager](https://github.com/ZmnSCPxj/clboss) + +An automated manager for C-Lightning forwarding nodes. + +### [lndmanage](https://github.com/bitromortac/lndmanage) + +A command-line tool for advanced channel management of an LND node written in python. + +* Install with: + + ```bash + # activate virtual environment + sudo apt install -y python3-venv + python3 -m venv venv + source venv/bin/activate + # get dependencies + sudo apt install -y python3-dev libatlas-base-dev + pip3 install wheel + python3 -m pip install lndmanage + ``` + +* Start the interactive mode \(do this at every new start\): + + ```bash + $ source venv/bin/activate + (venv) $ lndmanage + ``` + +* To display the status of the channels: + + `$ lndmanage status` + `$ lndmanage listchannels` + +* Example rebalance command: + + `$ lndmanage rebalance --max-fee-sat 20 --max-fee-rate 0.0001 CHANNEL_ID --reckless` + +### [rebalance-lnd](https://github.com/C-Otto/rebalance-lnd) + +Using this python script you can easily rebalance individual channels of your lnd node. + +* To install run in the terminal of the lnd node: + + `$ git clone https://github.com/C-Otto/rebalance-lnd` + + `$ cd rebalance-lnd` + + `$ pip install -r requirements.txt` + +* Use with \(more options in the [readme](https://github.com/C-Otto/rebalance-lnd/blob/master/README.md#usage)\): + + `$ python rebalance.py -t -f -a ` + +### [Methods to create a balanced channel with a trusted peer](advanced-tools/balancedchannelcreation.md) + +* Perform a trusted onchain to offchain swap. +* Open a dual funded, balanced channel with a trusted peer using the command line requiring an Lightning and an on-chain transaction. + +## Monitoring software + +### [RTL - Ride The Lightning](https://github.com/ShahanaFarooqui/RTL) + +RTL is a web UI for Lightning Network Daemon. Aimed to be used on the local network. [HTTPS](https://github.com/openoms/bitcoin-tutorials/tree/master/nginx) or [Tor](https://github.com/Ride-The-Lightning/RTL/blob/master/docs/RTL_TOR_setup.md) connection method is available. +[https://medium.com/@suheb\_\_/how-to-ride-the-lightning-447af999dcd2](mailto:https://medium.com/@suheb__/how-to-ride-the-lightning-447af999dcd2) + +### [ThunderHub](https://www.thunderhub.io/) + +An LND Lightning Node Manager in your Browser. + +* [Install instructions on the RaspiBlitz](https://gist.github.com/openoms/8ba963915c786ce01892f2c9fa2707bc) + +### [ZeusLN](https://zeusln.app/) + +A mobile Bitcoin app for Lightning Network Daemon \(lnd\) node operators. Android and iOS - connects through the REST API \(port 8080 or [Tor](https://github.com/openoms/bitcoin-tutorials/blob/master/Zeus_to_RaspiBlitz_through_Tor.md)\) + +### [Zap](https://zap.jackmallers.com/) + +A lightning wallet for desktop, iOS and Android - can connect to your LND node remotely through the GRPC interface \(port 10009\) + +### [Joule](https://lightningjoule.com/) + +Bring the power of lightning to the web with in-browser payments and identity, all with your own node. +[https://medium.com/lightning-power-users/bitcoin-lightning-joule-chrome-extension-ac149bb05cb9](https://medium.com/lightning-power-users/bitcoin-lightning-joule-chrome-extension-ac149bb05cb9) + +### [lntop](https://github.com/edouardparis/lntop) + +lntop is an interactive text-mode channels viewer for Unix systems. + +### [lnd-admin](https://github.com/janoside/lnd-admin) + +Admin web interface for LND, via gRPC. Built with Node.js, express, bootstrap-v4. Test at: [https://lnd-admin.chaintools.io/](https://lnd-admin.chaintools.io/) + +### [lndmon](https://github.com/lightninglabs/lndmon) + +A drop-in monitoring solution for your lnd node using Prometheus and Grafana. [https://blog.lightning.engineering/posts/2019/07/24/lndmon-v0.1.html](https://blog.lightning.engineering/posts/2019/07/24/lndmon-v0.1.html) + +### [Spark wallet for C-Lightning](https://github.com/shesek/spark-wallet) + +Spark is a minimalistic wallet GUI for c-lightning, accessible over the web or through mobile and desktop apps \(for Android, Linux, macOS and Windows\). It is currently oriented for technically advanced users and is not an all-in-one package, but rather a "remote control" interface for a c-lightning node that has to be managed separately. + +## Lightning network explorers + +* [1ml.com](https://1ml.com/) +* [explorer.acinq.co](https://explorer.acinq.co/) +* [amboss.space](https://amboss.space/) +* [ln.fiatjaf.com](https://ln.fiatjaf.com) + +## Resources + +* LND Builder's Guide Best Practices + + [docs.lightning.engineering/advanced-best-practices/advanced-best-practices-overview/channels](https://docs.lightning.engineering/advanced-best-practices/advanced-best-practices-overview/channels) + +* A conceptual review of the Lightning Network: + + [dev.lightning.community/overview/index.html\#lightning-network](https://dev.lightning.community/overview/index.html#lightning-network) + +* gRPC API reference documentation for LND + + [api.lightning.community](https://api.lightning.community) + +* [medium.com/lightningto-me/practical-solutions-to-inbound-capacity-problem-in-lightning-network-60224aa13393](https://medium.com/lightningto-me/practical-solutions-to-inbound-capacity-problem-in-lightning-network-60224aa13393) +* [lightningwiki.net](https://lightningwiki.net) +* [satbase.org](https://satbase.org) +* A list about How to get Channel Liquidity fast? + + [github.com/raspiblitz/raspiblitz/issues/395](https://github.com/raspiblitz/raspiblitz/issues/395) + +* A curated list of awesome Lightning Network resources, apps, and libraries + + [github.com/bcongdon/awesome-lightning-network](https://github.com/bcongdon/awesome-lightning-network) + +* Jameson Lopp's curated list of Lightning Network resources + + [lightning.how](https://lightning.how) + +* [wiki.ion.radar.tech/tutorials/troubleshooting/bootstrapping-channels](https://wiki.ion.radar.tech/tutorials/troubleshooting/bootstrapping-channels) + +### Routing + +* [blog.lightning.engineering/posts/2018/05/30/routing.html](https://blog.lightning.engineering/posts/2018/05/30/routing.html) +* [diyhpl.us/wiki/transcripts/chaincode-labs/2018-10-22-alex-bosworth-channel-management/](https://diyhpl.us/wiki/transcripts/chaincode-labs/2018-10-22-alex-bosworth-channel-management/) +* [diyhpl.us/wiki/transcripts/lightning-hack-day/2021-03-27-alex-bosworth-lightning-routing/](https://diyhpl.us/wiki/transcripts/lightning-hack-day/2021-03-27-alex-bosworth-lightning-routing/) + +## Videos + +* Elaine Ou - Bootstrapping and maintaining a Lightning node [38 mins video](https://www.youtube.com/watch?v=qX4Z3JY1094) and [slides](https://lightningresidency.com/assets/presentations/Ou_Bootstrapping_and_Maintaining_a_Lightning_Node.pdf) +* Alex Bosworth - Lightning channel Management [35 mins video](https://www.youtube.com/watch?v=HlPIB6jt6ww&feature=youtu.be) +* [Chaincode Labs Lightning Seminar - Summer 2019](https://www.youtube.com/playlist?list=PLpLH33TRghT17_U3as2P3vHfAGL8pSOOY) +* Collection of Alex Bosworth\`s online presentations: + + [twitter.com/alexbosworth/status/1175091117668257792](https://twitter.com/alexbosworth/status/1175091117668257792) + +## Forums + +* A community managed group for the RaspiBlitz Lightning Node: + + [https://t.me/raspiblitz](https://t.me/raspiblitz) + +* LND Developer Slack. Find the invite link on: + + [dev.lightning.community/](https://dev.lightning.community/) + +* A subreddit for Bitcoin and Lightning developers to discuss technical topics: + + [www.reddit.com/r/lightningdevs](https://www.reddit.com/r/lightningdevs) + +## Learning + +* [https://github.com/lnbook/lnbook](https://github.com/lnbook/lnbook) +* [https://github.com/chaincodelabs/lightning-curriculum](https://github.com/chaincodelabs/lightning-curriculum) + diff --git a/lndrecovery.md b/docs/lndrecovery.md similarity index 100% rename from lndrecovery.md rename to docs/lndrecovery.md diff --git a/node-types/comparison.md b/docs/node-types/comparison.md similarity index 100% rename from node-types/comparison.md rename to docs/node-types/comparison.md diff --git a/node-types/nodetype.merchant.md b/docs/node-types/nodetype.merchant.md similarity index 96% rename from node-types/nodetype.merchant.md rename to docs/node-types/nodetype.merchant.md index c2c5c22..dbc955c 100644 --- a/node-types/nodetype.merchant.md +++ b/docs/node-types/nodetype.merchant.md @@ -43,7 +43,7 @@ Aimed for receiving payments, focuses on inbound liqudity * Accepting [donations](../donate/donations.md) * Offer to pay onchain for high value payments \(miner fee < 0.5-1%\) - ![BTCPayServer setting](../.gitbook/assets/btcpay.on-offchain.png) + ![BTCPayServer setting](../assets/btcpay.on-offchain.png) * can progress to a [Routing node]() as the number of connections and capital grows diff --git a/node-types/nodetype.routing.md b/docs/node-types/nodetype.routing.md similarity index 98% rename from node-types/nodetype.routing.md rename to docs/node-types/nodetype.routing.md index 06b4d93..cd258fb 100644 --- a/node-types/nodetype.routing.md +++ b/docs/node-types/nodetype.routing.md @@ -21,7 +21,7 @@ Aimed for forwarding payments successfully while generating profit. * aim to be perfect * offline routing nodes with many public channels are causing networkwide payment failures -* greatly affects the [reputation of the routing node](https://github.com/openoms/lightning-node-management/tree/04d605ae69f3630c0eaeedc43eda95c6ff5d1ee3/bosscore.md) +* greatly affects the [reputation of the routing node](https://github.com/openoms/lightning-node-management/tree/04d605ae69f3630c0eaeedc43eda95c6ff5d1ee3/bossscore.md) ## Management diff --git a/node-types/nodetype.spending.md b/docs/node-types/nodetype.spending.md similarity index 100% rename from node-types/nodetype.spending.md rename to docs/node-types/nodetype.spending.md diff --git a/privacy/resources.md b/docs/privacy/resources.md similarity index 100% rename from privacy/resources.md rename to docs/privacy/resources.md diff --git a/technicals/highonchainfees.md b/docs/technicals/highonchainfees.md similarity index 100% rename from technicals/highonchainfees.md rename to docs/technicals/highonchainfees.md diff --git a/technicals/lightning.connect.md b/docs/technicals/lightning.connect.md similarity index 100% rename from technicals/lightning.connect.md rename to docs/technicals/lightning.connect.md diff --git a/technicals/lnddatabasecompaction.md b/docs/technicals/lnddatabasecompaction.md similarity index 100% rename from technicals/lnddatabasecompaction.md rename to docs/technicals/lnddatabasecompaction.md diff --git a/technicals/networking.md b/docs/technicals/networking.md similarity index 100% rename from technicals/networking.md rename to docs/technicals/networking.md diff --git a/technicals/restorelndonchainfundsinelectrum.md b/docs/technicals/restorelndonchainfundsinelectrum.md similarity index 100% rename from technicals/restorelndonchainfundsinelectrum.md rename to docs/technicals/restorelndonchainfundsinelectrum.md diff --git a/donate/donations.md b/donate/donations.md deleted file mode 100644 index d1ed506..0000000 --- a/donate/donations.md +++ /dev/null @@ -1,20 +0,0 @@ -# Donations - -* Self hosted BTCPayServer (LN + onchain with PayJoin) - [https://tips.diynodes.com](https://tips.diynodes.com) - - * Lightning Address - openoms@pay.diynodes.com - - * Self hosted BTCPayServer via Tor (LN + onchain with PayJoin) - [http://7tpv3ynajkv6cdocmzitcd4z3xrstp3ic6xtv5om3dc2ned3fffll5qd.onion/apps/4FePMm7m818oppkTYNZRwbDnL6HP/pos](http://7tpv3ynajkv6cdocmzitcd4z3xrstp3ic6xtv5om3dc2ned3fffll5qd.onion/apps/4FePMm7m818oppkTYNZRwbDnL6HP/pos) - -* Bitcoin Beach Wallet - [ln.bitcoinbeach.com/openoms](https://ln.bitcoinbeach.com/openoms) - * Lightning Address - openoms@pay.diynodes.com - - -* Tippin.me - [tippin.me/@openoms](https://tippin.me/@openoms) - diff --git a/lnd.updates/bonus.chantools.sh b/lnd.updates/bonus.chantools.sh deleted file mode 100644 index 2c066c0..0000000 --- a/lnd.updates/bonus.chantools.sh +++ /dev/null @@ -1,160 +0,0 @@ -#!/bin/bash - -# Chantools install script - -# Download and run this script on the RaspiBlitz: -# $ wget https://raw.githubusercontent.com/openoms/lightning-node-management/master/lnd.updates/bonus.chantools.sh -# $ bash bonus.chantools.sh on - -# see https://github.com/guggero/chantools/releases - -lndVersion=$(lncli -v | cut -d " " -f 3 | cut -d"." -f2) -if [ $lndVersion -eq 12 ]; then - pinnedVersion="0.8.2" -elif [ $lndVersion -eq 11 ]; then - pinnedVersion="0.7.1" -else - echo "# LND not installed or a version not tested with chantools" - lncli -v -fi - -# command info -if [ $# -eq 0 ] || [ "$1" = "-h" ] || [ "$1" = "-help" ]; then - echo "Channel Tools install script" - echo "/home/admin/config.scrips/bonus.chantools.sh on|off|menu" - echo "Installs the version $pinnedVersion by default." - exit 1 -fi - -# add default value to raspi config if needed -if ! grep -Eq "^chantools=" /mnt/hdd/raspiblitz.conf; then - echo "chantools=off" >> /mnt/hdd/raspiblitz.conf -fi - -# show info menu -if [ "$1" = "menu" ]; then - dialog --title " Channel Tools " --msgbox " -Channel Tools is a command line tool. -Type: 'sudo su - bitcoin' in the command line to switch to the bitcoin user. -Then see 'chantools' for the options. -Usage: https://github.com/guggero/chantools/blob/master/README.md -" 10 75 - exit 0 -fi - -# install -if [ "$1" = "1" ] || [ "$1" = "on" ]; then - - downloadDir="/home/admin/download" # edit your download directory - PGPpkeys="https://keybase.io/guggero/pgp_keys.asc" - PGPcheck="4FC70F07310028424EFC20A8E4256593F177720" - - echo "Detect CPU architecture ..." - isARM=$(uname -m | grep -c 'arm') - isAARCH64=$(uname -m | grep -c 'aarch64') - isX86_64=$(uname -m | grep -c 'x86_64') - if [ ${isARM} -eq 0 ] && [ ${isAARCH64} -eq 0 ] && [ ${isX86_64} -eq 0 ] ; then - echo "# !!! FAIL !!!" - echo "# Can only build on arm, aarch64 or x86_64 not on:" - uname -m - exit 1 - else - echo "# OK running on $(uname -m) architecture." - fi - - cd "${downloadDir}" - - # extract the SHA256 hash from the manifest file for the corresponding platform - sudo -u admin wget -N https://github.com/guggero/chantools/releases/download/v${pinnedVersion}/manifest-v${pinnedVersion}.txt - - # get the SHA256 for the corresponding platform from manifest file - if [ ${isARM} -eq 1 ] ; then - OSversion="armv7" - elif [ ${isAARCH64} -eq 1 ] ; then - OSversion="arm64" - elif [ ${isX86_64} -eq 1 ] ; then - OSversion="amd64" - fi - SHA256=$(grep -i "linux-$OSversion" manifest-v$pinnedVersion.txt | cut -d " " -f1) - echo - echo "# Channel Tools v${pinnedVersion} for ${OSversion}" - echo "# SHA256 hash: $SHA256" - echo - - # get binary - binaryName="chantools-linux-${OSversion}-v${pinnedVersion}.tar.gz" - sudo -u admin wget -N https://github.com/guggero/chantools/releases/download/v${pinnedVersion}/${binaryName} - - # check binary was not manipulated (checksum test) - sudo -u admin wget -N https://github.com/guggero/chantools/releases/download/v${pinnedVersion}/manifest-v${pinnedVersion}.txt.asc - sudo -u admin wget --no-check-certificate -N -O "${downloadDir}/pgp_keys.asc" ${PGPpkeys} - binaryChecksum=$(sha256sum ${binaryName} | cut -d " " -f1) - if [ "${binaryChecksum}" != "${SHA256}" ]; then - echo "# !!! FAIL !!! Downloaded Channel Tools BINARY not matching SHA256 checksum: ${SHA256}" - exit 1 - fi - - # check gpg finger print - gpg ./pgp_keys.asc - fingerprint=$(sudo gpg "${downloadDir}/pgp_keys.asc" 2>/dev/null | grep "${PGPcheck}" -c) - if [ ${fingerprint} -lt 1 ]; then - echo - echo "# !!! BUILD WARNING --> Channel Tools PGP author not as expected" - echo "# Should contain PGP: ${PGPcheck}" - echo "# PRESS ENTER to TAKE THE RISK if you think all is OK" - read key - fi - gpg --import ./pgp_keys.asc - sleep 3 - verifyResult=$(gpg --verify manifest-v${pinnedVersion}.txt.asc 2>&1) - goodSignature=$(echo ${verifyResult} | grep 'Good signature' -c) - echo "# goodSignature(${goodSignature})" - correctKey=$(echo ${verifyResult} | tr -d " \t\n\r" | grep "${GPGcheck}" -c) - echo "# correctKey(${correctKey})" - if [ ${correctKey} -lt 1 ] || [ ${goodSignature} -lt 1 ]; then - echo - echo "# !!! BUILD FAILED --> Channel Tools PGP Verify not OK / signature(${goodSignature}) verify(${correctKey})" - exit 1 - fi - - # install - sudo -u admin tar -xzf ${binaryName} - sudo -u bitcoin mkdir -p /home/bitcoin/bin 2>/dev/null - sudo install -m 0755 -o bitcoin -g bitcoin -t /home/bitcoin/bin chantools-linux-${OSversion}-v${pinnedVersion}/* - sleep 3 - installed=$(sudo -u bitcoin /home/bitcoin/bin/chantools --version) - if [ ${#installed} -eq 0 ]; then - echo - echo "# !!! BUILD FAILED --> Was not able to install Channel Tools" - exit 1 - fi - # setting value in raspi blitz config - sudo sed -i "s/^chantools=.*/chantools=on/g" /mnt/hdd/raspiblitz.conf - - echo - echo "# Installed ${installed}" - echo " -# Channel Tools is a command line tool. -# Type: 'sudo su - bitcoin' in the command line to switch to the bitcoin user. -# Then see 'chantools' for the options. -# Usage: https://github.com/guggero/chantools/blob/master/README.md -" - exit 0 -fi - -# switch off -if [ "$1" = "0" ] || [ "$1" = "off" ]; then - - # setting value in raspi blitz config - sudo sed -i "s/^chantools=.*/chantools=off/g" /mnt/hdd/raspiblitz.conf - - echo "# REMOVING Channel Tools" - sudo rm -rf /home/admin/download/chantools* - sudo rm -rf /home/bitcoin/bin/chantools* - echo "# OK, chantools is removed." - exit 0 - -fi - -echo "# FAIL - Unknown Parameter $1" -exit 1 \ No newline at end of file diff --git a/lnd.updates/lnd.from.source.sh b/lnd.updates/lnd.from.source.sh deleted file mode 100644 index 9df8408..0000000 --- a/lnd.updates/lnd.from.source.sh +++ /dev/null @@ -1,80 +0,0 @@ -# LND Update Script - -# Download and run this script on the RaspiBlitz: -# $ wget https://raw.githubusercontent.com/openoms/lightning-node-management/master/lnd.updates/lnd.from.source.sh && sudo bash lnd.from.source.sh - -# https://github.com/lightningnetwork/lnd/blob/master/docs/INSTALL.md#installing-lnd-from-source - -#### Build from Source -# To quickly catch up get latest patches if needed -repo="github.com/lightningnetwork/lnd" -echo "Paste the latest or desired commit ID to checkout from" -echo "See the list at: https://github.com/lightningnetwork/lnd/commits/master" -echo "Example (for v0.9.1 arm patch):" -echo "b96de11678f6395b2e7d523af8ec4129e0d21df2" -echo "(if left empty will use the latest state of the master branch)" -echo "and press ENTER" -read commit -#commit="b96de11678f6395b2e7d523af8ec4129e0d21df2" # for v0.9.1 patch -echo -# BUILDING LND FROM SOURCE -echo "repo=${repo}" -echo "up to the commit=${commit}" -echo - -# check if Go is installed and display version -/home/admin/config.scripts/bonus.go.sh on - -# stop service -sudo systemctl stop lnd - -# make sure PATHs are defined -export GOROOT=/usr/local/go -export PATH=$PATH:$GOROOT/bin -export GOPATH=/usr/local/gocode -export PATH=$PATH:$GOPATH/bin - -cd download || exit 1 -echo "Deleting old source" -sudo rm -rf /usr/local/gocode/src/github.com/lightningnetwork/lnd -sudo rm -rf lnd -echo "Deleting old binaries" -sudo rm -f /usr/local/gocode/bin/lnd -sudo rm -f /usr/local/bin/lnd -sudo rm -f /usr/local/gocode/bin/lncli -sudo rm -f /usr/local/bin/lncli -echo - -echo "Downloading $repo" -git clone https://$repo -cd lnd || exit 1 -git checkout ${commit} -echo - -echo "Building LND..." -# sudo bash -c 'export PATH=$PATH:/usr/local/go/bin; make clean; \ -# make install tags="signrpc walletrpc routerrpc invoicesrpc"' || exit 1 -sudo /usr/local/go/bin/go install -tags="signrpc walletrpc routerrpc invoicesrpc" -v ./... || exit 1 -sudo chmod 555 /usr/local/gocode/bin/lncli 2>/dev/null -sudo chmod 555 /usr/local/gocode/bin/lnd 2>/dev/null - -echo "Linking to /usr/local/bin" -sudo ln -s /usr/local/gocode/bin/lncli /usr/local/bin/lncli 2>/dev/null -sudo ln -s /usr/local/gocode/bin/lnd /usr/local/bin/lnd 2>/dev/null - -lndVersionCheck=$(lncli --version) -if [ ${#lndVersionCheck} -eq 0 ]; then - echo "FAIL - Something went wrong with building LND from source." - echo "Sometimes it may just be a connection issue. Reset to fresh Rasbian and try again?" - exit 1 -fi - -# start service -sudo systemctl restart lnd - -echo -echo "LND VERSION INSTALLED: ${lndVersionCheck} up to commit ${commit} from ${repo}" - -sleep 20 -echo "Unlock wallet - run 'lncli unlock' if fails" -lncli unlock diff --git a/lnd.updates/lnd.update.sh b/lnd.updates/lnd.update.sh deleted file mode 100644 index fd8da53..0000000 --- a/lnd.updates/lnd.update.sh +++ /dev/null @@ -1,146 +0,0 @@ -#!/bin/bash - -# LND Update Script - -# Download and run this script on the RaspiBlitz: -# $ wget https://raw.githubusercontent.com/openoms/lightning-node-management/master/lnd.updates/lnd.update.sh && bash lnd.update.sh - -echo "# See the latest LND release and check who signed it https://github.com/lightningnetwork/lnd/releases" -echo "# Input the LND version to install (eg. '0.15.5-beta' or '0.16.0-beta.rc1'):" -read lndVersion - -downloadDir="/home/admin/download/lnd" # edit your download directory - -echo "# Input the name of the signer (eg: 'roasbeef'):" -read PGPsigner - -PGPkeys="https://keybase.io/$PGPsigner/pgp_keys.asc" - -echo "# Input the PGP key fingerprint to check against (eg. 'E4D85299674B2D31FAA1892E372CBD7633C61696'):" -read PGPcheck - -#PGPsigner="roasbeef" -#PGPpkeys="https://keybase.io/roasbeef/pgp_keys.asc" -#PGPcheck="E4D85299674B2D31FAA1892E372CBD7633C61696" - -echo "Detect CPU architecture ..." -isARM=$(uname -m | grep -c 'arm') -isAARCH64=$(uname -m | grep -c 'aarch64') -isX86_64=$(uname -m | grep -c 'x86_64') -if [ ${isARM} -eq 0 ] && [ ${isAARCH64} -eq 0 ] && [ ${isX86_64} -eq 0 ] ; then - echo "!!! FAIL !!!" - echo "Can only build on ARM, aarch64, x86_64 or i386 not on:" - uname -m - exit 1 -else - echo "OK running on $(uname -m) architecture." -fi - -# get the lndSHA256 for the corresponding platform from manifest file -if [ ${isARM} -eq 1 ] ; then - lndOSversion="armv7" -fi -if [ ${isAARCH64} -eq 1 ] ; then - lndOSversion="arm64" -fi -if [ ${isX86_64} -eq 1 ] ; then - lndOSversion="amd64" -fi -binaryName="lnd-linux-${lndOSversion}-v${lndVersion}.tar.gz" - -rm -rf "${downloadDir}" -mkdir -p "${downloadDir}" -cd "${downloadDir}" || exit 1 -# extract the SHA256 hash from the manifest file for the corresponding platform -sudo -u admin wget -N https://github.com/lightningnetwork/lnd/releases/download/v${lndVersion}/manifest-${PGPsigner}-v${lndVersion}.sig || exit 1 - -sudo -u admin wget -N https://github.com/lightningnetwork/lnd/releases/download/v${lndVersion}/manifest-v${lndVersion}.txt || exit 1 - -# get the lndSHA256 for the corresponding platform from manifest file -lndSHA256=$(grep -i $binaryName manifest-v${lndVersion}.txt | cut -d " " -f1) - -echo -echo "*** LND v${lndVersion} for ${lndOSversion} ***" -echo "SHA256 hash: $lndSHA256" -echo - -# get LND binary -sudo -u admin wget -N https://github.com/lightningnetwork/lnd/releases/download/v${lndVersion}/${binaryName} || exit 1 - -# check binary was not manipulated (checksum test) -wget -O "${downloadDir}/pgp_keys.asc" ${PGPkeys} || exit 1 -binaryChecksum=$(sha256sum ${binaryName} | cut -d " " -f1) -if [ "${binaryChecksum}" != "${lndSHA256}" ]; then - echo "!!! FAIL !!! Downloaded LND BINARY not matching SHA256 checksum: ${lndSHA256}" - exit 1 -fi - -# check gpg finger print -gpg ./pgp_keys.asc -fingerprint=$(sudo gpg "${downloadDir}/pgp_keys.asc" 2>/dev/null | grep "${PGPcheck}" -c) -if [ ${fingerprint} -lt 1 ]; then - echo "" - echo "!!! BUILD WARNING --> LND PGP author not as expected" - echo "Should contain PGP: ${PGPcheck}" - echo "PRESS ENTER to TAKE THE RISK if you think all is OK" - read key -fi -gpg --import ./pgp_keys.asc || exit 1 -sleep 3 -verifyResult=$(gpg --verify manifest-${PGPsigner}-v${lndVersion}.sig manifest-v${lndVersion}.txt 2>&1) -goodSignature=$(echo ${verifyResult} | grep 'Good signature' -c) -echo "goodSignature(${goodSignature})" -correctKey=$(echo ${verifyResult} | tr -d " \t\n\r" | grep "${GPGcheck}" -c) -echo "correctKey(${correctKey})" -if [ ${correctKey} -lt 1 ] || [ ${goodSignature} -lt 1 ]; then - echo "" - echo "!!! BUILD FAILED --> LND PGP Verify not OK / signature(${goodSignature}) verify(${correctKey})" - exit 1 -fi - -echo -if systemctl is-active --quiet litd; then - litdWasRunning=true -else - litdWasRunning=false -fi - -echo -echo "# Stopping the lnd.service..." -sudo systemctl stop lnd - -echo "# Install lnd-linux-${lndOSversion}-v${lndVersion}..." -sudo -u admin tar -xzf ${binaryName} -sudo install -m 0755 -o root -g root -t /usr/local/bin lnd-linux-${lndOSversion}-v${lndVersion}/* -sleep 3 -installed=$(sudo -u admin lnd --version) -if [ ${#installed} -eq 0 ]; then - echo "" - echo "!!! BUILD FAILED --> Was not able to install LND" - exit 1 -fi -echo "# Starting the lnd.service" -sudo systemctl start lnd -sleep 5 -echo -echo "# Installed ${installed}" - -if $litdWasRunning; then - echo - echo "# Starting litd.service" - sudo systemctl start litd -fi - -echo -echo "# Check for the circuitbreaker.service" -if [ $(sudo systemctl status circuitbreaker | grep -c active) -gt 0 ];then - echo "# restart the circuitbreaker.service" - sudo systemctl restart circuitbreaker -else - echo "# circuitbreaker not running" - echo "# Install with:" - echo "'config.scripts/bonus.circuitbreaker.sh on'" -fi - -sleep 15 -lncli unlock diff --git a/lnd.updates/lnd.update.v0.16.4-beta.sh b/lnd.updates/lnd.update.v0.16.4-beta.sh deleted file mode 100644 index 24c18aa..0000000 --- a/lnd.updates/lnd.update.v0.16.4-beta.sh +++ /dev/null @@ -1,127 +0,0 @@ -#!/bin/bash - -# LND Update Script - -# Download and run this script on the RaspiBlitz: -# $ wget https://raw.githubusercontent.com/openoms/lightning-node-management/master/lnd.updates/lnd.update.0.16.4-beta.sh && bash lnd.update.0.16.4-beta.sh - -lndVersion="0.16.4-beta" -downloadDir="/home/admin/download/lnd" # edit your download directory - -# olaoluwa -PGPsigner="roasbeef" -PGPkeys="https://keybase.io/roasbeef/pgp_keys.asc" -PGPcheck="E4D85299674B2D31FAA1892E372CBD7633C61696" - -# guggero -#PGPsigner="guggero" -#PGPkeys="https://keybase.io/$PGPsigner/pgp_keys.asc" -#PGPcheck="F4FC70F07310028424EFC20A8E4256593F177720" - -echo "Detect CPU architecture ..." -isARM=$(uname -m | grep -c 'arm') -isAARCH64=$(uname -m | grep -c 'aarch64') -isX86_64=$(uname -m | grep -c 'x86_64') -if [ ${isARM} -eq 0 ] && [ ${isAARCH64} -eq 0 ] && [ ${isX86_64} -eq 0 ] ; then - echo "!!! FAIL !!!" - echo "Can only build on ARM, aarch64, x86_64 or i386 not on:" - uname -m - exit 1 -else - echo "OK running on $(uname -m) architecture." -fi - -# get the lndSHA256 for the corresponding platform from manifest file -if [ ${isARM} -eq 1 ] ; then - lndOSversion="armv7" -fi -if [ ${isAARCH64} -eq 1 ] ; then - lndOSversion="arm64" -fi -if [ ${isX86_64} -eq 1 ] ; then - lndOSversion="amd64" -fi -binaryName="lnd-linux-${lndOSversion}-v${lndVersion}.tar.gz" - -rm -rf "${downloadDir}" -mkdir -p "${downloadDir}" -cd "${downloadDir}" || exit 1 -# extract the SHA256 hash from the manifest file for the corresponding platform -sudo -u admin wget -N https://github.com/lightningnetwork/lnd/releases/download/v${lndVersion}/manifest-${PGPsigner}-v${lndVersion}.sig || exit 1 - -sudo -u admin wget -N https://github.com/lightningnetwork/lnd/releases/download/v${lndVersion}/manifest-v${lndVersion}.txt || exit 1 - -# get the lndSHA256 for the corresponding platform from manifest file -lndSHA256=$(grep -i $binaryName manifest-v${lndVersion}.txt | cut -d " " -f1) - -echo -echo "*** LND v${lndVersion} for ${lndOSversion} ***" -echo "SHA256 hash: $lndSHA256" -echo - -# get LND binary -sudo -u admin wget -N https://github.com/lightningnetwork/lnd/releases/download/v${lndVersion}/${binaryName} || exit 1 - -# check binary was not manipulated (checksum test) -wget -O "${downloadDir}/pgp_keys.asc" ${PGPkeys} || exit 1 -binaryChecksum=$(sha256sum ${binaryName} | cut -d " " -f1) -if [ "${binaryChecksum}" != "${lndSHA256}" ]; then - echo "!!! FAIL !!! Downloaded LND BINARY not matching SHA256 checksum: ${lndSHA256}" - exit 1 -fi - -# check gpg finger print -gpg ./pgp_keys.asc -fingerprint=$(sudo gpg "${downloadDir}/pgp_keys.asc" 2>/dev/null | grep "${PGPcheck}" -c) -if [ ${fingerprint} -lt 1 ]; then - echo "" - echo "!!! BUILD WARNING --> LND PGP author not as expected" - echo "Should contain PGP: ${PGPcheck}" - echo "PRESS ENTER to TAKE THE RISK if you think all is OK" - read key -fi -gpg --import ./pgp_keys.asc || exit 1 -sleep 3 -verifyResult=$(gpg --verify manifest-${PGPsigner}-v${lndVersion}.sig manifest-v${lndVersion}.txt 2>&1) -goodSignature=$(echo ${verifyResult} | grep 'Good signature' -c) -echo "goodSignature(${goodSignature})" -correctKey=$(echo ${verifyResult} | tr -d " \t\n\r" | grep "${GPGcheck}" -c) -echo "correctKey(${correctKey})" -if [ ${correctKey} -lt 1 ] || [ ${goodSignature} -lt 1 ]; then - echo "" - echo "!!! BUILD FAILED --> LND PGP Verify not OK / signature(${goodSignature}) verify(${correctKey})" - exit 1 -fi - -echo -echo "# Stopping the lnd.service..." -sudo systemctl stop lnd - -echo "# Install lnd-linux-${lndOSversion}-v${lndVersion}..." -sudo -u admin tar -xzf ${binaryName} -sudo install -m 0755 -o root -g root -t /usr/local/bin lnd-linux-${lndOSversion}-v${lndVersion}/* -sleep 3 -installed=$(sudo -u admin lnd --version) -if [ ${#installed} -eq 0 ]; then - echo "" - echo "!!! BUILD FAILED --> Was not able to install LND" - exit 1 -fi -echo "# Starting the lnd.service" -sudo systemctl start lnd -sleep 5 -echo -echo "# Installed ${installed}" - -echo "# Check for the circuitbreaker.service" -if [ $(sudo systemctl status circuitbreaker | grep -c active) -gt 0 ];then - echo "# restart the circuitbreaker.service" - sudo systemctl restart circuitbreaker -else - echo "# circuitbreaker not running" - echo "# Install with:" - echo "'config.scripts/bonus.circuitbreaker.sh on'" -fi - -sleep 15 -lncli unlock diff --git a/lnd.updates/lnd.update.v0.17.4-beta.sh b/lnd.updates/lnd.update.v0.17.4-beta.sh deleted file mode 100644 index 7b2f3e2..0000000 --- a/lnd.updates/lnd.update.v0.17.4-beta.sh +++ /dev/null @@ -1,127 +0,0 @@ -#!/bin/bash - -# LND Update Script - -# Download and run this script on the RaspiBlitz: -# $ wget https://raw.githubusercontent.com/openoms/lightning-node-management/master/lnd.updates/lnd.update.0.17.4-beta.sh && bash lnd.update.0.17.4-beta.sh - -lndVersion="0.17.4-beta" -downloadDir="/home/admin/download/lnd" # edit your download directory - -# olaoluwa -PGPsigner="roasbeef" -PGPkeys="https://keybase.io/roasbeef/pgp_keys.asc" -PGPcheck="E4D85299674B2D31FAA1892E372CBD7633C61696" - -# guggero -#PGPsigner="guggero" -#PGPkeys="https://keybase.io/$PGPsigner/pgp_keys.asc" -#PGPcheck="F4FC70F07310028424EFC20A8E4256593F177720" - -echo "Detect CPU architecture ..." -isARM=$(uname -m | grep -c 'arm') -isAARCH64=$(uname -m | grep -c 'aarch64') -isX86_64=$(uname -m | grep -c 'x86_64') -if [ ${isARM} -eq 0 ] && [ ${isAARCH64} -eq 0 ] && [ ${isX86_64} -eq 0 ] ; then - echo "!!! FAIL !!!" - echo "Can only build on ARM, aarch64, x86_64 or i386 not on:" - uname -m - exit 1 -else - echo "OK running on $(uname -m) architecture." -fi - -# get the lndSHA256 for the corresponding platform from manifest file -if [ ${isARM} -eq 1 ] ; then - lndOSversion="armv7" -fi -if [ ${isAARCH64} -eq 1 ] ; then - lndOSversion="arm64" -fi -if [ ${isX86_64} -eq 1 ] ; then - lndOSversion="amd64" -fi -binaryName="lnd-linux-${lndOSversion}-v${lndVersion}.tar.gz" - -rm -rf "${downloadDir}" -mkdir -p "${downloadDir}" -cd "${downloadDir}" || exit 1 -# extract the SHA256 hash from the manifest file for the corresponding platform -sudo -u admin wget -N https://github.com/lightningnetwork/lnd/releases/download/v${lndVersion}/manifest-${PGPsigner}-v${lndVersion}.sig || exit 1 - -sudo -u admin wget -N https://github.com/lightningnetwork/lnd/releases/download/v${lndVersion}/manifest-v${lndVersion}.txt || exit 1 - -# get the lndSHA256 for the corresponding platform from manifest file -lndSHA256=$(grep -i $binaryName manifest-v${lndVersion}.txt | cut -d " " -f1) - -echo -echo "*** LND v${lndVersion} for ${lndOSversion} ***" -echo "SHA256 hash: $lndSHA256" -echo - -# get LND binary -sudo -u admin wget -N https://github.com/lightningnetwork/lnd/releases/download/v${lndVersion}/${binaryName} || exit 1 - -# check binary was not manipulated (checksum test) -wget -O "${downloadDir}/pgp_keys.asc" ${PGPkeys} || exit 1 -binaryChecksum=$(sha256sum ${binaryName} | cut -d " " -f1) -if [ "${binaryChecksum}" != "${lndSHA256}" ]; then - echo "!!! FAIL !!! Downloaded LND BINARY not matching SHA256 checksum: ${lndSHA256}" - exit 1 -fi - -# check gpg finger print -gpg ./pgp_keys.asc -fingerprint=$(sudo gpg "${downloadDir}/pgp_keys.asc" 2>/dev/null | grep "${PGPcheck}" -c) -if [ ${fingerprint} -lt 1 ]; then - echo "" - echo "!!! BUILD WARNING --> LND PGP author not as expected" - echo "Should contain PGP: ${PGPcheck}" - echo "PRESS ENTER to TAKE THE RISK if you think all is OK" - read key -fi -gpg --import ./pgp_keys.asc || exit 1 -sleep 3 -verifyResult=$(gpg --verify manifest-${PGPsigner}-v${lndVersion}.sig manifest-v${lndVersion}.txt 2>&1) -goodSignature=$(echo ${verifyResult} | grep 'Good signature' -c) -echo "goodSignature(${goodSignature})" -correctKey=$(echo ${verifyResult} | tr -d " \t\n\r" | grep "${GPGcheck}" -c) -echo "correctKey(${correctKey})" -if [ ${correctKey} -lt 1 ] || [ ${goodSignature} -lt 1 ]; then - echo "" - echo "!!! BUILD FAILED --> LND PGP Verify not OK / signature(${goodSignature}) verify(${correctKey})" - exit 1 -fi - -echo -echo "# Stopping the lnd.service..." -sudo systemctl stop lnd - -echo "# Install lnd-linux-${lndOSversion}-v${lndVersion}..." -sudo -u admin tar -xzf ${binaryName} -sudo install -m 0755 -o root -g root -t /usr/local/bin lnd-linux-${lndOSversion}-v${lndVersion}/* -sleep 3 -installed=$(sudo -u admin lnd --version) -if [ ${#installed} -eq 0 ]; then - echo "" - echo "!!! BUILD FAILED --> Was not able to install LND" - exit 1 -fi -echo "# Starting the lnd.service" -sudo systemctl start lnd -sleep 5 -echo -echo "# Installed ${installed}" - -echo "# Check for the circuitbreaker.service" -if [ $(sudo systemctl status circuitbreaker | grep -c active) -gt 0 ];then - echo "# restart the circuitbreaker.service" - sudo systemctl restart circuitbreaker -else - echo "# circuitbreaker not running" - echo "# Install with:" - echo "'config.scripts/bonus.circuitbreaker.sh on'" -fi - -sleep 15 -lncli unlock diff --git a/lnd.updates/lnd.update.v0.18.0-beta.sh b/lnd.updates/lnd.update.v0.18.0-beta.sh deleted file mode 100644 index ede7155..0000000 --- a/lnd.updates/lnd.update.v0.18.0-beta.sh +++ /dev/null @@ -1,127 +0,0 @@ -#!/bin/bash - -# LND Update Script - -# Download and run this script on the RaspiBlitz: -# $ wget https://raw.githubusercontent.com/openoms/lightning-node-management/master/lnd.updates/lnd.update.0.18.0-beta.sh && bash lnd.update.0.18.0-beta.sh - -lndVersion="0.18.0-beta" -downloadDir="/home/admin/download/lnd" # edit your download directory - -# olaoluwa -PGPsigner="roasbeef" -PGPkeys="https://keybase.io/roasbeef/pgp_keys.asc" -PGPcheck="E4D85299674B2D31FAA1892E372CBD7633C61696" - -# guggero -#PGPsigner="guggero" -#PGPkeys="https://keybase.io/$PGPsigner/pgp_keys.asc" -#PGPcheck="F4FC70F07310028424EFC20A8E4256593F177720" - -echo "Detect CPU architecture ..." -isARM=$(uname -m | grep -c 'arm') -isAARCH64=$(uname -m | grep -c 'aarch64') -isX86_64=$(uname -m | grep -c 'x86_64') -if [ ${isARM} -eq 0 ] && [ ${isAARCH64} -eq 0 ] && [ ${isX86_64} -eq 0 ] ; then - echo "!!! FAIL !!!" - echo "Can only build on ARM, aarch64, x86_64 or i386 not on:" - uname -m - exit 1 -else - echo "OK running on $(uname -m) architecture." -fi - -# get the lndSHA256 for the corresponding platform from manifest file -if [ ${isARM} -eq 1 ] ; then - lndOSversion="armv7" -fi -if [ ${isAARCH64} -eq 1 ] ; then - lndOSversion="arm64" -fi -if [ ${isX86_64} -eq 1 ] ; then - lndOSversion="amd64" -fi -binaryName="lnd-linux-${lndOSversion}-v${lndVersion}.tar.gz" - -rm -rf "${downloadDir}" -mkdir -p "${downloadDir}" -cd "${downloadDir}" || exit 1 -# extract the SHA256 hash from the manifest file for the corresponding platform -sudo -u admin wget -N https://github.com/lightningnetwork/lnd/releases/download/v${lndVersion}/manifest-${PGPsigner}-v${lndVersion}.sig || exit 1 - -sudo -u admin wget -N https://github.com/lightningnetwork/lnd/releases/download/v${lndVersion}/manifest-v${lndVersion}.txt || exit 1 - -# get the lndSHA256 for the corresponding platform from manifest file -lndSHA256=$(grep -i $binaryName manifest-v${lndVersion}.txt | cut -d " " -f1) - -echo -echo "*** LND v${lndVersion} for ${lndOSversion} ***" -echo "SHA256 hash: $lndSHA256" -echo - -# get LND binary -sudo -u admin wget -N https://github.com/lightningnetwork/lnd/releases/download/v${lndVersion}/${binaryName} || exit 1 - -# check binary was not manipulated (checksum test) -wget -O "${downloadDir}/pgp_keys.asc" ${PGPkeys} || exit 1 -binaryChecksum=$(sha256sum ${binaryName} | cut -d " " -f1) -if [ "${binaryChecksum}" != "${lndSHA256}" ]; then - echo "!!! FAIL !!! Downloaded LND BINARY not matching SHA256 checksum: ${lndSHA256}" - exit 1 -fi - -# check gpg finger print -gpg ./pgp_keys.asc -fingerprint=$(sudo gpg "${downloadDir}/pgp_keys.asc" 2>/dev/null | grep "${PGPcheck}" -c) -if [ ${fingerprint} -lt 1 ]; then - echo "" - echo "!!! BUILD WARNING --> LND PGP author not as expected" - echo "Should contain PGP: ${PGPcheck}" - echo "PRESS ENTER to TAKE THE RISK if you think all is OK" - read key -fi -gpg --import ./pgp_keys.asc || exit 1 -sleep 3 -verifyResult=$(gpg --verify manifest-${PGPsigner}-v${lndVersion}.sig manifest-v${lndVersion}.txt 2>&1) -goodSignature=$(echo ${verifyResult} | grep 'Good signature' -c) -echo "goodSignature(${goodSignature})" -correctKey=$(echo ${verifyResult} | tr -d " \t\n\r" | grep "${GPGcheck}" -c) -echo "correctKey(${correctKey})" -if [ ${correctKey} -lt 1 ] || [ ${goodSignature} -lt 1 ]; then - echo "" - echo "!!! BUILD FAILED --> LND PGP Verify not OK / signature(${goodSignature}) verify(${correctKey})" - exit 1 -fi - -echo -echo "# Stopping the lnd.service..." -sudo systemctl stop lnd - -echo "# Install lnd-linux-${lndOSversion}-v${lndVersion}..." -sudo -u admin tar -xzf ${binaryName} -sudo install -m 0755 -o root -g root -t /usr/local/bin lnd-linux-${lndOSversion}-v${lndVersion}/* -sleep 3 -installed=$(sudo -u admin lnd --version) -if [ ${#installed} -eq 0 ]; then - echo "" - echo "!!! BUILD FAILED --> Was not able to install LND" - exit 1 -fi -echo "# Starting the lnd.service" -sudo systemctl start lnd -sleep 5 -echo -echo "# Installed ${installed}" - -echo "# Check for the circuitbreaker.service" -if [ $(sudo systemctl status circuitbreaker | grep -c active) -gt 0 ];then - echo "# restart the circuitbreaker.service" - sudo systemctl restart circuitbreaker -else - echo "# circuitbreaker not running" - echo "# Install with:" - echo "'config.scripts/bonus.circuitbreaker.sh on'" -fi - -sleep 15 -lncli unlock diff --git a/mkdocs.yml b/mkdocs.yml new file mode 100644 index 0000000..36e4f9d --- /dev/null +++ b/mkdocs.yml @@ -0,0 +1,153 @@ +site_name: Lightning Node Management +site_url: https://autoblitzbot.github.io/lightning-node-management/ +site_description: A guide to managing Lightning Network nodes + +theme: + name: material + palette: + - scheme: slate + primary: amber + accent: amber + toggle: + icon: material/brightness-4 + name: Switch to light mode + - scheme: default + primary: amber + accent: amber + toggle: + icon: material/brightness-7 + name: Switch to dark mode + features: + - navigation.sections + - navigation.expand + - navigation.top + - search.highlight + - content.code.copy + icon: + logo: material/flash + +plugins: + - search + - i18n: + docs_structure: folder + languages: + - locale: en + default: true + name: English + build: true + - locale: es + name: Español + build: true + nav_translations: + Lightning basics: General + Create inbound liquidity: Crear liquidez entrante + Create outbound liquidity: Crear liquidez saliente + Node Types: Tipos de nodo + Merchant: Comercio + Spending: Gasto + Routing: Enrutamiento + Advanced Tools: Herramientas avanzadas + Technicals: Técnicas + Recovery: Recuperación + Privacy: Privacidad + Hardware deployment: Despliegue de hardware + Contact and support: Contacto y apoyo + - locale: hu + name: Magyar + build: true + nav_translations: + Lightning basics: Lightning alapok + Create inbound liquidity: Bejövő likviditás + Create outbound liquidity: Kimenő likviditás + Channel markets: Csatorna piacok + Node Types: Node típusok + Comparison: Összehasonlítás + Merchant: Kereskedő + Spending: Költés + Routing: Útvonalválasztás + Advanced Tools: Haladó eszközök + Fee settings: Díjbeállítások + Watchtower: Őrtorony + Balanced channels: Kiegyenlített csatornák + Technicals: Technikai részletek + Remote connection: Távoli kapcsolat + High onchain fees: Magas onchain díjak + LND database compaction: LND adatbázis tömörítés + LND funds in Electrum: LND alapok Electrumban + VPN tunnels: VPN alagutak + Recovery: Visszaállítás + LND recovery: LND visszaállítás + Core Lightning recovery: Core Lightning visszaállítás + Privacy: Adatvédelem + Resources: Források + Hardware deployment: Hardver telepítés + Recommendations: Ajánlások + Contact and support: Kapcsolat és adományok + +markdown_extensions: + - admonition + - pymdownx.details + - pymdownx.superfences + - pymdownx.highlight: + anchor_linenums: true + - pymdownx.inlinehilite + - pymdownx.snippets + - tables + - toc: + permalink: true + +nav: + - Lightning basics: index.md + - Create inbound liquidity: createinboundliquidity.md + - Create outbound liquidity: createoutboundliquidity.md + - Channel markets: channelmarkets.md + - Node Types: + - Comparison: node-types/comparison.md + - Merchant: node-types/nodetype.merchant.md + - Spending: node-types/nodetype.spending.md + - Routing: node-types/nodetype.routing.md + - Advanced Tools: + - lnd.conf example: advanced-tools/lnd.conf.md + - Fee settings: advanced-tools/fees.md + - Watchtower: advanced-tools/watchtower.md + - Balanced channels: advanced-tools/balancedchannelcreation.md + - Pool: advanced-tools/pool.md + - Bos Score: advanced-tools/bosscore.md + - Technicals: + - Remote connection: technicals/lightning.connect.md + - High onchain fees: technicals/highonchainfees.md + - LND database compaction: technicals/lnddatabasecompaction.md + - LND funds in Electrum: technicals/restorelndonchainfundsinelectrum.md + - VPN tunnels: technicals/networking.md + - Recovery: + - LND recovery: lndrecovery.md + - Core Lightning recovery: clrecovery.md + - Privacy: + - Resources: privacy/resources.md + - Hardware deployment: + - Recommendations: hardware/recommendations.md + - RaspiBolt: hardware/raspibolt.md + - RaspiBlitz: + - Overview: hardware/raspiblitz.md + - charge-lnd: hardware/raspiblitz/charge-lnd.md + - Balance of Satoshis: hardware/raspiblitz/bos.md + - LND updates: hardware/raspiblitz/lnd.updates.md + - LNDg: hardware/raspiblitz/lndg.md + - Zeus: hardware/raspiblitz/zeus.md + - Stream LND HTLCs: hardware/raspiblitz/stream-lnd-htlcs.md + - TrueNAS: + - Overview: hardware/truenas.md + - Aliases: hardware/truenas/aliases.md + - Balance of Satoshis: hardware/truenas/bos.md + - Lightning Terminal: hardware/truenas/lit.md + - Circuitbreaker: hardware/truenas/circuitbreaker.md + - LNtop: hardware/truenas/lntop.md + - LND notes: hardware/truenas/lnd.md + - LNDg: hardware/truenas/lndg.md + - Stream LND HTLCs: hardware/truenas/stream-lnd-htlcs.md + - Suez: hardware/truenas/suez.md + - Tailscale: hardware/truenas/tailscale.md + - OpenVPN: hardware/truenas/openvpn.md + - Zeus: hardware/truenas/zeus.md + - Contact and support: + - Contact and support: donate/donations.md