Fix addcoin decred.

This commit is contained in:
tecnovert
2024-05-30 12:46:59 +02:00
parent 5f6819afcb
commit ebdbe115dd
11 changed files with 141 additions and 16 deletions

View File

@@ -0,0 +1,16 @@
monero_wallet:
image: i_decred_wallet
build:
context: decred_wallet
dockerfile: Dockerfile
container_name: decred_wallet
volumes:
- ${DATA_PATH}/decred_wallet:/data
expose:
- ${DCR_WALLET_RPC_PORT}
logging:
driver: "json-file"
options:
max-size: "10m"
max-file: "3"
restart: unless-stopped

View File

@@ -0,0 +1,16 @@
monero_daemon:
image: i_decred_daemon
build:
context: decred_daemon
dockerfile: Dockerfile
container_name: decred_daemon
volumes:
- ${DATA_PATH}/decred_daemon:/data
expose:
- ${DCR_RPC_PORT}
logging:
driver: "json-file"
options:
max-size: "10m"
max-file: "3"
restart: unless-stopped

View File

@@ -0,0 +1,25 @@
FROM i_swapclient as install_stage
RUN basicswap-prepare --preparebinonly --bindir=/coin_bin --withcoin=decred --withoutcoins=particl && \
find /coin_bin -name *.tar.gz -delete
FROM debian:bullseye-slim
COPY --from=install_stage /coin_bin .
ENV DCR_DATA /data
RUN groupadd -r decred && useradd -r -m -g decred decred \
&& apt-get update \
&& apt-get install -qq --no-install-recommends gosu \
&& rm -rf /var/lib/apt/lists/* \
&& mkdir "$DCR_DATA" \
&& chown -R decred:decred "$DCR_DATA" \
&& ln -sfn "$DECRED_DATA" /home/decred/decred \
&& chown -h decred:decred /home/decred/decred
VOLUME /data
COPY entrypoint.sh /entrypoint.sh
ENTRYPOINT ["/entrypoint.sh"]
EXPOSE 9108 9109
CMD ["/decred/dcrd", "--datadir=/data"]

View File

@@ -0,0 +1,11 @@
#!/bin/bash
set -e
if [[ "$1" == "dcrctl" || "$1" == "dcrd" || "$1" == "dcrwallet" ]]; then
mkdir -p "$DECRED_DATA"
chown -h decred:decred /home/decred/decred
exec gosu decred "$@"
else
exec "$@"
fi

View File

@@ -0,0 +1,19 @@
FROM i_decred_daemon
ENV DCR_DATA /data
RUN groupadd -r decred && useradd -r -m -g decred decred \
&& apt-get update \
&& apt-get install -qq --no-install-recommends gosu \
&& rm -rf /var/lib/apt/lists/* \
&& mkdir "$DCR_DATA" \
&& chown -R decred:decred "$DCR_DATA" \
&& ln -sfn "$DECRED_DATA" /home/decred/decred \
&& chown -h decred:decred /home/decred/decred
VOLUME /data
COPY entrypoint.sh /entrypoint.sh
ENTRYPOINT ["/entrypoint.sh"]
EXPOSE 9209
CMD ["/decred/dcrwallet", "--datadir=/data"]

View File

@@ -0,0 +1,11 @@
#!/bin/bash
set -e
if [[ "$1" == "dcrctl" || "$1" == "dcrd" || "$1" == "dcrwallet" ]]; then
mkdir -p "$DECRED_DATA"
chown -h decred:decred /home/decred/decred
exec gosu decred "$@"
else
exec "$@"
fi

View File

@@ -14,17 +14,25 @@ PART_ZMQ_PORT=20792
PART_RPC_USER=particl_user
PART_RPC_PWD=particl_pwd
BTC_DATA_DIR=/data/bitcoin
BTC_RPC_HOST=bitcoin_core
BTC_RPC_PORT=19796
BTC_RPC_USER=bitcoin_user
BTC_RPC_PWD=bitcoin_pwd
LTC_DATA_DIR=/data/litecoin
LTC_RPC_HOST=litecoin_core
LTC_RPC_PORT=19795
LTC_RPC_USER=litecoin_user
LTC_RPC_PWD=litecoin_pwd
BTC_DATA_DIR=/data/bitcoin
BTC_RPC_HOST=bitcoin_core
BTC_RPC_PORT=19796
BTC_RPC_USER=bitcoin_user
BTC_RPC_PWD=bitcoin_pwd
DCR_DATA_DIR=/data/decred
DCR_RPC_HOST=decred_daemon
DCR_RPC_PORT=DCR_RPC_PORT
DCR_WALLET_RPC_HOST=decred_wallet
DCR_WALLET_RPC_PORT=9209
DCR_RPC_USER=decred_user
DCR_RPC_PWD=decred_pass
XMR_DATA_DIR=/data/monero_daemon
XMR_RPC_HOST=monero_daemon

View File

@@ -3,6 +3,13 @@
This will setup Basicswap so that each coin runs in it's own container.
### Coin notes
- Decred is only partially supported, the wallet will need to be initialised manually.
## Setup
Install dependencies:
sudo apt install basez docker-compose
@@ -33,13 +40,14 @@ Create docker-compose config:
# Using the helper script:
./scripts/build_yml_files.py -c bitcoin monero
# Or
# Or manually:
cat compose-fragments/0_start.yml > docker-compose.yml
# Add the relevant coin fragments
cat compose-fragments/1_bitcoin.yml >> docker-compose.yml
cat compose-fragments/1_litecoin.yml >> docker-compose.yml
cat compose-fragments/1_decred-wallet.yml >> docker-compose.yml
cat compose-fragments/1_monero-wallet.yml >> docker-compose.yml
cat compose-fragments/1_pivx.yml >> docker-compose.yml
cat compose-fragments/1_dash.yml >> docker-compose.yml
@@ -121,6 +129,7 @@ Start BasicSwap:
popd
docker-compose build monero_daemon
docker-compose build decred_daemon
docker-compose build
docker-compose build --no-cache swapclient

View File

@@ -66,6 +66,15 @@ def main():
for line in fp_in:
fp.write(line)
continue
if coin_name == 'decred':
with open(os.path.join(fragments_dir, '1_decred-wallet.yml'), 'rb') as fp_in:
for line in fp_in:
fp.write(line)
fpp.write(line)
with open(os.path.join(fragments_dir, '8_decred-daemon.yml'), 'rb') as fp_in:
for line in fp_in:
fp.write(line)
continue
with open(os.path.join(fragments_dir, f'1_{coin_name}.yml'), 'rb') as fp_in:
for line in fp_in:
fp.write(line)