aboutsummaryrefslogtreecommitdiff
path: root/bin/ak-zchain-reset
diff options
context:
space:
mode:
authorkaotisk <kaotisk@arching-kaos.org>2023-03-29 23:45:49 +0300
committerkaotisk <kaotisk@arching-kaos.org>2023-03-29 23:45:49 +0300
commit286b71a6ead8c7234cfbc0b8ece05c8239a4f32c (patch)
treef4662c1517fe14018d93c5503a72b8ba9da0c674 /bin/ak-zchain-reset
parentb5394a6bd9f0b9fbd9bafc3e963dafbbc87f2ed2 (diff)
downloadarching-kaos-tools-286b71a6ead8c7234cfbc0b8ece05c8239a4f32c.tar.gz
arching-kaos-tools-286b71a6ead8c7234cfbc0b8ece05c8239a4f32c.tar.bz2
arching-kaos-tools-286b71a6ead8c7234cfbc0b8ece05c8239a4f32c.zip
Renamed everything
Diffstat (limited to 'bin/ak-zchain-reset')
-rwxr-xr-xbin/ak-zchain-reset52
1 files changed, 52 insertions, 0 deletions
diff --git a/bin/ak-zchain-reset b/bin/ak-zchain-reset
new file mode 100755
index 0000000..813dc33
--- /dev/null
+++ b/bin/ak-zchain-reset
@@ -0,0 +1,52 @@
+#!/bin/bash
+PROGRAM=$(basename $0)
+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"
+ ipfs files mkdir /zarchive
+ if [ $? != 0 ]; then echo "Folder already there"; fi
+
+ echo "Archive the previous ZLATEST"
+ ipfs files cp /zlatest /zarchive/$(date -u +%s)-$(ipfs files stat /zlatest | head -n 1)
+ if [ $? != 0 ]; then exit 1; fi
+
+ echo "Removing previous /zlatest entry"
+ ipfs files rm /zlatest
+ if [ $? != 0 ]; then exit 1; fi
+
+ echo "Copying reset ZLATEST"
+ CZLATEST="$(cat $ZLATEST)"
+ ipfs files cp /ipfs/$CZLATEST /zlatest
+ if [ $? != 0 ]; then exit 1; fi
+
+ echo "Publishing new (reset) ZLATEST"
+ ipfs name publish --key=zchain /ipfs/$(cat $ZLATEST)
+ if [ $? != 0 ]; then exit 1; fi
+
+ echo "Reset was successful"
+ exit 0
+}
+if [ ! -z $1 ]; then
+ case $1 in
+ reset) reset; exit;;
+ * ) usage;;
+ esac
+else usage
+fi
+