fabric-samples/token-sdk/scripts/up.sh
Aadithyan Raju b82a309d91
NixOS support (Multi-Linux Distro Support) (#1310)
Signed-off-by: AadithyanRaju <aadithyan75@gmail.com>
Signed-off-by: Aadithyan Raju <93834376+AadithyanRaju@users.noreply.github.com>
2025-03-24 19:15:58 +00:00

48 lines
1.9 KiB
Bash
Executable file

#!/usr/bin/env bash
#
# This script generates crypto, starts Fabric, deploys the chaincode and starts the token nodes.
set -Eeuo pipefail
# Checks
ls scripts/up.sh || { echo "run this script from the root directory: ./scripts/up.sh"; exit 1; }
docker-compose version
git --version
go version
tokengen version || { echo "install tokengen (see readme)"; exit 1; }
[ ! -f data/auditor/kvs ] || { echo "delete existing crypto before running ./scripts/up.sh:
# ./scripts/down.sh"; exit 1; }
TEST_NETWORK_HOME="${TEST_NETWORK_HOME:-$(pwd)/../test-network}"
ls "$TEST_NETWORK_HOME/network.sh" 1> /dev/null || { echo "Set the TEST_NETWORK_HOME environment variable to the directory of your fabric-samples/test-network; e.g.:
export TEST_NETWORK_HOME=\"$TEST_NETWORK_HOME\"
"; exit 1; }
# Generate identities for the nodes, issuer, auditor and owner
mkdir -p keys/ca
docker-compose -f compose-ca.yaml up -d
while ! fabric-ca-client getcainfo -u localhost:27054 2>/dev/null; do echo "waiting for CA to start..." && sleep 1; done
./scripts/enroll-users.sh
# generate the parameters needed for the tokenchaincode
tokengen gen dlog --base 300 --exponent 5 --issuers keys/issuer/iss/msp --idemix keys/owner1/wallet/alice --auditors keys/auditor/aud/msp --output tokenchaincode
# Start Fabric network
bash "$TEST_NETWORK_HOME/network.sh" up createChannel
# copy the keys and certs of the peers, orderer and the client user
mkdir -p keys/fabric
cp -r "$TEST_NETWORK_HOME/organizations" keys/fabric/
# Install and start tokenchaincode as a service
INIT_REQUIRED="--init-required" "$TEST_NETWORK_HOME/network.sh" deployCCAAS -ccn tokenchaincode -ccp "$(pwd)/tokenchaincode" -cci "init" -ccs 1
# Start token nodes
mkdir -p data/auditor data/issuer data/owner1 data/owner2
docker-compose up -d
echo "
Ready!
Visit http://localhost:8080 in your browser to view the API documentation and try some transactions.
"