#!/bin/bash PROGRAM="$(basename $0)" descriptionString="Arching Kaos Configuration Tool" source $AK_LIBDIR/_ak_script_description _ak_config_title(){ description } _ak_config_usage(){ _ak_config_title echo "" echo "Usage: $PROGRAM [ -h | --help | show | publish | get-published ]" echo "" echo " -h, --help Show this help screen" echo " show Show current configuration (from FileSystem)" echo " publish Publish current configuration" echo " get-published Get published ak-config (from IPFS)" echo "" exit 0 } _ak_config_show(){ # We will be using our public key also to put it in the block later KEY="tmp-gpg.pub" gpg2 --homedir $AK_GPGHOME --armour --output $KEY --export $AK_FINGERPRINT GPG_PUB_KEY=$(ak-ipfs-add $KEY) rm $KEY echo ' { "profile":'$(ak-profile index | jq -cM)', "genesis":"'$(cat $HOME/.arching-kaos/config/zgenesis)'", "gpg":"'$GPG_PUB_KEY'", "zchain":"'$(cat $HOME/.arching-kaos/config/zchain)'", "zlatest":"'$(ak-get-zlatest)'" }'; } _ak_config_publish(){ _ak_config_show | jq -c -M > tmpfile ipfs key list | grep ak-config 2> /dev/null 1>&2 if [ "$?" -ne 0 ] then ipfs key gen ak-config fi ak-ipfs-name-publish --key=ak-config /ipfs/$(ak-ipfs-add tmpfile) if [ "$?" != 0 ] then echo -e "\033[0;34mError on publishing\033[0;0m\nYour information:\n" cat tmpfile exit 1 fi rm tmpfile } _ak_config_published(){ ak-ipfs-cat $(ak-node-info ipfs) | jq -c } if [ ! -z $1 ]; then case $1 in --help| -h) _ak_config_usage;exit;; show) _ak_config_show;exit;; publish) _ak_config_publish;exit;; get-published) _ak_config_published;exit;; *) _ak_config_usage;exit;; esac else _ak_config_usage fi