From 606e3bd269fdc2cf687db82c43a5346f8081864f Mon Sep 17 00:00:00 2001 From: kaotisk Date: Sat, 18 Dec 2021 08:33:02 +0200 Subject: Different approach on installing, now symlinks --- bin/pack_z_block | 113 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 113 insertions(+) create mode 100755 bin/pack_z_block (limited to 'bin/pack_z_block') diff --git a/bin/pack_z_block b/bin/pack_z_block new file mode 100755 index 0000000..da5e22b --- /dev/null +++ b/bin/pack_z_block @@ -0,0 +1,113 @@ +#!/bin/bash +# This file describe the structure of the ArchingKaos messages in their basis. +# +# As previously thought, we exchange one IPFS hash through whatever means we can. +# +# GPG is mentioned as a signing algorithm for encryption, decryption and signing. +# Let's say we have a file named as `example` +# +# We can extend this with calling the encoder and further send the transaction +# + +#FINGERPRINT="CHANGE THIS TO YOUR DEFAULT FINGERPRINT" +# We acquire the GPG fingerprint by email address +# The following example finds kaos@kaos.kaos' GPG fingerprint like this +# FINGERPRINT="$(gpg2 --list-keys | grep kaos@kaos.kaos -1 | head -n1 | awk '{print $1}')" + +# Below, the usage information +usage(){ + echo "$0 - action data_file" + echo "Creates and publishes a ZBLOCK based on ACTION and DATA file." + echo "" + echo "action An action for the render to grasp" + echo "data_file A data file that according to the action is valid" +} + +main(){ + + echo "We are doing" $ACTION "with content" $MESSAGE + # We add it to IPFS + MESSAGE_HASH=$(ipfs add -q $MESSAGE) + + # We create a detached and armor signature of it + MESSAGE_SIGN_FILE=$MESSAGE".asc" + gpg2 --detach-sign --sign-with $FINGERPRINT --armor --output $MESSAGE_SIGN_FILE $MESSAGE + + # We add the signature to IPFS + MESSAGE_SIGNATURE=$(ipfs add -q $MESSAGE_SIGN_FILE) + + # We will be using our public key also to put it in the block later + KEY="gpg.pub" + gpg2 --armour --output $KEY --export $FINGERPRINT + GPG_PUB_KEY=$(ipfs add -q $KEY) + + # Acquire last block of information, to chain this one with previous posted + PREVIOUS=$(ipfs files stat /zlatest | head -n 1) + + # We create a block of json like this: + cat > block < zblock << EOF +{ + "block":"$BLOCK", + "block_signature":"$BLOCK_SIGNATURE" +} +EOF + ZBL="zblock" + # and we add it on IPFS + ZBLOCK=$(ipfs add -q $ZBL) + echo $ZBLOCK +} + +title(){ + echo "AK zblock creator" + echo "=================" +} + +title +if [ ! -z $2 ]; +then + PWD="$(pwd)" + MESSAGE="$PWD/$2" + ACTION="$1" + if [ -f "$MESSAGE" ]; then + main + else + echo "File does not exist. Aborting..." + exit 1 + fi + + # cat $PWD/zblock | json_pp + # Optional or extending with + # python send_as_ak_tx $ZBLOCK + # or for "offline" use + echo $ZBLOCK > $ZLATEST + ipfs name publish --key=zchain $ZBLOCK + ipfs files mkdir /zarchive + ipfs files cp /zlatest /zarchive/$(date -u +%s)-$(ipfs files stat /zlatest | head -n 1) + ipfs files rm /zlatest + ipfs files cp /ipfs/$ZBLOCK /zlatest +else + usage + exit 0 +fi + -- cgit v1.2.3