github.com/MetalBlockchain/subnet-evm@v0.4.9/scripts/install_metalgo_release.sh (about)

     1  #!/usr/bin/env bash
     2  set -e
     3  
     4  # Load the versions
     5  SUBNET_EVM_PATH=$(
     6    cd "$(dirname "${BASH_SOURCE[0]}")"
     7    cd .. && pwd
     8  )
     9  source "$SUBNET_EVM_PATH"/scripts/versions.sh
    10  
    11  # Load the constants
    12  source "$SUBNET_EVM_PATH"/scripts/constants.sh
    13  
    14  VERSION=$METALGO_VERSION
    15  
    16  ############################
    17  # download metalgo
    18  # https://github.com/MetalBlockchain/metalgo/releases
    19  GOARCH=$(go env GOARCH)
    20  GOOS=$(go env GOOS)
    21  BASEDIR=${BASE_DIR:-"/tmp/metalgo-release"}
    22  mkdir -p ${BASEDIR}
    23  AVAGO_DOWNLOAD_URL=https://github.com/MetalBlockchain/metalgo/releases/download/${VERSION}/metalgo-linux-${GOARCH}-${VERSION}.tar.gz
    24  AVAGO_DOWNLOAD_PATH=${BASEDIR}/metalgo-linux-${GOARCH}-${VERSION}.tar.gz
    25  if [[ ${GOOS} == "darwin" ]]; then
    26    AVAGO_DOWNLOAD_URL=https://github.com/MetalBlockchain/metalgo/releases/download/${VERSION}/metalgo-macos-${VERSION}.zip
    27    AVAGO_DOWNLOAD_PATH=${BASEDIR}/metalgo-macos-${VERSION}.zip
    28  fi
    29  
    30  METALGO_BUILD_PATH=${METALGO_BUILD_PATH:-${BASEDIR}/metalgo-${VERSION}}
    31  mkdir -p $METALGO_BUILD_PATH
    32  
    33  if [[ ! -f ${AVAGO_DOWNLOAD_PATH} ]]; then
    34    echo "downloading metalgo ${VERSION} at ${AVAGO_DOWNLOAD_URL} to ${AVAGO_DOWNLOAD_PATH}"
    35    curl -L ${AVAGO_DOWNLOAD_URL} -o ${AVAGO_DOWNLOAD_PATH}
    36  fi
    37  echo "extracting downloaded metalgo to ${METALGO_BUILD_PATH}"
    38  if [[ ${GOOS} == "linux" ]]; then
    39    mkdir -p ${METALGO_BUILD_PATH} && tar xzvf ${AVAGO_DOWNLOAD_PATH} --directory ${METALGO_BUILD_PATH} --strip-components 1
    40  elif [[ ${GOOS} == "darwin" ]]; then
    41    unzip ${AVAGO_DOWNLOAD_PATH} -d ${METALGO_BUILD_PATH}
    42    mv ${METALGO_BUILD_PATH}/build/* ${METALGO_BUILD_PATH}
    43    rm -rf ${METALGO_BUILD_PATH}/build/
    44  fi
    45  
    46  METALGO_PATH=${METALGO_BUILD_PATH}/metalgo
    47  METALGO_PLUGIN_DIR=${METALGO_BUILD_PATH}/plugins
    48  
    49  echo "Installed MetalGo release ${VERSION}"
    50  echo "MetalGo Path: ${METALGO_PATH}"
    51  echo "Plugin Dir: ${METALGO_PLUGIN_DIR}"