This repository has been archived by the owner on Feb 18, 2020. It is now read-only.
/
base.sh
executable file
路90 lines (81 loc) 路 2.77 KB
/
base.sh
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
#!/usr/bin/env bash
# Basic usage
# CLI:
# duxchx-rinkeby -h
# BOTS:
# bots/bots-rinkeby
# CLAIM:
# claim/claim-rinkeby
# Enable debug
# set -x
# Config
NETWORK=${NETWORK:-rinkeby}
ETHEREUM_RPC_URL="https://${NETWORK}.infura.io"
DX_SERVICE_VERSION=${DX_SERVICE_VERSION:-staging} # Check: https://hub.docker.com/r/gnosispm/dx-services/tags/
SHOW_COLORS=true
DEBUG_MESSAGES=DEBUG=ERROR-*,WARN-*,INFO-*
ENVIRONMENT=pro # local, pre, pro
# IMPORTANT:
# - Override the MNEMONIC variable in a uncommited file 'local.conf'
# Use 'local.conf.example' as an example
#
# - Alternative, if there's no 'local.conf', you can also provide MNEMONIC as
# a environment variable. i.e
# MNEMONIC="any other mnemonic" cli -h
#
# - The DOCKER_PARAMS_LOCAL can be optionally overrided in local.conf to allow
# to add any arbritraty info
MNEMONIC_DEFAULT="super secret thing that nobody should know"
MNEMONIC="${MNEMONIC:-$DEFAULT_MNEMONIC}"
DOCKER_PARAMS_LOCAL=""
# IMPORTANT:
# - This config changes by network, so review it's value in:
# - network-kovan.conf
# - network-rinkeby.conf
# - network-mainnet.conf
# - The following variables will be just the default, and will be overrided by
# the network config files decribed iin the previous point
#
# Get LOCAL conf and NETWORK conf
LOCAL_CONF="conf/local.conf"
NETWORK_CONF="conf/network-$NETWORK.conf"
[ -f "$LOCAL_CONF" ] && source "$LOCAL_CONF" || echo "WARN: $LOCAL_CONF file wasn't found. Using default config"
[ -f "$NETWORK_CONF" ] && source "$NETWORK_CONF" || echo "WARN: $NETWORK_CONF file wasn't found. Using default config"
# Docker image used:
# https://hub.docker.com/r/gnosispm/dx-services/tags/
DOCKER_IMAGE="gnosispm/dx-services:$DX_SERVICE_VERSION"
echo
echo " ********* DutchX ($DX_SERVICE_VERSION) - $APP_NAME *********"
echo " Operation: $CLI_PARAMS"
echo " Markets: $MARKETS"
echo " Ethereum Node: $ETHEREUM_RPC_URL"
echo ""
echo " Using:"
echo " Local config: $LOCAL_CONF"
echo " Network config: $NETWORK_CONF"
[ ! -z "$BOTS_CONFIG_INFO" ] && echo " $BOTS_CONFIG_INFO"
echo ""
echo " Learn how to configure and use the CLI:"
echo " https://github.com/gnosis/dx-cli#get-started-with-the-cli"
echo ""
echo " DutchX documentation:"
echo " https://dutchx.readthedocs.io/en/latest"
echo " *********************************"
echo
echo "[cli] Getting docker image: $DOCKER_IMAGE..."
docker pull $DOCKER_IMAGE
echo
docker run \
-p 8081:8081 \
-e DEBUG=$DEBUG_MESSAGES \
-e DEBUG_COLORS=$SHOW_COLORS \
-e MNEMONIC="$MNEMONIC" \
-e NETWORK="$NETWORK" \
-e ETHEREUM_RPC_URL=$ETHEREUM_RPC_URL \
-e NODE_ENV=$ENVIRONMENT \
-e MARKETS=$MARKETS \
$DOCKER_PARAMS_LOCAL \
$DOCKER_PARAMS_BOTS \
$DOCKER_PARAMS_NETWORK \
$DOCKER_IMAGE \
$APP_COMMAND