aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-xbin/ak-zchain60
-rwxr-xr-xbin/ak-zchain-calculate-size30
-rwxr-xr-xbin/ak-zchain-extract-cids16
-rwxr-xr-xbin/ak-zchain-extract-data-cids8
-rwxr-xr-xbin/ak-zchain-rebase63
-rwxr-xr-xbin/ak-zchain-reset61
-rwxr-xr-xlib/_ak_zchain121
7 files changed, 181 insertions, 178 deletions
diff --git a/bin/ak-zchain b/bin/ak-zchain
new file mode 100755
index 0000000..2a60b37
--- /dev/null
+++ b/bin/ak-zchain
@@ -0,0 +1,60 @@
+#!/bin/bash
+##
+## Tools for zchains
+##
+## Usage:
+##
+## -h, --help Prints this help message
+##
+## -r, --reset Reset zchain
+## Backs up your latest block into IPFS
+## filesystem, replaces it with an empty file
+## (GENESIS hardcode) and pushes its IPFS link
+## as your zchain's latest zblock.
+## Disclaimer:
+## This program, does NOT delete anything from
+## your IPFS repository, neither denies access to
+## previously created blocks.
+##
+## --rebase <zblock> Rebase zchain to a zblock
+## Backs up your latest block into IPFS
+## filesystem, replaces it with a zblock and
+## pushes its IPFS link as your zchain's latest
+## zblock.
+## Disclaimer:
+## This program, does NOT delete anything from
+## your IPFS repository, neither denies access to
+## previously created blocks.
+##
+## --rebase-back-one Rebase zchain one zblock back
+##
+## --extract-cids Extracts IPFS CIDv0 links of a zchain
+##
+## --extract-data-cids Extracts data IPFS CIDv0 links from a zchain
+##
+## --calculate-size Calculates the size of a zchain
+##
+##
+fullprogrampath="$(realpath $0)"
+PROGRAM=$(basename $0)
+descriptionString="Zchain tools"
+
+# At least these
+source $AK_LIBDIR/_ak_log
+source $AK_LIBDIR/_ak_script
+source $AK_LIBDIR/_ak_zchain
+
+# Flags to run
+if [ ! -z $1 ]; then
+ case $1 in
+ -h | --help) _ak_usage; exit;;
+ -r | --reset) _ak_zchain_reset; exit;;
+ --rebase) if [ ! -z $2 ]; then _ak_zchain_rebase $2; else exit 1; fi; exit;;
+ --rebase-back-one) _ak_zchain_rebase "`ak-enter -l 2 | jq -r '.[1].zblock'`" ; exit ;;
+ --extract-cids) _ak_zchain_extract_cids $2; exit;;
+ --extract-data-cids) _ak_zchain_extract_data_cids $2; exit;;
+ --calculate-size) _ak_zchain_calculate_size $2; exit;;
+ * ) _ak_usage;;
+ esac
+else _ak_usage
+fi
diff --git a/bin/ak-zchain-calculate-size b/bin/ak-zchain-calculate-size
deleted file mode 100755
index 5603221..0000000
--- a/bin/ak-zchain-calculate-size
+++ /dev/null
@@ -1,30 +0,0 @@
-#!/bin/bash
-PROGRAM="$(basename $0)"
-source $AK_LIBDIR/_ak_ipfs
-
-temp="$(mktemp -d)"
-
-cd $temp
-
-if [ ! -z $1 ] && [ -n "$1" ]
-then
- ak-zchain-extract-cids $1 > to_stats
-else
- ak-zchain-extract-cids > to_stats
-fi
-
-sum=0 ; while IFS="" read -r p || [ -n "$p" ]
-do
- if [ "$p" != "" ]
- then
- _ak_ipfs_get $p
- num="$(du -bs --apparent-size $p | cut -d $'\t' -f 1)"
- else
- num=0
- fi
- sum=$(expr $sum + $num )
-done < to_stats
-echo "Chain is : $sum bytes"
-
-cd ~
-rm -rf $temp
diff --git a/bin/ak-zchain-extract-cids b/bin/ak-zchain-extract-cids
deleted file mode 100755
index 61e0da5..0000000
--- a/bin/ak-zchain-extract-cids
+++ /dev/null
@@ -1,16 +0,0 @@
-#!/bin/bash
-##
-## Extracts unique IPFS CIDs from an ak-entered zchain
-##
-## -h, --help Prints this help message
-##
-#
-# Previously:
-# ak-enter | jq | grep Qm | sed -e 's/^.*Qm/Qm/g' | cut -d '"' -f 1
-#
-if [ ! -z $1 ] && [ -n "$1" ]
-then
- ak-enter $1 | jq -M | grep Qm | sed -e 's/".*"://g; s/ //g; s/[{,"]//g' | sort | uniq
-else
- ak-enter | jq -M | grep Qm | sed -e 's/".*"://g; s/ //g; s/[{,"]//g' | sort | uniq
-fi
diff --git a/bin/ak-zchain-extract-data-cids b/bin/ak-zchain-extract-data-cids
deleted file mode 100755
index 303d595..0000000
--- a/bin/ak-zchain-extract-data-cids
+++ /dev/null
@@ -1,8 +0,0 @@
-#!/bin/bash
-# Outputs all the "ipfs" values from the DATA blocks of our ZCHAIN
-if [ ! -z $1 ]
-then
- ak-enter $1 | jq | grep ipfs | awk '{print $2}' | sed -e 's/"//g;s/,//g'
-else
- ak-enter | jq | grep ipfs | awk '{print $2}' | sed -e 's/"//g;s/,//g'
-fi
diff --git a/bin/ak-zchain-rebase b/bin/ak-zchain-rebase
deleted file mode 100755
index b4522cf..0000000
--- a/bin/ak-zchain-rebase
+++ /dev/null
@@ -1,63 +0,0 @@
-#!/bin/bash
-PROGRAM=$(basename $0)
-source $AK_LIBDIR/_ak_ipfs
-usage(){
- echo "$PROGRAM - Zchain rebase"
- echo ""
- echo "Description:"
- echo "Backs up your latest block into IPFS filesystem, replaces it with an empty file (GENESIS hardcode) and pushes its IPFS link as your chain's latest block."
- echo ""
- echo "Disclaimer:"
- echo "This program, does NOT delete anything from your IPFS repository, neither denies access to previously created blocks."
- echo ""
- echo "Usage:"
- echo " $PROGRAM rebase <zblock>"
- exit 0
-}
-rebase (){
- if [ ! -n "$1" ]; then exit 1; fi
- ZTARGET="$1"
- echo "Reseting ZLATEST to ZTARGET"
- echo $ZTARGET > $AK_ZLATEST
- if [ $? != 0 ]; then exit 1; fi
-
- echo "Make sure /zarchive folder exists within IPFS FS"
- _ak_ipfs_files_mkdir /zarchive
- if [ $? != 0 ]; then echo "Folder already there"; fi
-
- echo "Archive the previous ZLATEST"
- _ak_ipfs_files_cp /zlatest /zarchive/$(date -u +%s)-$(_ak_ipfs_files_stat /zlatest | head -n 1)
- if [ $? != 0 ]; then exit 1; fi
-
- echo "Removing previous /zlatest entry"
- _ak_ipfs_files_rm /zlatest
- if [ $? != 0 ]; then exit 1; fi
-
- echo "Copying rebased ZLATEST"
- CZLATEST="$(cat $AK_ZLATEST)"
- _ak_ipfs_files_cp /ipfs/$CZLATEST /zlatest
- if [ $? != 0 ]; then exit 1; fi
-
- echo "Publishing new (rebased) ZLATEST"
- _ak_ipfs_name_publish --key=zchain /ipfs/$(cat $AK_ZLATEST)
- if [ $? != 0 ]; then exit 1; fi
-
- ak-config --publish
- if [ "$?" -ne 0 ]
- then
- logit "ERROR" "Could not publish new configuration"
- exit 1
- fi
- echo "Rebase was successful"
- exit 0
-}
-if [ ! -z $1 ] ; then
-#&& [ ! -z $2 ]
- case $1 in
- rebase) if [ ! -z $2 ]; then rebase $2; else exit 1; fi;;
- rebase-back-one) rebase "`ak-enter -l 2 | jq -r '.[1].zblock'`" ; exit ;;
- * ) usage;;
- esac
-else usage
-fi
-
diff --git a/bin/ak-zchain-reset b/bin/ak-zchain-reset
deleted file mode 100755
index 24e670b..0000000
--- a/bin/ak-zchain-reset
+++ /dev/null
@@ -1,61 +0,0 @@
-#!/bin/bash
-PROGRAM=$(basename $0)
-source $AK_LIBDIR/_ak_ipfs
-
-usage(){
- echo "$PROGRAM - Zchain reset"
- echo ""
- echo "Description:"
- echo "Backs up your latest block into IPFS filesystem, replaces it with an empty file (GENESIS hardcode) and pushes its IPFS link as your chain's latest block."
- echo ""
- echo "Disclaimer:"
- echo "This program, does NOT delete anything from your IPFS repository, neither denies access to previously created blocks."
- echo ""
- echo "Usage:"
- echo " $PROGRAM reset"
- exit 0
-}
-reset (){
- echo "Reseting ZLATEST to ZGENESIS"
- cp $ZGENESIS $ZLATEST
- if [ $? != 0 ]; then exit 1; fi
-
- echo "Make sure /zarchive folder exists within IPFS FS"
- _ak_ipfs_files_mkdir /zarchive
- if [ $? != 0 ]; then echo "Folder already there"; fi
-
- echo "Archive the previous ZLATEST"
- _ak_ipfs_files_cp /zlatest /zarchive/$(date -u +%s)-$(_ak_ipfs_files_stat /zlatest | head -n 1)
- if [ $? != 0 ]; then exit 1; fi
-
- echo "Removing previous /zlatest entry"
- _ak_ipfs_files_rm /zlatest
- if [ $? != 0 ]; then exit 1; fi
-
- echo "Copying reset ZLATEST"
- CZLATEST="$(cat $ZLATEST)"
- _ak_ipfs_files_cp /ipfs/$CZLATEST /zlatest
- if [ $? != 0 ]; then exit 1; fi
-
- echo "Publishing new (reset) ZLATEST"
- _ak_ipfs_name_publish --key=zchain /ipfs/$(cat $ZLATEST)
- if [ $? != 0 ]; then exit 1; fi
-
- ak-config --publish
- if [ "$?" -ne 0 ]
- then
- logit "ERROR" "Could not publish new configuration"
- exit 1
- fi
-
- echo "Reset was successful"
- exit 0
-}
-if [ ! -z $1 ]; then
- case $1 in
- reset) reset; exit;;
- * ) usage;;
- esac
-else usage
-fi
-
diff --git a/lib/_ak_zchain b/lib/_ak_zchain
new file mode 100755
index 0000000..2573524
--- /dev/null
+++ b/lib/_ak_zchain
@@ -0,0 +1,121 @@
+#!/bin/bash
+source $AK_LIBDIR/_ak_ipfs
+source $AK_LIBDIR/_ak_log
+
+_ak_zchain_reset (){
+ echo "Reseting ZLATEST to ZGENESIS"
+ cp $ZGENESIS $ZLATEST
+ if [ $? != 0 ]; then exit 1; fi
+
+ echo "Make sure /zarchive folder exists within IPFS FS"
+ _ak_ipfs_files_mkdir /zarchive
+ if [ $? != 0 ]; then echo "Folder already there"; fi
+
+ echo "Archive the previous ZLATEST"
+ _ak_ipfs_files_cp /zlatest /zarchive/$(date -u +%s)-$(_ak_ipfs_files_stat /zlatest | head -n 1)
+ if [ $? != 0 ]; then exit 1; fi
+
+ echo "Removing previous /zlatest entry"
+ _ak_ipfs_files_rm /zlatest
+ if [ $? != 0 ]; then exit 1; fi
+
+ echo "Copying reset ZLATEST"
+ CZLATEST="$(cat $ZLATEST)"
+ _ak_ipfs_files_cp /ipfs/$CZLATEST /zlatest
+ if [ $? != 0 ]; then exit 1; fi
+
+ echo "Publishing new (reset) ZLATEST"
+ _ak_ipfs_name_publish --key=zchain /ipfs/$(cat $ZLATEST)
+ if [ $? != 0 ]; then exit 1; fi
+
+ ak-config --publish
+ if [ "$?" -ne 0 ]
+ then
+ logit "ERROR" "Could not publish new configuration"
+ exit 1
+ fi
+
+ echo "Reset was successful"
+ exit 0
+}
+
+_ak_zchain_rebase (){
+ if [ ! -n "$1" ]; then exit 1; fi
+ ZTARGET="$1"
+ echo "Reseting ZLATEST to ZTARGET"
+ echo $ZTARGET > $AK_ZLATEST
+ if [ $? != 0 ]; then exit 1; fi
+
+ echo "Make sure /zarchive folder exists within IPFS FS"
+ _ak_ipfs_files_mkdir /zarchive
+ if [ $? != 0 ]; then echo "Folder already there"; fi
+
+ echo "Archive the previous ZLATEST"
+ _ak_ipfs_files_cp /zlatest /zarchive/$(date -u +%s)-$(_ak_ipfs_files_stat /zlatest | head -n 1)
+ if [ $? != 0 ]; then exit 1; fi
+
+ echo "Removing previous /zlatest entry"
+ _ak_ipfs_files_rm /zlatest
+ if [ $? != 0 ]; then exit 1; fi
+
+ echo "Copying rebased ZLATEST"
+ CZLATEST="$(cat $AK_ZLATEST)"
+ _ak_ipfs_files_cp /ipfs/$CZLATEST /zlatest
+ if [ $? != 0 ]; then exit 1; fi
+
+ echo "Publishing new (rebased) ZLATEST"
+ _ak_ipfs_name_publish --key=zchain /ipfs/$(cat $AK_ZLATEST)
+ if [ $? != 0 ]; then exit 1; fi
+
+ ak-config --publish
+ if [ "$?" -ne 0 ]
+ then
+ logit "ERROR" "Could not publish new configuration"
+ exit 1
+ fi
+ echo "Rebase was successful"
+ exit 0
+}
+
+_ak_zchain_extract_cids(){
+ if [ ! -z $1 ] && [ -n "$1" ]
+ then
+ ak-enter $1 | jq -M | grep Qm | sed -e 's/".*"://g; s/ //g; s/[{,"]//g' | sort | uniq
+ else
+ ak-enter | jq -M | grep Qm | sed -e 's/".*"://g; s/ //g; s/[{,"]//g' | sort | uniq
+ fi
+}
+
+_ak_zchain_extract_data_cids(){
+ if [ ! -z $1 ]
+ then
+ ak-enter $1 | jq | grep ipfs | awk '{print $2}' | sed -e 's/"//g;s/,//g'
+ else
+ ak-enter | jq | grep ipfs | awk '{print $2}' | sed -e 's/"//g;s/,//g'
+ fi
+}
+
+_ak_zchain_calculate_size(){
+ temp="$(mktemp -d)"
+ cd $temp
+ if [ ! -z $1 ] && [ -n "$1" ]
+ then
+ _ak_zchain_extract_cids $1 > to_stats
+ else
+ _ak_zchain_extract_cids > to_stats
+ fi
+ sum=0 ; while IFS="" read -r p || [ -n "$p" ]
+ do
+ if [ "$p" != "" ]
+ then
+ _ak_ipfs_get $p
+ num="$(du -bs --apparent-size $p | cut -d $'\t' -f 1)"
+ else
+ num=0
+ fi
+ sum=$(expr $sum + $num )
+ done < to_stats
+ echo "Chain is : $sum bytes"
+ cd ~
+ rm -rf $temp
+}