decred.org/dcrdex@v1.0.5/dex/testing/btc/electrumx.sh (about)

     1  #!/usr/bin/env bash
     2  
     3  # Devs should install gencerts
     4  # go install github.com/decred/dcrd/cmd/gencerts@release-v1.7
     5  
     6  # ./electrumx.sh (Bitcoin/Litecoin) (20556/20566) (54002/55002)
     7  
     8  set -ex
     9  
    10  export COIN="${1:-Bitcoin}"
    11  
    12  case $COIN in
    13    Bitcoin)
    14      SYMBOL=btc
    15      ;;
    16  
    17    Litecoin)
    18      SYMBOL=ltc
    19      ;;
    20  
    21    *)
    22      echo -n "unknown coin"
    23      ;;
    24  esac
    25  
    26  
    27  ELECTRUMX_DIR=~/dextest/electrum/${SYMBOL}/server
    28  REPO_DIR=${ELECTRUMX_DIR}/electrumx-repo
    29  DATA_DIR=${ELECTRUMX_DIR}/data
    30  rm -rf ${DATA_DIR}
    31  mkdir -p ${REPO_DIR} ${DATA_DIR}
    32  
    33  cd ${REPO_DIR}
    34  
    35  if [ ! -d "${REPO_DIR}/.git" ]; then
    36      git init
    37      git remote add origin https://github.com/spesmilo/electrumx.git
    38  fi
    39  
    40  git fetch --depth 1 origin 914938264e5621ea8980be6d3e69964e7f219d16
    41  git reset --hard FETCH_HEAD
    42  
    43  if [ ! -d "${ELECTRUMX_DIR}/venv" ]; then
    44      python -m venv ${ELECTRUMX_DIR}/venv
    45  fi
    46  source ${ELECTRUMX_DIR}/venv/bin/activate
    47  python -m ensurepip --upgrade
    48  pip install .
    49  
    50  gencerts -L ${DATA_DIR}/ssl.cert ${DATA_DIR}/ssl.key
    51  
    52  set +x
    53  
    54  # Server Config
    55  export NET="regtest"
    56  export DB_ENGINE="leveldb"
    57  export DB_DIRECTORY="${DATA_DIR}"
    58  export DAEMON_URL="http://user:pass@127.0.0.1:${2:-20556}"
    59  export SERVICES="ssl://localhost:${3:-54002},rpc://"
    60  export SSL_CERTFILE="${DATA_DIR}/ssl.cert"
    61  export SSL_KEYFILE="${DATA_DIR}/ssl.key"
    62  export PEER_DISCOVERY="off"
    63  export PEER_ANNOUNCE= 
    64  ./electrumx_server