#!/bin/bash ## ## Usage: ak-config [ -h | --help | show | publish | get-published ] ## ## -h, --help Show this help screen ## ## show Show current configuration (from FileSystem) ## ## publish Publish current configuration ## ## get-published Get published ak-config (from IPFS) ## fullprogrampath="$(realpath $0)" PROGRAM="$(basename $0)" descriptionString="Arching Kaos Configuration Tool" source $AK_LIBDIR/_ak_script source $AK_LIBDIR/_ak_gpg source $AK_LIBDIR/_ak_ipfs _ak_config_show(){ # We will be using our public key also to put it in the block later KEY="tmp-gpg.pub" _ak_gpg_key_self_export $KEY 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)'" }'| jq; } _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 } if [ ! -z $1 ]; then case $1 in --help| -h) _ak_usage;exit;; show) _ak_config_show;exit;; publish) _ak_config_publish;exit;; get-published) _ak_config_published;exit;; *) _ak_usage;exit;; esac else _ak_usage fi