Skip to content
Snippets Groups Projects
Commit ce5cc00c authored by Éloïs's avatar Éloïs
Browse files

feat(scripts): improve create-live-network (use only docker)

parent cf662d27
No related branches found
No related tags found
No related merge requests found
......@@ -11,7 +11,7 @@ services:
POSTGRES_PASSWORD: postgres
duniter-rpc:
image: duniter/duniter-v2s:debug-sha-acaf89a4
image: duniter/duniter-v2s:DUNITER_IMAGE_TAG
restart: unless-stopped
ports:
- "9944:9944"
......@@ -30,7 +30,7 @@ services:
- "all"
duniter-validator:
image: duniter/duniter-v2s:debug-sha-acaf89a4
image: duniter/duniter-v2s:DUNITER_IMAGE_TAG
restart: unless-stopped
ports:
- "127.0.0.1:9945:9944"
......
......@@ -22,15 +22,19 @@ SPEC_DIR="${4:-resources}"
echo "CURRENCY=$CURRENCY"
# constants
DUNITER_BINARY="./target/debug/duniter"
DUNITER_IMAGE_TAG="debug-sha-66ffb479"
# Clean and (re-)create working forders
rm -rf $WORK_DIR
mkdir -p $WORK_DIR/duniter-rpc
mkdir -p $WORK_DIR/duniter-validator
mkdir -p $WORK_DIR/duniter-validator/chains/$CURRENCY
# build client in debug mode
#cargo clean -p duniter && cargo build
# Helper to execute a duniter subcommand in docker
function duniter_tmp () {
docker rm duniter-tmp > /dev/null
OUTPUT=$(docker run --name duniter-tmp -it --entrypoint duniter duniter/duniter-v2s:$DUNITER_IMAGE_TAG "$@")
echo "${OUTPUT::-1}"
}
if [ -e "$SPEC_DIR/$CURRENCY-raw.json" ]
then
......@@ -41,25 +45,35 @@ else
# generate raw chain spec
echo "generate raw_chain spec…"
export DUNITER_GENESIS_CONFIG="$SPEC_DIR/$CURRENCY.json"
$DUNITER_BINARY build-spec --chain $CURRENCY-gl --raw > $WORK_DIR/duniter-rpc/$CURRENCY-raw.json
duniter_tmp build-spec --chain $CURRENCY-gl --raw > /var/lib/duniter/$CURRENCY-raw.json
docker cp duniter-tmp:/var/lib/duniter/$CURRENCY-raw.json $WORK_DIR/duniter-rpc/$CURRENCY-raw.json
cp $WORK_DIR/duniter-rpc/$CURRENCY-raw.json $WORK_DIR/duniter-validator/$CURRENCY-raw.json
fi
# generate rpc node key
RPC_NODE_KEY=$($DUNITER_BINARY key generate-node-key --file $WORK_DIR/duniter-rpc/node-key 2>&1)
echo "generate rpc node key…"
RPC_NODE_KEY=$(duniter_tmp key generate-node-key --file /var/lib/duniter/node-key.txt)
docker cp duniter-tmp:/var/lib/duniter/node-key.txt $WORK_DIR/duniter-rpc/node-key
echo "RPC_NODE_KEY=$RPC_NODE_KEY"
# generate validator node key
VALIDATOR_NODE_KEY=$($DUNITER_BINARY key generate-node-key --file $WORK_DIR/duniter-validator/node-key 2>&1)
echo "generate validator node key…"
VALIDATOR_NODE_KEY=$(duniter_tmp key generate-node-key --file /var/lib/duniter/node-key.txt)
docker cp duniter-tmp:/var/lib/duniter/node-key.txt $WORK_DIR/duniter-validator/node-key
echo "VALIDATOR_NODE_KEY=$VALIDATOR_NODE_KEY"
# generate docker-compose file
echo "generate docker-compose file…"
cp docker/compose-examples/live-template.docker-compose.yml $WORK_DIR/docker-compose.yml
sed -i -e "s/DUNITER_IMAGE_TAG/$DUNITER_IMAGE_TAG/g" $WORK_DIR/docker-compose.yml
sed -i -e "s/CURRENCY/$CURRENCY/g" $WORK_DIR/docker-compose.yml
sed -i -e "s/RPC_NODE_KEY/$RPC_NODE_KEY/g" $WORK_DIR/docker-compose.yml
sed -i -e "s/VALIDATOR_NODE_KEY/$VALIDATOR_NODE_KEY/g" $WORK_DIR/docker-compose.yml
# Inject validator session keys in validator node keystore
$DUNITER_BINARY key generate-session-keys --chain "${CURRENCY}_local" --suri "$VALIDATOR_SESSION_KEYS_SURI" -d $WORK_DIR/duniter-validator > /dev/null
mv $WORK_DIR/duniter-validator/chains/${CURRENCY}_local $WORK_DIR/duniter-validator/chains/$CURRENCY
echo "Inject validator session keys in validator node keystore…"
duniter_tmp key generate-session-keys --chain "${CURRENCY}_local" --suri "$VALIDATOR_SESSION_KEYS_SURI" -d /var/lib/duniter
docker cp duniter-tmp:/var/lib/duniter/chains/${CURRENCY}_local/keystore $WORK_DIR/duniter-validator/chains/$CURRENCY
# Launch the network
echo "compose ready in '$WORK_DIR'"
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment