diff --git a/DOCKER/Dockerfile b/DOCKER/Dockerfile index c9bae4ce0f209229e56945411e6c53fe1ebc0671..139fccb1131c90f5e19e79b18788f7aeffd7b936 100644 --- a/DOCKER/Dockerfile +++ b/DOCKER/Dockerfile @@ -34,9 +34,11 @@ WORKDIR $REPO RUN go build -o /usr/local/bin/erisdb ./cmd/erisdb && \ go build -o /usr/local/bin/erisdbss ./cmd/erisdbss -# install chain manager scripts -COPY ./DOCKER/chain_* /usr/local/bin/ -ENV ECM_PATH /usr/local/bin +# install chain manager scripts and default mint config +ENV ECM_PATH /usr/local/lib/ecm/ +RUN mkdir -p $ECM_PATH +COPY ./DOCKER/chain_* $ECM_PATH +COPY ./DOCKER/config.toml $ECM_PATH # set the repo and install mint-client ENV REPO github.com/eris-ltd/mint-client @@ -62,4 +64,5 @@ RUN mkdir --parents /home/$USER/.eris/blockchains/tendermint ENV TMROOT /home/$USER/.eris/blockchains/tendermint # run tendermint -ENTRYPOINT ["erisdb-wrapper"] +# really should be entrypoint but broken in API 1.19 +CMD ["erisdb-wrapper"] diff --git a/DOCKER/chain_install.sh b/DOCKER/chain_install.sh index cd0878a7affa7052c7a09ed797d497e37fa9dc2c..d3048ccb97ec865f1feadcb24d4eec206c04b92e 100755 --- a/DOCKER/chain_install.sh +++ b/DOCKER/chain_install.sh @@ -1,4 +1,4 @@ -#! /bin/sh +#! /bin/bash #----------------------------------------------------------------------- # get genesis, seed, copy config @@ -8,9 +8,11 @@ REFS_CHAIN_ID=$(mintinfo --node-addr $NODE_ADDR genesis chain_id) ifExit "Error fetching default chain id from $NODE_ADDR" REFS_CHAIN_ID=$(echo "$REFS_CHAIN_ID" | tr -d '"') # remove surrounding quotes +echo "etcb chain: $REFS_CHAIN_ID" + # get the genesis.json for a refs chain from the /genesis rpc endpoint # for a different chain, use etcb (ie namereg on the ref chain) -if [ "$CHAIN_ID" = "$REF_CHAIN_ID" ] ; then +if [ "$CHAIN_ID" = "$REFS_CHAIN_ID" ] ; then # grab genesis.json and config mintinfo --node-addr $NODE_ADDR genesis > "${CHAIN_DIR}/genesis.json" ifExit "Error fetching genesis.json from $NODE_ADDR" diff --git a/DOCKER/chain_new.sh b/DOCKER/chain_new.sh index 6babaf974a07bad1b27d72b446b8abcac46dfe8f..3efb66ea86bd712c7efe7771be92456121b323c7 100755 --- a/DOCKER/chain_new.sh +++ b/DOCKER/chain_new.sh @@ -1,14 +1,17 @@ -#! /bin/sh +#! /bin/bash echo "new chain: $CHAIN_ID" if [ "$GENERATE_GENESIS" = "true" ]; then mintgen --single $CHAIN_DIR + ifExit "Error creating genesis file" fi if [ "$RUN" = "true" ]; then tendermint node + ifExit "Error starting tendermint" else # this will just run for a second and quit tendermint node & last_pid=$! && sleep 1 && kill -KILL $last_pid + ifExit "Error starting tendermint" fi diff --git a/DOCKER/chain_run.sh b/DOCKER/chain_run.sh index 64fa3111cf1cd7a5afea399e4d6fcc19702cda1d..7734f65e6478117aa72d9bc91137a90fff9be196 100755 --- a/DOCKER/chain_run.sh +++ b/DOCKER/chain_run.sh @@ -1,19 +1,4 @@ -#! /bin/sh - -# if no CHAIN_ID, get that off the main test net -if [[ ! $CHAIN_ID ]]; then - # get the chain id - CHAIN_ID=$(mintinfo --node-addr $NODE_ADDR genesis chain_id) - ifExit "Error fetching default chain id from $NODE_ADDR" - CHAIN_ID=$(echo "$CHAIN_ID" | tr -d '"') # remove surrounding quotes -fi - -CHAIN_DIR="${ROOT_DIR}/$CHAIN_ID" - -if [[ ! -d $CHAIN_DIR ]]; then - echo "Unknown chain ($CHAIN_ID)" - exit 1 -fi +#! /bin/bash echo Running chain $CHAIN_ID tendermint node diff --git a/DOCKER/start.sh b/DOCKER/start.sh index 0a3ffb5f5138130cb0542306cfd74030f1d27f12..f3dddd7adf59f458cd6c0e1bddb5e3c6b1647644 100755 --- a/DOCKER/start.sh +++ b/DOCKER/start.sh @@ -1,4 +1,4 @@ -#! /bin/sh +#! /bin/bash ifExit(){ if [ $? -ne 0 ]; then @@ -7,15 +7,15 @@ ifExit(){ fi } +export -f ifExit + #------------------------------------------------ # set and export directories -############################################# -# We expect the following env vars to be set -# $CHAIN_ID -# -# one day we'll make it more flexible -# for now the only consumer is eris-cli +if [ "$CHAIN_ID" = "" ]; then + echo "ecm requires CHAIN_ID be set" + exit 1 +fi # TODO: deal with chain numbers