Use path consistently in examples (#799)

* Use path consistently in examples

Closes btcpayserver/btcpayserver-doc#1292.

* Add note

* Make it more concise
This commit is contained in:
d11n 2023-06-14 10:24:39 +02:00 committed by GitHub
parent b7b1fe1b83
commit cbbb94e7b0
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 34 additions and 32 deletions

View File

@ -29,6 +29,7 @@ When your node starts up again, with the `UTXO Set snapshot` it will only need t
### Malicious UTXO Set ### Malicious UTXO Set
Fast Sync can potentially get abused: Fast Sync can potentially get abused:
1. The attacker gives you a `UTXO Set snapshot`, which does not follow Bitcoin consensus. 1. The attacker gives you a `UTXO Set snapshot`, which does not follow Bitcoin consensus.
2. The attacker makes a purchase to your store. 2. The attacker makes a purchase to your store.
3. Nodes following the consensus would not recognize the payment as valid, but your node will. 3. Nodes following the consensus would not recognize the payment as valid, but your node will.
@ -60,35 +61,28 @@ sudo -i
Before you start the [load-utxo-set.sh](load-utxo-set.sh), you must bring down your BTCPay Server. Before you start the [load-utxo-set.sh](load-utxo-set.sh), you must bring down your BTCPay Server.
When in `~/btcpayserver-docker` you run `btcpay-down.sh` to bring down your instance. In the `btcpayserver-docker` directory you run `btcpay-down.sh` to bring down your instance.
```bash ```bash
cd btcpayserver-docker cd $BTCPAY_BASE_DIRECTORY/btcpayserver-docker
./btcpay-down.sh ./btcpay-down.sh
``` ```
![BTCPay Server FastSync](../../docs/img/fastsync/btcpayfastsync1.jpg) ![BTCPay Server FastSync](../../docs/img/fastsync/btcpayfastsync1.jpg)
After you've shut down BTCPay Server, you now go into the `~/btcpayserver-docker/contrib/FastSync/` directory. After you've shut down BTCPay Server, you now go into the FastSync directory and run the `load-utxo-set.sh` script:
If you want to be sure you're in the correct directory, hit the `ls` command after the `cd contrib/FastSync`
```bash ```bash
cd contrib/FastSync cd $BTCPAY_BASE_DIRECTORY/btcpayserver-docker/contrib/FastSync
ls ./load-utxo-set.sh
``` ```
The script [load-utxo-set.sh](load-utxo-set.sh) will download the utxo-set from the environment variable `UTXO_DOWNLOAD_LINK`. The script [load-utxo-set.sh](load-utxo-set.sh) will download the utxo-set from the environment variable `UTXO_DOWNLOAD_LINK`.
If `UTXO_DOWNLOAD_LINK` is empty, `NBITCOIN_NETWORK` (with value set to `mainnet` or `testnet`) will be used to take a default `UTXO_DOWNLOAD_LINK` that we hard coded inside [load-utxo-set.sh](load-utxo-set.sh). If `UTXO_DOWNLOAD_LINK` is empty, `NBITCOIN_NETWORK` (with value set to `mainnet` or `testnet`) will be used to take a default `UTXO_DOWNLOAD_LINK` that we hard coded inside [load-utxo-set.sh](load-utxo-set.sh).
```bash
./load-utxo-set.sh
```
![BTCPay Server FastSync](../../docs/img/fastsync/btcpayfastsync2.jpg) ![BTCPay Server FastSync](../../docs/img/fastsync/btcpayfastsync2.jpg)
Once the files are downloaded, the hash will be checked against those in [utxo-sets](utxo-sets). Once the files are downloaded, the hash will be checked against those in [utxo-sets](utxo-sets).
![BTCPay Server FastSync](../../docs/img/fastsync/btcpayfastsync3.jpg) ![BTCPay Server FastSync](../../docs/img/fastsync/btcpayfastsync3.jpg)
@ -100,10 +94,10 @@ This will be recreated when we now run the `btcpay-up.sh` script.
docker volume rm generated_bitcoin_wallet_datadir docker volume rm generated_bitcoin_wallet_datadir
``` ```
Now go back to `~/btcpayserver-docker` directory, and let's restart your Server with `./btcpay-up.sh` to sync the rest! Now go back to the `btcpayserver-docker` directory, and let's restart your Server with `./btcpay-up.sh` to sync the rest!
```bash ```bash
cd ../../ cd $BTCPAY_BASE_DIRECTORY/btcpayserver-docker
./btcpay-up.sh ./btcpay-up.sh
``` ```
@ -132,10 +126,11 @@ If you don't trust anybody, which should be the case as much as possible, then h
3. Wait for `Synchy` to be fully synced. 3. Wait for `Synchy` to be fully synced.
4. Now on, `Synchy` and `Trusty` run the following command at the same time: 4. Now on, `Synchy` and `Trusty` run the following command at the same time:
If `Synchy` or `Trusty` are both using BTCPay Server, go to `~/btcpayserver-docker/` and use: If `Synchy` or `Trusty` are both using BTCPay Server, go to the `btcpayserver-docker` directory and use:
```bash ```bash
bitcoin-cli.sh gettxoutsetinfo cd $BTCPAY_BASE_DIRECTORY/btcpayserver-docker
./bitcoin-cli.sh gettxoutsetinfo
``` ```
Or use if non BTCPay Server node : Or use if non BTCPay Server node :
@ -159,9 +154,11 @@ Running this command might take some time, and nothing will show up in the termi
This repository contains the signatures of some developers, for example [sigs/NicolasDorier.utxo-sets.asc](sigs/NicolasDorier.utxo-sets.asc) contains the hashes that `NicolasDorier` verified himself. This repository contains the signatures of some developers, for example [sigs/NicolasDorier.utxo-sets.asc](sigs/NicolasDorier.utxo-sets.asc) contains the hashes that `NicolasDorier` verified himself.
You need to verify with [KeyBase command line](https://keybase.io/docs/command_line) that the signature is legit: You need to verify with [KeyBase command line](https://keybase.io/docs/command_line) that the signature is legit:
```bash ```bash
keybase pgp verify -i sigs/NicolasDorier.utxo-sets.asc keybase pgp verify -i sigs/NicolasDorier.utxo-sets.asc
``` ```
If you don't like command line, you can verify against [keybase verify page](https://keybase.io/verify) by just copying and pasting the content of [sigs/NicolasDorier.utxo-sets.asc](sigs/NicolasDorier.utxo-sets.asc). If you don't like command line, you can verify against [keybase verify page](https://keybase.io/verify) by just copying and pasting the content of [sigs/NicolasDorier.utxo-sets.asc](sigs/NicolasDorier.utxo-sets.asc).
You can verify that the handle `NicolasDorier` refers to the person who controls `NicolasDorier` Twitter, GitHub, and Reddit handle on [the keybase profile page](https://keybase.io/NicolasDorier). You can verify that the handle `NicolasDorier` refers to the person who controls `NicolasDorier` Twitter, GitHub, and Reddit handle on [the keybase profile page](https://keybase.io/NicolasDorier).
@ -171,6 +168,7 @@ You can verify that the handle `NicolasDorier` refers to the person who controls
::: :::
## FAQ ## FAQ
### Can I add my signature to this repository? ### Can I add my signature to this repository?
If you are a bitcoin developer or public figure, feel free to add your signature. For this, you need: If you are a bitcoin developer or public figure, feel free to add your signature. For this, you need:
@ -181,12 +179,13 @@ If you are a bitcoin developer or public figure, feel free to add your signature
4. Run the following command line 4. Run the following command line
```bash ```bash
# Assuming you are inside the FastSync directory cd $BTCPAY_BASE_DIRECTORY/btcpayserver-docker/contrib/FastSync
keybase pgp sign -i YOU.utxo-sets -c -t -o sigs/YOU.utxo-sets.asc keybase pgp sign -i YOU.utxo-sets -c -t -o sigs/YOU.utxo-sets.asc
rm YOU.utxo-sets rm YOU.utxo-sets
git add sigs/YOU.utxo-sets.asc git add sigs/YOU.utxo-sets.asc
git commit -m "Add YOU utxo-set signature" --all git commit -m "Add YOU utxo-set signature" --all
``` ```
And make a pull request to `btcpayserver-docker` repository. And make a pull request to `btcpayserver-docker` repository.
### Where can I download UTXO set snapshots ### Where can I download UTXO set snapshots
@ -201,8 +200,9 @@ Select the snapshot you want, and download it by querying `http://utxosets.blob.
Assuming you have a node running on a docker deployment of BTCPay Server, you need to run [save-utxo-set.sh](save-utxo-set.sh). Assuming you have a node running on a docker deployment of BTCPay Server, you need to run [save-utxo-set.sh](save-utxo-set.sh).
This script shows the steps to create an archive of the current UTXO Set This script shows the steps to create an archive of the current UTXO Set
It will: It will:
1. Shutdown BTCPay Server 1. Shutdown BTCPay Server
2. Start bitcoind 2. Start bitcoind
3. Prune it to up to 289 blocks from the tip 3. Prune it to up to 289 blocks from the tip

View File

@ -109,12 +109,14 @@ Here is an example of a crontab script that does a nightly backup at 4:15 AM:
``` ```
SHELL=/bin/bash SHELL=/bin/bash
PATH=/bin:/usr/sbin:/usr/bin:/usr/local/bin PATH=/bin:/usr/sbin:/usr/bin:/usr/local/bin
15 4 * * * /root/btcpayserver-docker/btcpay-backup.sh >/dev/null 2>&1 15 4 * * * /root/BTCPayServer/btcpayserver-docker/btcpay-backup.sh >/dev/null 2>&1
``` ```
You need to set the right `SHELL` and `PATH`, so that the script can run with the correct context. You need to set the right `SHELL` and `PATH`, so that the script can run with the correct context.
You might also want to set the `BTCPAY_BACKUP_PASSPHRASE` environment variable. You might also want to set the `BTCPAY_BACKUP_PASSPHRASE` environment variable.
Also ensure the base path (here `/root/BTCPayServer`) matches the output of `echo $BTCPAY_BASE_DIRECTORY`.
## How to restore? ## How to restore?
It's very similar to the `btcpay-backup.sh` process but in reverse. It's very similar to the `btcpay-backup.sh` process but in reverse.