#!/bin/bash set -e # WARNING: Build and package the hacker-challenge first, see README.md # TODO: check if scripts/challenge.tar.gz exists, if not tell to build first script_dir=$(dirname "$0") cd "${script_dir}/.." rm -rf build && mkdir build cp scripts/challenge.* build/ && cd build docker build -f challenge.Dockerfile -t hacker-challenge:latest . docker ps -a | grep 'hacker-challenge' | awk '{ print $NF }' | xargs docker rm -f || true docker run --device /dev/sgx/enclave --device /dev/sgx/provision -d --name "hacker-challenge_0" \ hacker-challenge:latest cd "../${script_dir}/../../mint_sol" # TODO: build the mint_sol as part of the build process cargo build --release sleep 3 address=$(docker logs hacker-challenge_0 | grep 'SOL' | awk '{ print $NF }') echo "sending SOL to wallet" ./target/release/mint_sol $address while true; do echo "Waiting for mint to be created..." sleep 5 docker logs hacker-challenge_0 | grep "Mint created" && break done # for i in {1..10} for i in {11..20} do docker run --device /dev/sgx/enclave --device /dev/sgx/provision -d --name "hacker-challenge_$i" -p 313${i}:31372 \ --env INIT_NODES="172.17.0.2 172.17.0.3 172.17.0.4" \ hacker-challenge:latest done sleep 3 for i in {11..20} do curl -X POST 127.0.0.1:313${i}/mint --json '{"wallet": "EZT16iP1SQVUFf1AJN6oiE5BZPnyBUqaKDkZ4oZRsvhR"}' done