diff --git a/conf/oauth2/default.json b/conf/oauth2/default.json
index 1a4fb15..6aeffa1 100644
--- a/conf/oauth2/default.json
+++ b/conf/oauth2/default.json
@@ -1,20 +1,17 @@
{
- "module": {
+ "web": {
"issuers": ["accounts.bitdeals.org"],
- "scopes": ["bitdeals"],
- "client_id": "dm-bitdeals.org",
- "client_secret": "",
+ "scopes": ["api","openid","profile","email"],
+ "client_id": "web-bitdeals.org",
+ "client_secret": "4aJEJi3dsSypeUSRCah4gIIs",
"algorithm": "HS256",
"auth_uri": "/oauth2/authorize",
"token_uri": "/oauth2/token",
"redirect_uris": [
- "http://localhost:4977/oauth2/code",
- "http://localhost:4999/dashboard/",
- "https://oauthdebugger.com/debug"
- ],
- "javascript_origins": [
- "http://localhost:4999",
- "http://95.217.251.153:4999"
+ "http://localhost:4999/oauth2/code",
+ "http://localhost:4999/oauth2/callback",
+ "https://oauthdebugger.com/debug",
+ "https://auth.advancedrestclient.com/oauth-popup.html"
]
}
}
diff --git a/conf/sites/default.json b/conf/sites/default.json
index 26f624b..7f8b83e 100644
--- a/conf/sites/default.json
+++ b/conf/sites/default.json
@@ -1,4 +1,11 @@
{
"hosts": ["localhost:4999"],
- "root": "/etc/dm/www"
+ "root": "/var/www/web",
+ "oauth2": {
+ "identifier": "/oauth/identifier",
+ "secret": "/oauth/secret",
+ "callback": "/",
+ "error": "/oauth/error",
+ "debug": "http://localhost:3000/"
+ }
}
diff --git a/docker-compose.yml b/docker-compose.yml
new file mode 100644
index 0000000..709f56b
--- /dev/null
+++ b/docker-compose.yml
@@ -0,0 +1,23 @@
+version: "3"
+services:
+ bitdeals-module:
+ image: bitdeals/apostol-dm
+ environment:
+ - DM_TESTNET=0
+ - DM_BITCOIN=
+ - DM_FEE=0.1%
+ - |
+ DM_PGP_SEC=
+ -----BEGIN PGP PRIVATE KEY BLOCK-----
+
+ -----END PGP PRIVATE KEY BLOCK-----
+
+ volumes:
+ - dm:/etc/dm
+ ports:
+ - 4999:4999
+ - 80:80
+
+volumes:
+ dm:
+
diff --git a/docker/Dockerfile b/docker/Dockerfile
index 1d99871..ef6c1df 100644
--- a/docker/Dockerfile
+++ b/docker/Dockerfile
@@ -12,7 +12,7 @@ FROM debian:bullseye AS updated-debian
SHELL ["/bin/bash", "-exo", "pipefail", "-c"]
LABEL name="BitDeals Module"
-EXPOSE 4999 80
+EXPOSE 4999/tcp 80/tcp
## Debian update; install dependencies
ARG DEBIAN_FRONTEND=noninteractive
@@ -80,15 +80,16 @@ RUN su -l --shell /bin/bash $UNAME -c 'cd '$UHOME' ; \
./configure ; \
cd cmake-build-release ; \
make' ; \
+ git config --global --add safe.directory $UHOME/apostol-dm ;\
cd $UHOME/apostol-dm/cmake-build-release ;\
make install
-## Download "build" directory from web-dm repository
+## Download "build" directory from web-build repository
RUN su -l --shell /bin/bash $UNAME -c 'cd '$UHOME' ; \
- mkdir web-dm ;\
- cd web-dm ;\
+ mkdir web-build ;\
+ cd web-build ;\
git init ;\
- git remote add -f origin https://git.bitdeals.org/private/web-dm/ ;\
+ git remote add -f origin https://git.bitdeals.org/private/web-build/ ;\
echo build >> .git/info/sparse-checkout ;\
git pull origin master'
@@ -104,7 +105,7 @@ COPY --from=development /usr/local/ /usr/local/
COPY --from=development /etc/dm/ /etc/dm/
COPY --from=development /usr/sbin/dm /usr/sbin/dm
COPY --from=development /etc/init.d/dm /etc/init.d/dm
-COPY --from=development --chown=www-data:www-data $UHOME/web-dm/build /var/www/web
+COPY --from=development --chown=www-data:www-data $UHOME/web-build/build /var/www/web
COPY --from=development --chown=$UNAME:$UNAME $UHOME/apostol-dm/docker/bitdeals-test.asc /etc/dm/bitdeals-test.asc
#COPY --from=development --chown=$UNAME:$UNAME $UHOME/apostol-dm/docker/bitdeals.asc /etc/dm/bitdeals.asc
COPY --from=development $UHOME/apostol-dm/docker/entrypoint.sh /entrypoint.sh
diff --git a/docker/README.md b/docker/README.md
index 76548a2..ff6520e 100644
--- a/docker/README.md
+++ b/docker/README.md
@@ -1,17 +1,16 @@
+
+
+
# Intro
Deal Module (dm) - the Bitdeals daemon that provides a special interfaces for creating and modifying user accounts and deals.
# Running DM docker container
-On first run the initialization script will create, if empty, a new bitcoin and PGP keys and start the daemon.
-
-`docker run -i -t --rm --mount src=bitdeals-conf,dest=/etc/dm -p 127.0.0.1:4999:4999 -p 127.0.0.1:80:80 bitdeals/apostol-dm`
+On first run the initialization script will create (if it is empty), a new bitcoin and PGP keys and start the daemon.
Daemon settings which may specified by an environment variables are saved to the daemon config files on the Docker Volume.
-To use the BitDeals API you should register an user account on a BitDeals site and get a "client_id", "client_secret" at the account dashboard.
-
# Usage
Here are some example snippets to help you get started creating a container.
@@ -28,8 +27,8 @@ services:
- DM_BITCOIN=
- DM_FEE=<0.1%>
- DM_PGP_PASSWORD=
+ - DM_FORWEB=http://127.0.0.1:4999
- DM_WEBAUTH=0
- - DM_LC_ALL=en_US.UTF-8
- |
DM_PGP_SEC=
-----BEGIN PGP PRIVATE KEY BLOCK-----
@@ -39,8 +38,10 @@ services:
volumes:
- dm:/etc/dm
ports:
- - 4999:4999
+ - 127.0.0.1:4999:4999
- 80:80
+volumes:
+ dm:
```
## docker cli
@@ -51,12 +52,11 @@ docker run -d \
-e DM_BITCOIN= \
-e DM_FEE=0.1% \
-e DM_PGP_SEC="$(gpg2 --armor --export-secret-key Account_URL)" \
- -e DM_PGP_PASSWORD= \
-e DM_WEBAUTH=0 \
-e DM_LC_ALL=en_US.UTF-8 \
-p 127.0.0.1:4999:4999 \
-p 127.0.0.1:80:80 \
- -v ./dm/:/etc/dm \
+ -v /home/dm/:/etc/dm/ \
bitdeals/apostol-dm
```
@@ -67,13 +67,14 @@ Container images are configured using parameters passed at runtime.
|Parameter|Function|
|:--------|:-------|
|-p 80|WebUI port TCP|
-|-p 4999|Module API port TCP [(API documentation)](https://bitbucket.org/bitdeals/apostol-dm)|
+|-p 4999|dm API port [(API documentation)](/private/apostol-dm/src/branch/master/doc/REST-API-ru.md)|
|-e DM_TESTNET=|Enable bitcoin testnet mode. Default: `0`|
|-e DM_BITCOIN=|User account bitcoin address. Will be created if empty.|
-|-e DM_FEE=|User fee for created deals. You MUST indicate the sign “%” for a percentage of the deal amount or FIXED value in satoshi. Default: `0.1%`|
+|-e DM_FEE=|User fee for created deals. You MUST indicate the sign "%" for a percentage of the deal amount or FIXED value in satoshi. Default: `0.1%`|
|-e DM_PGP_SEC=|Variable with ASCII armored PGP user secret key. Will be created if empty (with Account_URL in the key details).|
|-e DM_PGP_PASSWORD=|User PGP key password.|
-|-e DM_WEBAUTH=|Enable web user interface authentication.|
-|-e DM_LC_ALL=|Set Deal Module locale.|
-|-e DM_ACCOUNT_URL=|Set Account_URL for a new account non-interactive registration. Format: http[s]://[:]|
+|-e DM_FORWEB=|dm host for dm Web app (the host should be accessable from your browser). Default: `http://127.0.0.1:4999`|
+|-e DM_WEBAUTH=|Enable Web app user interface authentication. Default: `0`|
+|-e DM_LC_ALL=|Set locale for dm. Default: `en_US.UTF-8`|
+|-e DM_ACCOUNT_URL=|Set Account_URL for a new account registration. Format: `http[s]://[:]`|
diff --git a/docker/bitdeals-test.asc b/docker/bitdeals-test.asc
index 2724f6a..9e7b21b 100644
--- a/docker/bitdeals-test.asc
+++ b/docker/bitdeals-test.asc
@@ -1,41 +1,56 @@
-----BEGIN PGP PUBLIC KEY BLOCK-----
-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
-JpqcNKY=
-=WxTf
+mI0EXgvhAAEEAND2+o1erJQ0nZo3CygW5iqTG7DZHvK0jBysPAk5KEKJld5+wIxZ
+zTkukczM2iJ2aprqr4+v2owQ2FNmUgFUsOA/hdLFDsNXdpdvuiwe0fTRFeV9nNOB
+n6P1HowrfQLOaTScvpRy4ofe9Tp4ym/Vpm46DGgZcw1j7CFxSlITRnFrABEBAAG0
+UUJpdGNvaW5fa2V5MiAoMDJkN2Y3ZWE1YmVkZmMyMjlkNzg5ZWNkNWFhYjc2NmZj
+YjllZTY5OTdhYmVmZTEzNGU3NDJiYzM5YzdkMmEyMGY2KYjOBBMBAgA4FiEELD0e
+1FyzQjWnqlGAbV80KhwzZ5AFAl4L4QACGwMFCwkIBwIGFQoJCAsCBBYCAwECHgEC
+F4AACgkQbV80KhwzZ5BYEQQAvJD1W9EtaSINrAE7ZLRDz0AsY/SNBeLom5715Ij/
+qp3CN4ASm8i4uBScyi6li4GXWSFQEYcyxvwljKLlAxxEdEuvggXSYq6B9aZFCtsj
+fX0N4SuhCNA+IjAosMFCrgrYsPUO4TdMka0GqTk2BnGKQI7dtqnTTMHBA0q5T99L
+yo+0DUJpdERlYWxzLXRlc3SIzgQTAQIAOBYhBCw9HtRcs0I1p6pRgG1fNCocM2eQ
+BQJeC+EAAhsDBQsJCAcCBhUKCQgLAgQWAgMBAh4BAheAAAoJEG1fNCocM2eQNE4E
+ALjFrjr6IvIZ5CXQzdpYVjSnYAJuL3kbmgUFVxz4yb0fmHTtjEEDa79jQ5Q+zmca
+qDEmka1dVFeaU3qY8JRbg2svqpxQMLCOMSrdO/5+rKHFfkjD/fCDtq/8Q1NCnGYb
+c3Ld/vLXLL8kzyHtWVeUs4AkpXs4r4TjIYRzdvXDjwt+tFFCaXRjb2luX2tleTEg
+KDAyNDUyZGRhZmNkYjkzNzkzYmI1MGE3OTdjNWQ1OGVkZjkwNzRhOWIxYTk4ZDU5
+NTFmYjZkYTg3MTk3ZDhkN2MyNCmIzgQTAQIAOBYhBCw9HtRcs0I1p6pRgG1fNCoc
+M2eQBQJeC+EAAhsDBQsJCAcCBhUKCQgLAgQWAgMBAh4BAheAAAoJEG1fNCocM2eQ
+XawD/3EGWzl6RS9HuZmXLZ9FVu6Rm14SD8Y2Mbco2g6tO1+UMI+M1xAXMJjzEXdc
+KZVx/9kcIao/e9ZG8xmHwXmezdWNMrpbYJ/waoA4NfrHMUiEVCTyJUwMOVQB3eQG
+/hdk0usvNBKDCxF1K4yq4hXZD5mhbvnyDINNdpGGTBtsFgRHtBt0ZWNobmljYWxf
+ZGF0YSAoMC41OyA2MDsgMimIzgQTAQIAOBYhBCw9HtRcs0I1p6pRgG1fNCocM2eQ
+BQJeC+EAAhsDBQsJCAcCBhUKCQgLAgQWAgMBAh4BAheAAAoJEG1fNCocM2eQEY0E
+ALpgddnpOh0iciu9eCyafbhyczmaP3fSO16FkOud8uhjAXOeVvsVZGPpYH4pBSBG
+llhcL3EIGs08kmdE/pk3xebDQPpCsLHDqs55rbfTQl95Mp5YhLJxxVWOMtegeNcz
+D7r++8BM5ia6FKAMMfmONatnUgZ+bGYBOsBGXNlslebBtERCTS0yY1g4eTl1OXlF
+aTNmZHFRZm5keDlGNk5kUjVIdjc5YWRkIChodHRwczovL3Rlc3RuZXQuYml0ZGVh
+bHMub3JnKYjOBBMBAgA4FiEELD0e1FyzQjWnqlGAbV80KhwzZ5AFAmQC+pECGwMF
+CwkIBwIGFQoJCAsCBBYCAwECHgECF4AACgkQbV80KhwzZ5DeJwP/XSeSpV8xOX9L
+LD0e2nHVnHkse4lRD0uVE8/7NQJz6ecXuFSyGAyo4qfCNoVeH5e7MotPpqDL8IEa
+WRQ1SDcE11A2o85DAWhT3my5gLK9R5CKYvw2WxUK8zSAbntIYIadD3nbHzsdGe2d
+ktVxUn3OFvQXQk14aoqvL6k6fgctq6O4jQReC+EAAQQA33t37uGQA95hL+p6Vd1X
+jL/W1l4CsXO2cOIYc15IHSW+itvmpZwsA7bo0B1LfT5veFTF/EaOTa9poyS9mF5c
+PAGnV36glfePNzdVxSpBnStp6AIpnsCK12XtHn+aaBgugexZhweeqqd1Vw5eGFlu
+F/kGSDltKF2u6XZVLrKVxgEAEQEAAYkBawQYAQIAIBYhBCw9HtRcs0I1p6pRgG1f
+NCocM2eQBQJeC+EAAhsCAL8JEG1fNCocM2eQtCAEGQECAB0WIQS1ifeUjlWSkG8u
+8xeCZRqwFMEj+AUCXgvhAAAKCRCCZRqwFMEj+CEiBACmjTa2HGAXkIg5bUD65GGF
+61sTAIisar32KsZ3ZznwxprNND95pkiqY7m6CMqq7GugEzVDAkX6xMmBdhTnnZrd
+FWjoDnhoT1H/pHKAgcSPdhMqmfu+LehSmYscm01kICVfwprC/UpSUT4TE0fLmvmU
+PjjJUk3nsxA9spFX5nG+ikX3A/4o8yy2JbBVmUDnECnplH1t1Za8bcJesUFX9r5b
+uT5RmuPs7PvExjDpatyxmTGfLf2VFezW0iel2uIzIB15SLDGE+XyH67AWwaGwwYq
+RSJ7FSF3kTSVJPTz9rut1pNzjdmXC3mRkdQEtvVgxlemWUWQNrI388/aeSKrdS4S
+Pr9rf7iNBF4L4QABBACwCB2/LtySds0bZzWx6L1P4/j5cc//rBbHE4VCVjSUF7/A
+NJRggRe6km7FA7SzCp13QLZXcDEIFsFCOUeYJoMgzcGH8U/ROD7JKR52/0sGUx50
+A0RKJPTwDQ2QRtH2janKCIJF5+/9OwTCV3GJTceE1geUpMEs+vmkfBRQEI94HwAR
+AQABiQFrBBgBAgAgFiEELD0e1FyzQjWnqlGAbV80KhwzZ5AFAl4L4QACGwIAvwkQ
+bV80KhwzZ5C0IAQZAQIAHRYhBI6aB0C52AuWokiA7RwvPR0NE9+dBQJeC+EAAAoJ
+EBwvPR0NE9+dcZwD/AsbWKRUdHegB/mSSmnc+AYFYDWyt7Hkx0NHUohXb+nhcj4J
+R8ymhY0XoUHFtZlupF6iUneEqRTOpR+vIhPTQ1Dbe9ktV0dKLTmj5GaBGVLr6mrA
+vqbmq+OGMTHjRJ/10hy5hKkxY5A2jcV66NE1JW0MCH7G0L2S4HQX28vjgBc1LrkE
+AMPMSAHaB2mv9+dS9EZZ3QblpYoixLuRYaZyoDvCBNdAya79c4lHuo5UR+vR7PeO
+PjPcBFX+R65ICoe+d11/4vLPeAnTy2OMgGzG5Xr9Z+8QGxqZ7vDyxv9BMu/JHhBE
+73z1B5mF50gRcTwoSC6uy6kY5ostOxzADL9rsg+ZoapI
+=nkLW
-----END PGP PUBLIC KEY BLOCK-----
diff --git a/docker/entrypoint.sh b/docker/entrypoint.sh
index 45c5050..87013cb 100755
--- a/docker/entrypoint.sh
+++ b/docker/entrypoint.sh
@@ -6,18 +6,22 @@
## And can generate a Bitcoing and PGP key filies at first start.
##
-DM_TESTNET=${DM_TESTNET:-0}
+## Web app requires the dmHost address should be accessable from your browser
+DM_FORWEB=${DM_FORWEB:-http://127.0.0.1:4999}
DM_WEBAUTH=${DM_WEBAUTH:-0}
+DM_TESTNET=${DM_TESTNET:-0}
## Daemon config files
-DM_CONF_FILES=$(find /etc/dm/ -type f -name "*.conf" -not -name "default.conf")
+CONF_FILES=$(find /etc/dm/ -type f -name "*.conf" -not -name "default.conf")
BITDEALS_PGP_FILE="/etc/dm/bitdeals.asc"
BITDEALS_TEST_PGP_FILE="/etc/dm/bitdeals-test.asc"
PGP_SEC_FILE="/etc/dm/pgp.sec"
BX_CONF_FILE="/usr/local/etc/libbitcoin/bx.cfg"
-DM_WEB_CONF_FILE="/var/www/web/config.js"
+WEB_CONF_FILE="/var/www/web/config.js"
+WEB_CONF_SITES="/etc/dm/sites/default.json"
+WEB_CONF_OAUTH="/etc/dm/oauth2/default.json"
-#tput variable for color output
+#tput variable for log color output
export TERM=xterm
## Write a default variables to dm config
@@ -25,50 +29,58 @@ sed -i -e "/\[main\]/,/\[/ s/.*user=.*/user=$UNAME/" \
-e "/\[main\]/,/\[/ s/.*group=.*/group=$UNAME/" \
-e "/\[daemon\]/,/\[/ s/.*daemon=.*/daemon=false/" \
-e "/\[server\]/,/\[/ s/.*listen=.*/listen=0.0.0.0/" \
- -e "/\[server\]/,/\[/ s/.*port=.*/port=4999/" $DM_CONF_FILES
+ -e "/\[server\]/,/\[/ s/.*port=.*/port=4999/" $CONF_FILES
## Change dm Website config
-sed -i 's/dmHost:.*/dmHost: "http:\/\/0.0.0.0:4999",/' $DM_WEB_CONF_FILE
+sed -i "s|dmHost:.*|dmHost: \"$DM_FORWEB\",|" $WEB_CONF_FILE
if [ "$DM_WEBAUTH" = 1 -o "$DM_WEBAUTH" = true ]; then
- sed -i 's/confAuthorize:.*/confAuthorize: true,/' $DM_WEB_CONF_FILE
+ sed -i 's/confAuthorize:.*/confAuthorize: true,/' $WEB_CONF_FILE
else
- sed -i 's/confAuthorize:.*/confAuthorize: false,/' $DM_WEB_CONF_FILE
+ sed -i 's/confAuthorize:.*/confAuthorize: false,/' $WEB_CONF_FILE
fi
if [ "$DM_LC_ALL" = "ru_RU.UTF-8" ]; then
- sed -i 's/defaultLanguage:.*/defaultLanguage: "ru",/' $DM_WEB_CONF_FILE
+ sed -i 's/defaultLanguage:.*/defaultLanguage: "ru",/' $WEB_CONF_FILE
else
- sed -i 's/defaultLanguage:.*/defaultLanguage: "en",/' $DM_WEB_CONF_FILE
+ sed -i 's/defaultLanguage:.*/defaultLanguage: "en",/' $WEB_CONF_FILE
fi
[ "$DM_LC_ALL" ] && \
export LC_ALL="$DM_LC_ALL"
+## Add DM_FORWEB to dm oauth config
+if ! grep -q "$DM_FORWEB" $WEB_CONF_SITES; then
+ sed -i "/\"hosts\":/ s|]|, \"$(basename $DM_FORWEB)\"]|" $WEB_CONF_SITES
+ sed -i -e "/\"redirect_uris\":/ s|$|\n\t\"$DM_FORWEB/oauth2/callback\",|" \
+ -e "/\"redirect_uris\":/ s|$|\n\t\"$DM_FORWEB/oauth2/code\",|" $WEB_CONF_OAUTH
+fi
+
+
## Write the PGP keys locations to dm config
-sed -i "/\[pgp\]/,/\[/ s%^private=.*%private=$PGP_SEC_FILE%" $DM_CONF_FILES
+sed -i "/\[pgp\]/,/\[/ s%^private=.*%private=$PGP_SEC_FILE%" $CONF_FILES
if [ "$DM_TESTNET" = 1 -o "$DM_TESTNET" = true ]; then
- sed -i "/\[pgp\]/,/\[/ s%^public=.*%public=$BITDEALS_TEST_PGP_FILE%" $DM_CONF_FILES
+ sed -i "/\[pgp\]/,/\[/ s%^public=.*%public=$BITDEALS_TEST_PGP_FILE%" $CONF_FILES
else
- sed -i "/\[pgp\]/,/\[/ s%^public=.*%public=$BITDEALS_PGP_FILE%" $DM_CONF_FILES
+ sed -i "/\[pgp\]/,/\[/ s%^public=.*%public=$BITDEALS_PGP_FILE%" $CONF_FILES
fi
## Write a user variables to the daemon config files.
if [ "$DM_BITCOIN" ]; then
- sed -i "/\[module\]/,/\[/ s/^address=.*/address=$DM_BITCOIN/" $DM_CONF_FILES
+ sed -i "/\[module\]/,/\[/ s/^address=.*/address=$DM_BITCOIN/" $CONF_FILES
fi
if [ "$DM_FEE" ]; then
- sed -i "/\[module\]/,/\[/ s/^#\?fee=.*/fee=$DM_FEE/" $DM_CONF_FILES
+ sed -i "/\[module\]/,/\[/ s/^#\?fee=.*/fee=$DM_FEE/" $CONF_FILES
fi
if [ "$DM_PGP_PASSWORD" ] ; then
- #escaping the '/' in password line
+ #escaping the '/' in password line for use it in `sed`
DM_PGP_PASSWORD="$(echo $DM_PGP_PASSWORD | sed 's/\//\\\//g')"
- sed -i "/\[pgp\]/,/\[/ s/^passphrase=.*/passphrase=$DM_PASSWORD/" $DM_CONF_FILES
+ sed -i "/\[pgp\]/,/\[/ s/^passphrase=.*/passphrase=$DM_PGP_PASSWORD/" $CONF_FILES
fi
if [ "$DM_TESTNET" = 1 -o "$DM_TESTNET" = true ]; then
- sed -i "/\[main\]/,/\[/ s/.*testnet=.*/testnet=true/" $DM_CONF_FILES
+ sed -i "/\[main\]/,/\[/ s/.*testnet=.*/testnet=true/" $CONF_FILES
else
- sed -i "/\[main\]/,/\[/ s/.*testnet=.*/testnet=false/" $DM_CONF_FILES
+ sed -i "/\[main\]/,/\[/ s/.*testnet=.*/testnet=false/" $CONF_FILES
fi
if [ "$DM_BITDEALS_PGP" ]; then
echo "$BITDEALS_PGP" > "$BITDEALS_PGP_FILE"
@@ -90,7 +102,7 @@ then
#GNUPGHOME="$(mktemp -d)" ;# works for gpg2
gpg --faked-system-time $(TZ=UTC date --date=$(date +'%Y-%m-%d') +%s) \
--pinentry-mode loopback --passphrase "$DM_PGP_PASSWORD" \
- --batch --gen-key 2>/dev/null <<-EOF
+ --openpgp --batch --gen-key 2>/dev/null <<-EOF
Key-Type: RSA
Key-Usage: cert,sign
Key-Length: 1024
@@ -120,7 +132,7 @@ if [ -f "$PGP_SEC_FILE" ]; then
chmod 600 "$PGP_SEC_FILE"
fi
-## Setup testnet settings in libbitcoin-explorer config
+## Setup testnet settings in libbitcoin-explorer config for new user bitcoin address generation
[ "$DM_TESTNET" = 1 -o "$DM_TESTNET" = true ] && \
sed -i -e "/\[wallet\]/,/\[/ s/wif_version? =.*/wif_version = 239/" \
-e "/\[wallet\]/,/\[/ s/hd_public_version =.*/hd_public_version = 70617039/" \
@@ -137,8 +149,8 @@ fi
-e "/#block_url = tcp:\/\/testnet.libbitcoin.net:19093/ s/^#//" \
-e "/#transaction_url = tcp:\/\/testnet.libbitcoin.net:19094/ s/^#//" "$BX_CONF_FILE"
-## Create new Bitcoin keys. If user address is empty.
-_DM_BITCOIN="$(sed -n '/^[ \t]*\[module\]/,/\[/s/^[ \t]*address[ \t]*=[ \t]*//p' $DM_CONF_FILES)"
+## Create new Bitcoin keys. If user address (_DM_BITCOIN var) is empty.
+_DM_BITCOIN="$(sed -n '/^[ \t]*\[module\]/,/\[/s/^[ \t]*address[ \t]*=[ \t]*//p' $CONF_FILES)"
if [ -z "$_DM_BITCOIN" ]
then
@@ -152,16 +164,16 @@ then
PRIVKEYWIF="$(bx ec-to-wif $PRIVKEY)"
## Write the bitcoin address to the daemon config
- sed -i "/\[module\]/,/\[/ s/^address=.*/address=$BITCOIN/" $DM_CONF_FILES
+ sed -i "/\[module\]/,/\[/ s/^address=.*/address=$BITCOIN/" $CONF_FILES
## Show bitcoin key
cat <<-EOF
- Please backup this BITCOIN KEY:"
- Private key (raw form): $PRIVKEY"
- Private key (WIF form): ${B}$PRIVKEYWIF${N}"
- Public key: $PUBKEY"
- Bitcoin address: $BITCOIN\n"
+ Please backup this BITCOIN KEY:
+ Private key (raw form): $PRIVKEY
+ Private key (WIF form): ${B}$PRIVKEYWIF${N}
+ Public key: $PUBKEY
+ Bitcoin address: $BITCOIN
EOF
else
diff --git a/docker/nginx.conf b/docker/nginx.conf
index 473e10e..06678f7 100644
--- a/docker/nginx.conf
+++ b/docker/nginx.conf
@@ -12,6 +12,17 @@ server {
root /var/www/web;
index index.html;
try_files $uri $uri/ /index.html;
+
+# location ^~ /api/ {
+# proxy_pass http://127.0.0.1:4999;
+# proxy_http_version 1.1;
+# proxy_set_header Host $host;
+# proxy_set_header Connection "close";
+# proxy_set_header X-Forwarded-Proto $scheme;
+# proxy_set_header X-Real-IP $remote_addr;
+# proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
+# }
+
}
}
diff --git a/docker/screenshots/Account_details.png b/docker/screenshots/Account_details.png
new file mode 100644
index 0000000..58d86d1
Binary files /dev/null and b/docker/screenshots/Account_details.png differ
diff --git a/docker/screenshots/Authorization.png b/docker/screenshots/Authorization.png
new file mode 100644
index 0000000..85dbb9c
Binary files /dev/null and b/docker/screenshots/Authorization.png differ
diff --git a/docker/screenshots/Create_deal.png b/docker/screenshots/Create_deal.png
new file mode 100644
index 0000000..1a1d1a0
Binary files /dev/null and b/docker/screenshots/Create_deal.png differ
diff --git a/docker/screenshots/Deal_information.png b/docker/screenshots/Deal_information.png
new file mode 100644
index 0000000..b3bca3e
Binary files /dev/null and b/docker/screenshots/Deal_information.png differ