#!/usr/bin/env bash session="lotus-interop" wdaemon="daemon" wminer="miner" wsetup="setup" wpledging="pledging" wcli="cli" wshell="cli" faucet="http://t01000.miner.interopnet.kittyhawk.wtf" PLEDGE_COUNT="${1:-20}" if [ -z "$BRANCH" ]; then BRANCH="interopnet" fi if [ -z "$BUILD" ]; then BUILD="no" fi if [ -z "$DEVNET" ]; then DEVNET="yes" fi BASEDIR=$(mktemp -d -t "lotus-interopnet.XXXX") if [ "$BUILD" == "yes" ]; then git clone --branch "$BRANCH" https://github.com/filecoin-project/lotus.git "${BASEDIR}/build" fi mkdir -p "${BASEDIR}/scripts" mkdir -p "${BASEDIR}/bin" cat > "${BASEDIR}/scripts/build.bash" </dev/null 2>&1 && pwd )" pushd \$SCRIPTDIR/../build pwd env RUSTFLAGS="-C target-cpu=native -g" FFI_BUILD_FROM_SOURCE=1 make clean deps lotus lotus-miner lotus-shed cp lotus lotus-miner lotus-shed ../bin/ popd EOF cat > "${BASEDIR}/scripts/env.fish" < "${BASEDIR}/scripts/env.bash" < "${BASEDIR}/scripts/create_miner.bash" < "${BASEDIR}/scripts/pledge_sectors.bash" < ${PLEDGE_COUNT} )); then break fi while true; do state=\$(lotus-miner sectors list | tail -n1 | awk '{print \$2}') if [ -z "\$state" ]; then break fi case \$state in PreCommit1 | PreCommit2 | Packing | Unsealed | PreCommitting | Committing | CommitWait | FinalizeSector ) sleep 30 ;; WaitSeed | Proving ) break ;; * ) echo "Unknown Sector State: \$state" lotus-miner sectors status --log \$current break ;; esac done lotus-miner sectors pledge while [ "\$current" == "\$sector" ]; do sector=\$(lotus-miner sectors list | tail -n1 | awk '{print \$1}' | tr -d ':') sleep 5 done current="\$sector" done EOF cat > "${BASEDIR}/scripts/monitor.bash" <&1 | tee -a ${BASEDIR}/daemon.log" C-m export LOTUS_PATH="${BASEDIR}/.lotus" ${BASEDIR}/bin/lotus wait-api tmux send-keys -t $session:$wminer "${BASEDIR}/scripts/create_miner.bash" C-m tmux send-keys -t $session:$wminer "lotus-miner run --miner-api 48020 --nosync 2>&1 | tee -a ${BASEDIR}/miner.log" C-m tmux send-keys -t $session:$wcli "${BASEDIR}/scripts/monitor.bash" C-m tmux send-keys -t $session:$wpleding "${BASEDIR}/scripts/pledge_sectors.bash" C-m tmux select-window -t $session:$wcli tmux attach-session -t $session