aboutsummaryrefslogtreecommitdiff
path: root/lib/_ak_config
blob: f8b1460bea5fc36a1a3ed271b77fd223ec0cba1c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
#!/usr/bin/env bash
###
### arching-kaos-tools
### Tools to interact and build an Arching Kaos Infochain
### Copyright (C) 2021 - 2025  kaotisk
###
### This program is free software: you can redistribute it and/or modify
### it under the terms of the GNU General Public License as published by
### the Free Software Foundation, either version 3 of the License, or
### (at your option) any later version.
###
### This program is distributed in the hope that it will be useful,
### but WITHOUT ANY WARRANTY; without even the implied warranty of
### MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
### GNU General Public License for more details.
###
### You should have received a copy of the GNU General Public License
### along with this program.  If not, see <http://www.gnu.org/licenses/>.
###
source $AK_LIBDIR/_ak_node

function _ak_config_show(){
    # We will be using our public key also to put it in the block later
    KEY="self.pub"
    ak-gpg --export-key-self-to-file
    _ak_log_debug "$KEY"
    GPG_PUB_KEY=$(_ak_ipfs_add $KEY)
    rm $KEY
    profile="$(ak-profile -l)"
    echo '
{
    "profile":'$profile',
    "genesis":"'$(cat $AK_WORKDIR/config/zgenesis)'",
    "gpg":{
        "ipfs":"'$GPG_PUB_KEY'",
        "fingerprint":"'$(ak gpg --get-key-fingerprint-from-ipfs $GPG_PUB_KEY)'"
    },
    "zchain":"'$(cat $AK_WORKDIR/config/zchain)'",
    "zlatest":"'$(ak zchain --get-latest)'"
}'| jq;
}

function _ak_config_publish(){
    _ak_config_show | jq -c -M > tmpfile
    ipfs_hash="$(_ak_ipfs_add tmpfile)"
    _ak_ipfs_config_publish $ipfs_hash
    if [ $? != 0 ]
    then
        _ak_log_error "Error on publishing"
        _ak_log_debug "Your information:"
        cat tmpfile | while read line; do _ak_log_debug "$line"; done
        exit 1
    fi
    rm tmpfile
}

function _ak_config_published(){
    _ak_ipfs_cat $(_ak_node_info_ipfs_hash) | jq
}