mirror of
https://github.com/hyperledger/fabric-samples.git
synced 2026-06-17 07:25:10 +00:00
The external builders will build and launch binary chaincode instead of docker containers. Signed-off-by: Chris Elder <celder628@gmail.com>
51 lines
1.8 KiB
Bash
Executable file
51 lines
1.8 KiB
Bash
Executable file
#!/usr/bin/env bash
|
|
#
|
|
# SPDX-License-Identifier: Apache-2.0
|
|
#
|
|
set -xeuo pipefail
|
|
exec 1>&2
|
|
|
|
BUILD_OUTPUT_DIR="$1"
|
|
RUN_METADATA_DIR="$2"
|
|
|
|
cd "${BUILD_OUTPUT_DIR}"
|
|
ls -lart
|
|
|
|
# extract the id, mspid, and peer address
|
|
CORE_CHAINCODE_ID_NAME="$(jq -r .chaincode_id "${RUN_METADATA_DIR}/chaincode.json")"
|
|
CORE_PEER_LOCALMSPID="$(jq -r .mspid "${RUN_METADATA_DIR}/chaincode.json")"
|
|
CORE_PEER_ADDRESS="$(jq -r .peer_address "${RUN_METADATA_DIR}/chaincode.json")"
|
|
export CORE_CHAINCODE_ID_NAME CORE_PEER_LOCALMSPID CORE_PEER_ADDRESS
|
|
|
|
# process the TLS options if needed
|
|
if [ -z "$(jq -r .client_cert "$RUN_METADATA_DIR/chaincode.json")" ]; then
|
|
CORE_PEER_TLS_ENABLED="false"
|
|
export CORE_PEER_TLS_ENABLED
|
|
else
|
|
|
|
export CORE_PEER_TLS_ENABLED="true"
|
|
export CORE_TLS_CLIENT_CERT_FILE="$BUILD_OUTPUT_DIR/client-pem.crt"
|
|
export CORE_TLS_CLIENT_KEY_FILE="$BUILD_OUTPUT_DIR/client-pem.key"
|
|
export CORE_TLS_CLIENT_CERT_PATH="$BUILD_OUTPUT_DIR/client.crt"
|
|
export CORE_TLS_CLIENT_KEY_PATH="$BUILD_OUTPUT_DIR/client.key"
|
|
|
|
export CORE_PEER_TLS_ROOTCERT_FILE="$BUILD_OUTPUT_DIR/root.crt"
|
|
|
|
jq -r .client_cert "$RUN_METADATA_DIR/chaincode.json" > "$CORE_TLS_CLIENT_CERT_FILE"
|
|
jq -r .client_key "$RUN_METADATA_DIR/chaincode.json" > "$CORE_TLS_CLIENT_KEY_FILE"
|
|
jq -r .root_cert "$RUN_METADATA_DIR/chaincode.json" > "$CORE_PEER_TLS_ROOTCERT_FILE"
|
|
|
|
base64 -i "${CORE_TLS_CLIENT_CERT_FILE}" > "${CORE_TLS_CLIENT_CERT_PATH}"
|
|
base64 -i "${CORE_TLS_CLIENT_KEY_FILE}" > "${CORE_TLS_CLIENT_KEY_PATH}"
|
|
|
|
#base64 -w 0 "${CORE_TLS_CLIENT_CERT_FILE}" > "${CORE_TLS_CLIENT_CERT_PATH}"
|
|
#base64 -w 0 "${CORE_TLS_CLIENT_KEY_FILE}" > "${CORE_TLS_CLIENT_KEY_PATH}"
|
|
|
|
ls -lart "$BUILD_OUTPUT_DIR"
|
|
fi
|
|
|
|
# output for debug purposes
|
|
env | grep CORE | sort
|
|
|
|
# run the chaincode
|
|
exec npm start -- --peer.address="${CORE_PEER_ADDRESS}"
|