diff --git a/BTCPayServer.Tests/BTCPayServer.Tests.csproj b/BTCPayServer.Tests/BTCPayServer.Tests.csproj
index 67046e1ed..76ffc3d2d 100644
--- a/BTCPayServer.Tests/BTCPayServer.Tests.csproj
+++ b/BTCPayServer.Tests/BTCPayServer.Tests.csproj
@@ -39,6 +39,9 @@
Dockerfile
+
+ Always
+
Always
diff --git a/BTCPayServer.Tests/README.md b/BTCPayServer.Tests/README.md
index 6d7d00a61..4cc801818 100644
--- a/BTCPayServer.Tests/README.md
+++ b/BTCPayServer.Tests/README.md
@@ -31,6 +31,12 @@ docker-compose down --v
You can run tests on `MySql` database instead of `Postgres` by setting environnement variable `TESTS_DB` equals to `MySql`.
+# How to test altcoins
+
+Follow the above instruction except the `docker-compose` command should be `docker-compose -f docker-compose.altcoins.yml`.
+
+This will run monero, ltc and liquid dependencies.
+
## How to manually test payments
### Using the test bitcoin-cli
diff --git a/BTCPayServer.Tests/docker-compose.altcoins.yml b/BTCPayServer.Tests/docker-compose.altcoins.yml
new file mode 100644
index 000000000..dd9986bbf
--- /dev/null
+++ b/BTCPayServer.Tests/docker-compose.altcoins.yml
@@ -0,0 +1,417 @@
+version: "3"
+
+# Run `docker-compose up dev` for bootstrapping your development environment
+# Doing so will expose NBXplorer, Bitcoind RPC and postgres port to the host so that tests can Run,
+# The Visual Studio launch setting `Docker-regtest` is configured to use this environment.
+services:
+
+ tests:
+ build:
+ context: ..
+ dockerfile: BTCPayServer.Tests/Dockerfile
+ environment:
+ TESTS_BTCRPCCONNECTION: server=http://bitcoind:43782;ceiwHEbqWI83:DwubwWsoo3
+ TESTS_LTCRPCCONNECTION: server=http://litecoind:43782;ceiwHEbqWI83:DwubwWsoo3
+ TESTS_BTCNBXPLORERURL: http://nbxplorer:32838/
+ TESTS_LTCNBXPLORERURL: http://nbxplorer:32838/
+ TESTS_DB: "Postgres"
+ TESTS_POSTGRES: User ID=postgres;Host=postgres;Port=5432;Database=btcpayserver
+ TESTS_HOSTNAME: tests
+ TESTS_RUN_EXTERNAL_INTEGRATION: ${TESTS_RUN_EXTERNAL_INTEGRATION:-false}
+ TESTS_AzureBlobStorageConnectionString: ${TESTS_AzureBlobStorageConnectionString:-none}
+ TEST_MERCHANTLIGHTNINGD: "type=clightning;server=unix://etc/merchant_lightningd_datadir/lightning-rpc"
+ TEST_CUSTOMERLIGHTNINGD: "type=clightning;server=unix://etc/customer_lightningd_datadir/lightning-rpc"
+ TEST_MERCHANTCHARGE: "type=charge;server=http://lightning-charged:9112/;api-token=foiewnccewuify"
+ TEST_MERCHANTLND: "https://lnd:lnd@merchant_lnd:8080/"
+ TESTS_INCONTAINER: "true"
+ TESTS_SSHCONNECTION: "root@sshd:22"
+ TESTS_SSHPASSWORD: ""
+ TESTS_SSHKEYFILE: ""
+ TESTS_SOCKSENDPOINT: "tor:9050"
+ expose:
+ - "80"
+ links:
+ - dev
+ extra_hosts:
+ - "tests:127.0.0.1"
+ volumes:
+ - "sshd_datadir:/root/.ssh"
+ - "customer_lightningd_datadir:/etc/customer_lightningd_datadir"
+ - "merchant_lightningd_datadir:/etc/merchant_lightningd_datadir"
+
+ # The dev container is not actually used, it is just handy to run `docker-compose up dev` to start all services
+ dev:
+ image: alpine:3.7
+ command: [ "/bin/sh", "-c", "trap : TERM INT; while :; do echo Ready to code and debug like a rockstar!!!; sleep 2073600; done & wait" ]
+ links:
+ - nbxplorer
+ - postgres
+ - customer_lightningd
+ - merchant_lightningd
+ - lightning-charged
+ - customer_lnd
+ - merchant_lnd
+ - sshd
+ - tor
+ - monero_wallet
+
+ sshd:
+ build:
+ context: .
+ dockerfile: sshd.Dockerfile
+ ports:
+ - "21622:22"
+ expose:
+ - 22
+ volumes:
+ - "sshd_datadir:/root/.ssh"
+
+ devlnd:
+ image: btcpayserver/bitcoin:0.19.0.1
+ environment:
+ BITCOIN_NETWORK: regtest
+ BITCOIN_EXTRA_ARGS: |
+ deprecatedrpc=signrawtransaction
+ connect=bitcoind:39388
+ links:
+ - nbxplorer
+ - postgres
+ - customer_lnd
+ - merchant_lnd
+ nbxplorer:
+ image: nicolasdorier/nbxplorer:2.1.35
+ restart: unless-stopped
+ ports:
+ - "32838:32838"
+ expose:
+ - "32838"
+ environment:
+ NBXPLORER_NETWORK: regtest
+ NBXPLORER_CHAINS: "btc,ltc,lbtc"
+ NBXPLORER_BTCRPCURL: http://bitcoind:43782/
+ NBXPLORER_BTCNODEENDPOINT: bitcoind:39388
+ NBXPLORER_BTCRPCUSER: ceiwHEbqWI83
+ NBXPLORER_BTCRPCPASSWORD: DwubwWsoo3
+ NBXPLORER_LTCRPCURL: http://litecoind:43782/
+ NBXPLORER_LTCNODEENDPOINT: litecoind:39388
+ NBXPLORER_LTCRPCUSER: ceiwHEbqWI83
+ NBXPLORER_LTCRPCPASSWORD: DwubwWsoo3
+ NBXPLORER_LBTCRPCURL: "http://elementsd-liquid:19332/"
+ NBXPLORER_LBTCNODEENDPOINT: "elementsd-liquid:19444"
+ NBXPLORER_LBTCRPCUSER: "liquid"
+ NBXPLORER_LBTCRPCPASSWORD: "liquid"
+ NBXPLORER_BIND: 0.0.0.0:32838
+ NBXPLORER_MINGAPSIZE: 5
+ NBXPLORER_MAXGAPSIZE: 10
+ NBXPLORER_VERBOSE: 1
+ NBXPLORER_NOAUTH: 1
+ links:
+ - bitcoind
+ - litecoind
+ - elementsd-liquid
+
+
+ bitcoind:
+ restart: unless-stopped
+ image: btcpayserver/bitcoin:0.19.0.1
+ environment:
+ BITCOIN_NETWORK: regtest
+ BITCOIN_EXTRA_ARGS: |-
+ rpcuser=ceiwHEbqWI83
+ rpcpassword=DwubwWsoo3
+ rpcport=43782
+ rpcbind=0.0.0.0:43782
+ port=39388
+ whitelist=0.0.0.0/0
+ zmqpubrawblock=tcp://0.0.0.0:28332
+ zmqpubrawtx=tcp://0.0.0.0:28333
+ deprecatedrpc=signrawtransaction
+ ports:
+ - "43782:43782"
+ - "39388:39388"
+ expose:
+ - "43782" # RPC
+ - "39388" # P2P
+ - "28332" # ZMQ
+ - "28333" # ZMQ
+ volumes:
+ - "bitcoin_datadir:/data"
+
+ customer_lightningd:
+ image: btcpayserver/lightning:v0.8.2-dev
+ stop_signal: SIGKILL
+ restart: unless-stopped
+ environment:
+ EXPOSE_TCP: "true"
+ LIGHTNINGD_CHAIN: "btc"
+ LIGHTNINGD_NETWORK: "regtest"
+ LIGHTNINGD_OPT: |
+ bitcoin-datadir=/etc/bitcoin
+ bitcoin-rpcconnect=bitcoind
+ announce-addr=customer_lightningd
+ log-level=debug
+ funding-confirms=1
+ dev-fast-gossip
+ dev-bitcoind-poll=1
+ ports:
+ - "30992:9835" # api port
+ expose:
+ - "9735" # server port
+ - "9835" # api port
+ volumes:
+ - "bitcoin_datadir:/etc/bitcoin"
+ - "customer_lightningd_datadir:/root/.lightning"
+ links:
+ - bitcoind
+
+ lightning-charged:
+ image: shesek/lightning-charge:0.4.19-standalone
+ restart: unless-stopped
+ environment:
+ NETWORK: regtest
+ API_TOKEN: foiewnccewuify
+ BITCOIND_RPCCONNECT: bitcoind
+ volumes:
+ - "bitcoin_datadir:/etc/bitcoin"
+ - "lightning_charge_datadir:/data"
+ - "merchant_lightningd_datadir:/etc/lightning"
+ expose:
+ - "9112" # Charge
+ - "9735" # Lightning
+ ports:
+ - "54938:9112" # Charge
+ links:
+ - bitcoind
+ - merchant_lightningd
+
+ merchant_lightningd:
+ image: btcpayserver/lightning:v0.8.2-dev
+ stop_signal: SIGKILL
+ environment:
+ EXPOSE_TCP: "true"
+ LIGHTNINGD_CHAIN: "btc"
+ LIGHTNINGD_NETWORK: "regtest"
+ LIGHTNINGD_OPT: |
+ bitcoin-datadir=/etc/bitcoin
+ bitcoin-rpcconnect=bitcoind
+ announce-addr=merchant_lightningd
+ funding-confirms=1
+ log-level=debug
+ dev-fast-gossip
+ dev-bitcoind-poll=1
+ ports:
+ - "30993:9835" # api port
+ expose:
+ - "9735" # server port
+ - "9835" # api port
+ volumes:
+ - "bitcoin_datadir:/etc/bitcoin"
+ - "merchant_lightningd_datadir:/root/.lightning"
+ links:
+ - bitcoind
+
+ litecoind:
+ restart: unless-stopped
+ image: nicolasdorier/docker-litecoin:0.16.3
+ environment:
+ BITCOIN_EXTRA_ARGS: |-
+ rpcuser=ceiwHEbqWI83
+ rpcpassword=DwubwWsoo3
+ regtest=1
+ rpcport=43782
+ port=39388
+ whitelist=0.0.0.0/0
+ ports:
+ - "43783:43782"
+ expose:
+ - "43782" # RPC
+ - "39388" # P2P
+
+ elementsd-liquid:
+ restart: always
+ container_name: btcpayserver_elementsd_liquid
+ image: btcpayserver/elements:0.18.1.7
+ environment:
+ ELEMENTS_CHAIN: elementsregtest
+ ELEMENTS_EXTRA_ARGS: |
+ mainchainrpcport=43782
+ mainchainrpchost=bitcoind
+ mainchainrpcuser=liquid
+ mainchainrpcpassword=liquid
+ rpcport=19332
+ rpcbind=0.0.0.0:19332
+ rpcauth=liquid:c8bf1a8961d97f224cb21224aaa8235d$$402f4a8907683d057b8c58a42940b6e54d1638322a42986ae28ebb844e603ae6
+ port=19444
+ whitelist=0.0.0.0/0
+ validatepegin=0
+ initialfreecoins=210000000000000
+ con_dyna_deploy_start=99999999999
+ expose:
+ - "19332"
+ - "19444"
+ ports:
+ - "19332:19332"
+ - "19444:19444"
+ volumes:
+ - "elementsd_liquid_datadir:/data"
+
+ postgres:
+ image: postgres:9.6.5
+ ports:
+ - "39372:5432"
+ expose:
+ - "5432"
+
+ merchant_lnd:
+ image: btcpayserver/lnd:v0.10.2-beta
+ restart: unless-stopped
+ environment:
+ LND_CHAIN: "btc"
+ LND_ENVIRONMENT: "regtest"
+ LND_EXPLORERURL: "http://nbxplorer:32838/"
+ LND_EXTRA_ARGS: |
+ restlisten=0.0.0.0:8080
+ rpclisten=127.0.0.1:10008
+ rpclisten=0.0.0.0:10009
+ bitcoin.node=bitcoind
+ bitcoind.rpchost=bitcoind:43782
+ bitcoind.zmqpubrawblock=tcp://bitcoind:28332
+ bitcoind.zmqpubrawtx=tcp://bitcoind:28333
+ externalip=merchant_lnd:9735
+ bitcoin.defaultchanconfs=1
+ no-macaroons=1
+ debuglevel=debug
+ trickledelay=1000
+ ports:
+ - "35531:8080"
+ expose:
+ - "9735"
+ volumes:
+ - "merchant_lnd_datadir:/data"
+ - "bitcoin_datadir:/deps/.bitcoin"
+ links:
+ - bitcoind
+
+ customer_lnd:
+ image: btcpayserver/lnd:v0.10.2-beta
+ restart: unless-stopped
+ environment:
+ LND_CHAIN: "btc"
+ LND_ENVIRONMENT: "regtest"
+ LND_EXPLORERURL: "http://nbxplorer:32838/"
+ LND_EXTRA_ARGS: |
+ restlisten=0.0.0.0:8080
+ rpclisten=127.0.0.1:10008
+ rpclisten=0.0.0.0:10009
+ bitcoin.node=bitcoind
+ bitcoind.rpchost=bitcoind:43782
+ bitcoind.zmqpubrawblock=tcp://bitcoind:28332
+ bitcoind.zmqpubrawtx=tcp://bitcoind:28333
+ externalip=customer_lnd:10009
+ bitcoin.defaultchanconfs=1
+ no-macaroons=1
+ debuglevel=debug
+ trickledelay=1000
+ ports:
+ - "35532:8080"
+ expose:
+ - "8080"
+ - "10009"
+ volumes:
+ - "customer_lnd_datadir:/root/.lnd"
+ - "bitcoin_datadir:/deps/.bitcoin"
+ links:
+ - bitcoind
+
+ tor:
+ restart: unless-stopped
+ image: btcpayserver/tor:0.4.1.5
+ container_name: tor
+ environment:
+ TOR_PASSWORD: btcpayserver
+ ports:
+ - "9050:9050" # SOCKS
+ - "9051:9051" # Tor Control
+ volumes:
+ - "tor_datadir:/home/tor/.tor"
+ - "torrcdir:/usr/local/etc/tor"
+ - "tor_servicesdir:/var/lib/tor/hidden_services"
+ monerod:
+ image: btcpayserver/monero:0.15.0.1-amd64
+ restart: unless-stopped
+ container_name: xmr_monerod
+ entrypoint: sleep 999999
+# entrypoint: monerod --fixed-difficulty 200 --rpc-bind-ip=0.0.0.0 --confirm-external-bind --rpc-bind-port=18081 --block-notify="/bin/sh ./scripts/notifier.sh -k -X GET https://host.docker.internal:14142/monerolikedaemoncallback/block?cryptoCode=xmr&hash=%s" --testnet --no-igd --hide-my-port --offline
+ volumes:
+ - "monero_data:/home/monero/.bitmonero"
+ ports:
+ - "18081:18081"
+ monero_wallet:
+ image: btcpayserver/monero:0.15.0.1-amd64
+ restart: unless-stopped
+ container_name: xmr_wallet_rpc
+ entrypoint: monero-wallet-rpc --testnet --rpc-bind-ip=0.0.0.0 --disable-rpc-login --confirm-external-bind --rpc-bind-port=18082 --non-interactive --trusted-daemon --daemon-address=monerod:18081 --wallet-file=/wallet/wallet.keys --password-file=/wallet/password --tx-notify="/bin/sh ./scripts/notifier.sh -k -X GET https://host.docker.internal:14142/monerolikedaemoncallback/tx?cryptoCode=xmr&hash=%s"
+ ports:
+ - "18082:18082"
+ volumes:
+ - "./monero_wallet:/wallet"
+ depends_on:
+ - monerod
+
+ litecoind:
+ restart: unless-stopped
+ image: nicolasdorier/docker-litecoin:0.16.3
+ environment:
+ BITCOIN_EXTRA_ARGS: |-
+ rpcuser=ceiwHEbqWI83
+ rpcpassword=DwubwWsoo3
+ regtest=1
+ rpcport=43782
+ port=39388
+ whitelist=0.0.0.0/0
+ ports:
+ - "43783:43782"
+ expose:
+ - "43782" # RPC
+ - "39388" # P2P
+
+ elementsd-liquid:
+ restart: always
+ container_name: btcpayserver_elementsd_liquid
+ image: btcpayserver/elements:0.18.1.7
+ environment:
+ ELEMENTS_CHAIN: elementsregtest
+ ELEMENTS_EXTRA_ARGS: |
+ mainchainrpcport=43782
+ mainchainrpchost=bitcoind
+ mainchainrpcuser=liquid
+ mainchainrpcpassword=liquid
+ rpcport=19332
+ rpcbind=0.0.0.0:19332
+ rpcauth=liquid:c8bf1a8961d97f224cb21224aaa8235d$$402f4a8907683d057b8c58a42940b6e54d1638322a42986ae28ebb844e603ae6
+ port=19444
+ whitelist=0.0.0.0/0
+ validatepegin=0
+ initialfreecoins=210000000000000
+ con_dyna_deploy_start=99999999999
+ expose:
+ - "19332"
+ - "19444"
+ ports:
+ - "19332:19332"
+ - "19444:19444"
+ volumes:
+ - "elementsd_liquid_datadir:/data"
+volumes:
+ sshd_datadir:
+ bitcoin_datadir:
+ elementsd_liquid_datadir:
+ customer_lightningd_datadir:
+ merchant_lightningd_datadir:
+ lightning_charge_datadir:
+ customer_lnd_datadir:
+ merchant_lnd_datadir:
+ tor_datadir:
+ torrcdir:
+ tor_servicesdir:
+ monero_data:
diff --git a/BTCPayServer.Tests/docker-compose.monero.yml b/BTCPayServer.Tests/docker-compose.monero.yml
deleted file mode 100644
index 9baa859a7..000000000
--- a/BTCPayServer.Tests/docker-compose.monero.yml
+++ /dev/null
@@ -1,28 +0,0 @@
-version: "3"
-
-services:
-
- monerod:
- image: btcpayserver/monero:0.15.0.1-amd64
- restart: unless-stopped
- container_name: xmr_monerod
- entrypoint: sleep 999999
-# entrypoint: monerod --fixed-difficulty 200 --rpc-bind-ip=0.0.0.0 --confirm-external-bind --rpc-bind-port=18081 --block-notify="/bin/sh ./scripts/notifier.sh -k -X GET https://host.docker.internal:14142/monerolikedaemoncallback/block?cryptoCode=xmr&hash=%s" --testnet --no-igd --hide-my-port --offline
- volumes:
- - "monero_data:/home/monero/.bitmonero"
- ports:
- - "18081:18081"
- monero_wallet:
- image: btcpayserver/monero:0.15.0.1-amd64
- restart: unless-stopped
- container_name: xmr_wallet_rpc
- entrypoint: monero-wallet-rpc --testnet --rpc-bind-ip=0.0.0.0 --disable-rpc-login --confirm-external-bind --rpc-bind-port=18082 --non-interactive --trusted-daemon --daemon-address=monerod:18081 --wallet-file=/wallet/wallet.keys --password-file=/wallet/password --tx-notify="/bin/sh ./scripts/notifier.sh -k -X GET https://host.docker.internal:14142/monerolikedaemoncallback/tx?cryptoCode=xmr&hash=%s"
- ports:
- - "18082:18082"
- volumes:
- - "./monero_wallet:/wallet"
- depends_on:
- - monerod
-
-volumes:
- monero_data:
diff --git a/BTCPayServer.Tests/docker-compose.yml b/BTCPayServer.Tests/docker-compose.yml
index 28f0485f2..0c93189bb 100644
--- a/BTCPayServer.Tests/docker-compose.yml
+++ b/BTCPayServer.Tests/docker-compose.yml
@@ -11,9 +11,7 @@ services:
dockerfile: BTCPayServer.Tests/Dockerfile
environment:
TESTS_BTCRPCCONNECTION: server=http://bitcoind:43782;ceiwHEbqWI83:DwubwWsoo3
- TESTS_LTCRPCCONNECTION: server=http://litecoind:43782;ceiwHEbqWI83:DwubwWsoo3
TESTS_BTCNBXPLORERURL: http://nbxplorer:32838/
- TESTS_LTCNBXPLORERURL: http://nbxplorer:32838/
TESTS_DB: "Postgres"
TESTS_POSTGRES: User ID=postgres;Host=postgres;Port=5432;Database=btcpayserver
TESTS_HOSTNAME: tests
@@ -86,19 +84,11 @@ services:
- "32838"
environment:
NBXPLORER_NETWORK: regtest
- NBXPLORER_CHAINS: "btc,ltc,lbtc"
+ NBXPLORER_CHAINS: "btc"
NBXPLORER_BTCRPCURL: http://bitcoind:43782/
NBXPLORER_BTCNODEENDPOINT: bitcoind:39388
NBXPLORER_BTCRPCUSER: ceiwHEbqWI83
NBXPLORER_BTCRPCPASSWORD: DwubwWsoo3
- NBXPLORER_LTCRPCURL: http://litecoind:43782/
- NBXPLORER_LTCNODEENDPOINT: litecoind:39388
- NBXPLORER_LTCRPCUSER: ceiwHEbqWI83
- NBXPLORER_LTCRPCPASSWORD: DwubwWsoo3
- NBXPLORER_LBTCRPCURL: "http://elementsd-liquid:19332/"
- NBXPLORER_LBTCNODEENDPOINT: "elementsd-liquid:19444"
- NBXPLORER_LBTCRPCUSER: "liquid"
- NBXPLORER_LBTCRPCPASSWORD: "liquid"
NBXPLORER_BIND: 0.0.0.0:32838
NBXPLORER_MINGAPSIZE: 5
NBXPLORER_MAXGAPSIZE: 10
@@ -106,8 +96,6 @@ services:
NBXPLORER_NOAUTH: 1
links:
- bitcoind
- - litecoind
- - elementsd-liquid
bitcoind:
@@ -209,51 +197,6 @@ services:
links:
- bitcoind
- litecoind:
- restart: unless-stopped
- image: nicolasdorier/docker-litecoin:0.16.3
- environment:
- BITCOIN_EXTRA_ARGS: |-
- rpcuser=ceiwHEbqWI83
- rpcpassword=DwubwWsoo3
- regtest=1
- rpcport=43782
- port=39388
- whitelist=0.0.0.0/0
- ports:
- - "43783:43782"
- expose:
- - "43782" # RPC
- - "39388" # P2P
-
- elementsd-liquid:
- restart: always
- container_name: btcpayserver_elementsd_liquid
- image: btcpayserver/elements:0.18.1.7
- environment:
- ELEMENTS_CHAIN: elementsregtest
- ELEMENTS_EXTRA_ARGS: |
- mainchainrpcport=43782
- mainchainrpchost=bitcoind
- mainchainrpcuser=liquid
- mainchainrpcpassword=liquid
- rpcport=19332
- rpcbind=0.0.0.0:19332
- rpcauth=liquid:c8bf1a8961d97f224cb21224aaa8235d$$402f4a8907683d057b8c58a42940b6e54d1638322a42986ae28ebb844e603ae6
- port=19444
- whitelist=0.0.0.0/0
- validatepegin=0
- initialfreecoins=210000000000000
- con_dyna_deploy_start=99999999999
- expose:
- - "19332"
- - "19444"
- ports:
- - "19332:19332"
- - "19444:19444"
- volumes:
- - "elementsd_liquid_datadir:/data"
-
postgres:
image: postgres:9.6.5
ports:
@@ -336,7 +279,6 @@ services:
- "torrcdir:/usr/local/etc/tor"
- "tor_servicesdir:/var/lib/tor/hidden_services"
-
volumes:
sshd_datadir:
bitcoin_datadir:
diff --git a/BTCPayServer/Configuration/BTCPayServerOptions.cs b/BTCPayServer/Configuration/BTCPayServerOptions.cs
index 8bdcec8bc..2eae346b7 100644
--- a/BTCPayServer/Configuration/BTCPayServerOptions.cs
+++ b/BTCPayServer/Configuration/BTCPayServerOptions.cs
@@ -10,6 +10,7 @@ using Microsoft.Extensions.Configuration;
using Microsoft.Extensions.Logging;
using NBitcoin;
using Serilog.Events;
+using TwentyTwenty.Storage;
namespace BTCPayServer.Configuration
{
@@ -92,6 +93,11 @@ namespace BTCPayServer.Configuration
var filtered = networkProvider.Filter(supportedChains.ToArray());
#if ALTCOINS
supportedChains.AddRange(filtered.GetAllElementsSubChains());
+#endif
+#if !ALTCOINS
+ var onlyBTC = supportedChains.Count == 1 && supportedChains.First() == "BTC";
+ if (!onlyBTC)
+ throw new ConfigException($"This build of BTCPay Server does not support altcoins");
#endif
NetworkProvider = networkProvider.Filter(supportedChains.ToArray());
foreach (var chain in supportedChains)
diff --git a/BTCPayServer/Properties/launchSettings.json b/BTCPayServer/Properties/launchSettings.json
index 813391655..79d84c25c 100644
--- a/BTCPayServer/Properties/launchSettings.json
+++ b/BTCPayServer/Properties/launchSettings.json
@@ -1,13 +1,12 @@
{
"profiles": {
- "Docker-Regtest": {
+ "Bitcoin": {
"commandName": "Project",
"launchBrowser": true,
"environmentVariables": {
"BTCPAY_NETWORK": "regtest",
"BTCPAY_LAUNCHSETTINGS": "true",
"BTCPAY_BUNDLEJSCSS": "false",
- "BTCPAY_LTCEXPLORERURL": "http://127.0.0.1:32838/",
"BTCPAY_BTCLIGHTNING": "type=clightning;server=tcp://127.0.0.1:30993",
"BTCPAY_BTCEXTERNALLNDGRPC": "type=lnd-grpc;server=https://lnd:lnd@127.0.0.1:53280/;allowinsecure=true",
"BTCPAY_BTCEXTERNALLNDREST": "type=lnd-rest;server=https://lnd:lnd@127.0.0.1:53280/lnd-rest/btc/;allowinsecure=true;macaroonfilepath=D:\\admin.macaroon",
@@ -16,7 +15,7 @@
"BTCPAY_ALLOW-ADMIN-REGISTRATION": "true",
"BTCPAY_DISABLE-REGISTRATION": "false",
"ASPNETCORE_ENVIRONMENT": "Development",
- "BTCPAY_CHAINS": "btc,ltc",
+ "BTCPAY_CHAINS": "btc",
"BTCPAY_POSTGRES": "User ID=postgres;Host=127.0.0.1;Port=39372;Database=btcpayserver",
"BTCPAY_DEBUGLOG": "debug.log",
"BTCPAY_TORRCFILE": "../BTCPayServer.Tests/TestData/Tor/torrc",
@@ -24,7 +23,38 @@
},
"applicationUrl": "http://127.0.0.1:14142/"
},
- "Docker-Regtest-https": {
+ "Bitcoin-HTTPS": {
+ "commandName": "Project",
+ "launchBrowser": true,
+ "environmentVariables": {
+ "BTCPAY_NETWORK": "regtest",
+ "BTCPAY_LAUNCHSETTINGS": "true",
+ "BTCPAY_PORT": "14142",
+ "BTCPAY_HttpsUseDefaultCertificate": "true",
+ "BTCPAY_BUNDLEJSCSS": "false",
+ "BTCPAY_BTCLIGHTNING": "type=clightning;server=tcp://127.0.0.1:30993",
+ "BTCPAY_BTCEXTERNALLNDGRPC": "type=lnd-grpc;server=https://lnd:lnd@127.0.0.1:53280/;allowinsecure=true",
+ "BTCPAY_BTCEXTERNALLNDREST": "type=lnd-rest;server=https://lnd:lnd@127.0.0.1:53280/lnd-rest/btc/;allowinsecure=true",
+ "BTCPAY_BTCEXTERNALLNDSEEDBACKUP": "../BTCPayServer.Tests/TestData/LndSeedBackup/walletunlock.json",
+ "BTCPAY_BTCEXTERNALSPARK": "server=/spark/btc/;cookiefile=fake",
+ "BTCPAY_BTCEXTERNALCHARGE": "server=https://127.0.0.1:53280/mycharge/btc/;cookiefilepath=fake",
+ "BTCPAY_EXTERNALCONFIGURATOR": "passwordfile=testpwd;server=/configurator",
+ "BTCPAY_BTCEXPLORERURL": "http://127.0.0.1:32838/",
+ "BTCPAY_ALLOW-ADMIN-REGISTRATION": "true",
+ "BTCPAY_DISABLE-REGISTRATION": "false",
+ "ASPNETCORE_ENVIRONMENT": "Development",
+ "BTCPAY_CHAINS": "btc",
+ "BTCPAY_POSTGRES": "User ID=postgres;Host=127.0.0.1;Port=39372;Database=btcpayserver",
+ "BTCPAY_EXTERNALSERVICES": "totoservice:totolink;",
+ "BTCPAY_SSHCONNECTION": "root@127.0.0.1:21622",
+ "BTCPAY_SSHPASSWORD": "opD3i2282D",
+ "BTCPAY_DEBUGLOG": "debug.log",
+ "BTCPAY_TORRCFILE": "../BTCPayServer.Tests/TestData/Tor/torrc",
+ "BTCPAY_SOCKSENDPOINT": "localhost:9050"
+ },
+ "applicationUrl": "https://localhost:14142/"
+ },
+ "Altcoins-HTTPS": {
"commandName": "Project",
"launchBrowser": true,
"environmentVariables": {