diff --git a/generator/scripts/bee-docker-build.sh b/generator/scripts/bee-docker-build.sh index 8e6112e..c88640b 100755 --- a/generator/scripts/bee-docker-build.sh +++ b/generator/scripts/bee-docker-build.sh @@ -38,6 +38,7 @@ BEE_VERSION=$("$MY_PATH/utils/env-variable-value.sh" BEE_VERSION) BEE_IMAGE_PREFIX=$("$MY_PATH/utils/env-variable-value.sh" BEE_IMAGE_PREFIX) STATE_COMMIT=$("$MY_PATH/utils/env-variable-value.sh" STATE_COMMIT) OFFICIAL_BEE_IMAGE="ethersphere/bee:$BEE_VERSION" +CONTRACT_ADDRESSES="$1" # Make sure we the user has permission all the files echo "Build Bee Docker images..." @@ -67,11 +68,18 @@ fi ### BEE_VERSION ALERNATIONS END +CONTRACT_ADDRESSES_LABELS="" +IFS=';' array=($CONTRACT_ADDRESSES) +for element in "${array[@]}"; +do + CONTRACT_ADDRESSES_LABELS+=" --label org.ethswarm.beefactory.contracts.${element}" +done + echo "Build Dockerfiles" for BEE_DIR in $BEE_DIRS do echo "Build Bee version $BEE_VERSION on $BEE_DIR" - dockerbuild "$BEE_DIR" "$MY_PATH/bee-data-dirs/Dockerfile" "$BEE_VERSION" "$BEE_IMAGE_PREFIX" "$1" + dockerbuild "$BEE_DIR" "$MY_PATH/bee-data-dirs/Dockerfile" "$BEE_VERSION" "$BEE_IMAGE_PREFIX" "$CONTRACT_ADDRESSES_LABELS" done echo "Docker image builds were successful!" diff --git a/generator/scripts/bee.sh b/generator/scripts/bee.sh index b8cdcb8..0d3687c 100755 --- a/generator/scripts/bee.sh +++ b/generator/scripts/bee.sh @@ -127,11 +127,9 @@ BEE_PASSWORD="password" QUEEN_BOOTNODE="" PORT_MAPS=2 SWAP=true -SWAP_FACTORY_ADDRESS="0x5b1869D9A4C187F2EAa108f3062412ecf0526b24" -POSTAGE_STAMP_ADDRESS="0xCfEB869F69431e42cdB54A4F4f105C19C080A601" -PRICE_ORACLE_ADDRESS="0x254dffcd3277C0b1660F6d42EFbB754edaBAbC2B" INIT_ROOT_DATA_DIR="$MY_PATH/bee-data-dirs" HOSTNAME="127.0.0.1" +CONTRACT_ADDRESSES="" # Decide script action case "$1" in @@ -177,6 +175,10 @@ do PORT_MAPS="${1#*=}" shift 1 ;; + --contract-addrs=*) + CONTRACT_ADDRESSES="${1#*=}" + shift 1 + ;; --own-image) OWN_IMAGE=true shift 1 @@ -201,6 +203,13 @@ if $EPHEMERAL ; then EXTRA_DOCKER_PARAMS="--rm" fi +CONTRACT_ADDRESSES_ARGS="" +IFS=';' array=($CONTRACT_ADDRESSES) +for element in "${array[@]}"; +do + CONTRACT_ADDRESSES_ARGS+=" --${element}" +done + # Start Bee Queen if [ -z "$QUEEN_CONTAINER_IN_DOCKER" ] || $EPHEMERAL ; then DOCKER_IMAGE="$BEE_IMAGE" @@ -236,13 +245,11 @@ if [ -z "$QUEEN_CONTAINER_IN_DOCKER" ] || $EPHEMERAL ; then --block-time=1 \ --swap-enable=$SWAP \ --swap-endpoint="http://$SWARM_BLOCKCHAIN_NAME:9545" \ - --swap-factory-address=$SWAP_FACTORY_ADDRESS \ - --postage-stamp-address=$POSTAGE_STAMP_ADDRESS \ - --price-oracle-address=$PRICE_ORACLE_ADDRESS \ --network-id 4020 \ --full-node=true \ --welcome-message="You have found the queen of the beehive..." \ - --cors-allowed-origins="*" + --cors-allowed-origins="*" \ + $CONTRACT_ADDRESSES_ARGS else docker start "$QUEEN_CONTAINER_IN_DOCKER" fi @@ -288,13 +295,11 @@ for i in $(seq 1 1 "$WORKERS"); do --block-time=1 \ --swap-enable=$SWAP \ --swap-endpoint="http://$SWARM_BLOCKCHAIN_NAME:9545" \ - --swap-factory-address=$SWAP_FACTORY_ADDRESS \ - --postage-stamp-address=$POSTAGE_STAMP_ADDRESS \ - --price-oracle-address=$PRICE_ORACLE_ADDRESS \ --network-id 4020 \ --full-node=true \ --welcome-message="I'm just Bee worker ${i} in the beehive." \ - --cors-allowed-origins="*" + --cors-allowed-origins="*" \ + $CONTRACT_ADDRESSES_ARGS else docker start "$WORKER_CONTAINER_IN_DOCKER" fi diff --git a/generator/scripts/build-environment.sh b/generator/scripts/build-environment.sh index 43d7321..4274520 100755 --- a/generator/scripts/build-environment.sh +++ b/generator/scripts/build-environment.sh @@ -44,14 +44,14 @@ build_bee() { "$MY_PATH/utils/build-image-tag.sh" set "$BEE_VERSION" } -deploy_contracts_and_return_labels() { - LABELS="" +deploy_contracts_and_return_addresses() { + CONTRACT_ADDRESSES="" while IFS=$'\n' read -r contract; do - LABELS+=" --label org.ethswarm.beefactory.contracts.$(echo $contract | cut -d ":" -f 4)=$(echo $contract | cut -d ":" -f 5)" + CONTRACT_ADDRESSES+="$(echo $contract | cut -d ":" -f 4)=$(echo $contract | cut -d ":" -f 5);" done < <(npm run migrate:contracts | grep ^::CONTRACT) - echo "$LABELS" + echo "$CONTRACT_ADDRESSES" } MY_PATH=$(dirname "$0") @@ -116,7 +116,7 @@ if $BUILD_BASE_BEE ; then fi "$MY_PATH/network.sh" "$MY_PATH/blockchain.sh" -DOCKER_CONTRACT_LABELS=$(deploy_contracts_and_return_labels) +CONTRACT_ADDRESSES=$(deploy_contracts_and_return_addresses) npm run supply chmod -R 777 "$MY_PATH/bee-data-dirs/" @@ -125,7 +125,7 @@ if $GEN_TRAFFIC ; then echo "Bee image with special state will be commited... traffic generation is on." # give the permission to the bee user echo "Start Bee nodes so that traffic can be generated and commited to the images" - "$MY_PATH/bee.sh" start --version="$BEE_VERSION" --workers=$SUPPORTED_WORKER_N --detach + "$MY_PATH/bee.sh" start --version="$BEE_VERSION" --workers=$SUPPORTED_WORKER_N --contract-addrs=$CONTRACT_ADDRESSES --detach echo "Generating traffic on Bee node $GEN_TRAFFIC_UPLOAD_NODE" echo "Run traffic generation until $CHEQUES_COUNT incoming cheques will arrive to node under Debug API $GEN_TRAFFIC_CHECKER_NODE_DEBUG" npm run gen:traffic -- "$CHEQUES_COUNT" "$GEN_TRAFFIC_CHECKER_NODE_DEBUG;$GEN_TRAFFIC_UPLOAD_NODE;$GEN_TRAFFIC_UPLOAD_NODE_DEBUG" @@ -148,5 +148,5 @@ if $GEN_TRAFFIC ; then export BLOCKCHAIN_VERSION+="-for-$BEE_VERSION" fi -"$MY_PATH/bee-docker-build.sh" "$DOCKER_CONTRACT_LABELS" +"$MY_PATH/bee-docker-build.sh" "$CONTRACT_ADDRESSES" "$MY_PATH/blockchain-docker-build.sh"