@@ -8,6 +8,7 @@ ARG PG_PORT=5432
88ARG PG_USER=postgres
99ARG PG_PASSWORD=postgres
1010ARG SEED_CHAINSTATE=false
11+ ARG ARCHIVE_VERSION=latest
1112
1213# ######################################################################
1314# # Build the stacks-blockchain-api
@@ -51,15 +52,15 @@ RUN apt-get update -y \
5152# # Build the final image with all components from build stages
5253FROM debian:buster
5354ARG STACKS_NETWORK
54- ARG PG_VERSION
55- ARG PG_VERSION
5655ARG PG_HOST
5756ARG PG_PORT
5857ARG PG_USER
5958ARG PG_PASSWORD
59+ ARG PG_VERSION
6060ARG SEED_CHAINSTATE
6161ARG STACKS_API_VERSION
6262ARG STACKS_BLOCKCHAIN_VERSION
63+ ARG ARCHIVE_VERSION
6364ENV SEED_CHAINSTATE=${SEED_CHAINSTATE}
6465ENV STACKS_API_VERSION=${STACKS_API_VERSION}
6566ENV STACKS_BLOCKCHAIN_VERSION=${STACKS_BLOCKCHAIN_VERSION}
@@ -82,6 +83,7 @@ ENV STACKS_BLOCKCHAIN_API_HOST=0.0.0.0
8283ENV STACKS_CORE_RPC_HOST=127.0.0.1
8384ENV STACKS_CORE_RPC_PORT=20443
8485ENV STACKS_CORE_P2P_PORT=20444
86+ ENV ARCHIVE_VERSION=${ARCHIVE_VERSION}
8587ENV LANG en_US.UTF-8
8688ENV LANGUAGE en_US:en
8789ENV LC_ALL en_US.UTF-8
@@ -130,10 +132,8 @@ mkdir -p "${PGDATA}" || exit 1
130132chown -R postgres:postgres "${PGDATA}" || exit 1
131133gosu postgres /usr/lib/postgresql/${PG_VERSION}/bin/initdb -D "${PGDATA}" --wal-segsize=512 || exit 1
132134echo "host all all all trust" >> "$PGDATA/pg_hba.conf" || exit 1
133- gosu postgres /usr/lib/postgresql/${PG_VERSION}/bin/pg_ctl start -W -D ${PGDATA} -o "-c listen_addresses='*'"
134- # give postgres 10s to startup
135- echo "waiting 10s for postgres to start"
136- sleep 10
135+ gosu postgres /usr/lib/postgresql/${PG_VERSION}/bin/pg_ctl start -w -D ${PGDATA} -o "-c listen_addresses='*'" || exit 1
136+
137137# download archive files if flag is true
138138if [ "${SEED_CHAINSTATE}" = "true" ]; then
139139 /scripts/seed-chainstate.sh || exit 1
146146case "${STACKS_NETWORK}" in
147147 testnet)
148148 export STACKS_CHAIN_ID=0x80000000
149- export V2_POX_MIN_AMOUNT_USTX=90000000260
150149 ;;
151150 *)
152151 export STACKS_CHAIN_ID=0x00000001
@@ -208,16 +207,16 @@ echo "Seeding chainstate from https://archive.hiro.so"
208207LOCAL_STACKS_API_VERSION=$(echo "${STACKS_API_VERSION:1}" )
209208
210209# define URL's to download
211- PGDUMP_URL="https://archive.hiro.so/${STACKS_NETWORK}/stacks-blockchain-api-pg/stacks-blockchain-api-pg-${PG_VERSION}-${LOCAL_STACKS_API_VERSION}-latest .dump"
212- PGDUMP_URL_SHA256="https://archive.hiro.so/${STACKS_NETWORK}/stacks-blockchain-api-pg/stacks-blockchain-api-pg-${PG_VERSION}-${LOCAL_STACKS_API_VERSION}-latest .sha256"
213- CHAINDATA_URL="https://archive.hiro.so/${STACKS_NETWORK}/stacks-blockchain/${STACKS_NETWORK}-stacks-blockchain-${STACKS_BLOCKCHAIN_VERSION}-latest .tar.gz"
214- CHAINDATA_URL_SHA256="https://archive.hiro.so/${STACKS_NETWORK}/stacks-blockchain/${STACKS_NETWORK}-stacks-blockchain-${STACKS_BLOCKCHAIN_VERSION}-latest .sha256"
210+ PGDUMP_URL="https://archive.hiro.so/${STACKS_NETWORK}/stacks-blockchain-api-pg/stacks-blockchain-api-pg-${PG_VERSION}-${LOCAL_STACKS_API_VERSION}-${ARCHIVE_VERSION} .dump"
211+ PGDUMP_URL_SHA256="https://archive.hiro.so/${STACKS_NETWORK}/stacks-blockchain-api-pg/stacks-blockchain-api-pg-${PG_VERSION}-${LOCAL_STACKS_API_VERSION}-${ARCHIVE_VERSION} .sha256"
212+ CHAINDATA_URL="https://archive.hiro.so/${STACKS_NETWORK}/stacks-blockchain/${STACKS_NETWORK}-stacks-blockchain-${STACKS_BLOCKCHAIN_VERSION}-${ARCHIVE_VERSION} .tar.gz"
213+ CHAINDATA_URL_SHA256="https://archive.hiro.so/${STACKS_NETWORK}/stacks-blockchain/${STACKS_NETWORK}-stacks-blockchain-${STACKS_BLOCKCHAIN_VERSION}-${ARCHIVE_VERSION} .sha256"
215214
216215# define local storage locations
217- PGDUMP_DEST="/tmp/stacks-blockchain-api-pg-${PG_VERSION}-${LOCAL_STACKS_API_VERSION}-latest .dump"
218- PGDUMP_DEST_SHA256="/tmp/stacks-blockchain-api-pg-${PG_VERSION}-${LOCAL_STACKS_API_VERSION}-latest .sha256"
219- CHAINDATA_DEST="/tmp/${STACKS_NETWORK}-stacks-blockchain-${STACKS_BLOCKCHAIN_VERSION}-latest .tar.gz"
220- CHAINDATA_DEST_SHA256="/tmp/${STACKS_NETWORK}-stacks-blockchain-${STACKS_BLOCKCHAIN_VERSION}-latest .sha256"
216+ PGDUMP_DEST="/tmp/stacks-blockchain-api-pg-${PG_VERSION}-${LOCAL_STACKS_API_VERSION}-${ARCHIVE_VERSION} .dump"
217+ PGDUMP_DEST_SHA256="/tmp/stacks-blockchain-api-pg-${PG_VERSION}-${LOCAL_STACKS_API_VERSION}-${ARCHIVE_VERSION} .sha256"
218+ CHAINDATA_DEST="/tmp/${STACKS_NETWORK}-stacks-blockchain-${STACKS_BLOCKCHAIN_VERSION}-${ARCHIVE_VERSION} .tar.gz"
219+ CHAINDATA_DEST_SHA256="/tmp/${STACKS_NETWORK}-stacks-blockchain-${STACKS_BLOCKCHAIN_VERSION}-${ARCHIVE_VERSION} .sha256"
221220
222221exit_error() {
223222 echo "${1}"
0 commit comments