diff options
Diffstat (limited to 'bin/ak-mine')
-rwxr-xr-x | bin/ak-mine | 52 |
1 files changed, 52 insertions, 0 deletions
diff --git a/bin/ak-mine b/bin/ak-mine new file mode 100755 index 0000000..bf0eef7 --- /dev/null +++ b/bin/ak-mine @@ -0,0 +1,52 @@ +#!/bin/bash +PROGRAM="$(basename $0)" +gather_zblocks(){ + if [ "$(cat $AK_ZBLOCKSFILE | jq -r '.[].zblock' | wc -l)" -ne 0 ] + then + cat $AK_ZBLOCKSFILE | \ + jq | \ + grep -e 'Qm.\{44\}' | \ + sed -e 's/\"zblock\"://g; s/ //g;' | \ + tr -d '\n'| \ + sed -e 's/""/","/g; + s/^/[&/g; s/$/&]/g; + s/^/{"zblocks":&/; + s/$/&,/g' + else + echo -ne '{' + fi +} + +proofofwork(){ + TEST="$(gather_zblocks)" + MINER="$(ak-gpg --get-key-self-as-ipfs)" + PRE="$(ak schain --get-latest | jq -r '.latest_block' | tr -d $'\n')" + i=1 + l=1; while [ $l = 1 ] + do + TIMESTAMP="$(date -u +%s)" + SHA="$(echo -n $TEST'"nonce":"'$i'","previous":"'$PRE'","timestamp":"'$TIMESTAMP'","miner":"'$MINER'","reward":"40"}' | sha512sum | awk '{ print $1 }')" + # Static difficulty for securing the sblock + echo $SHA | grep -e '^000' + if [ $? -eq 0 ] + then + echo "SHA512 is $SHA" + echo "Mined block:" + echo -n $TEST'"nonce":"'$i'","previous":"'$PRE'","timestamp":"'$TIMESTAMP'","miner":"'$MINER'","reward":"40"}' | jq --compact-output > $AK_MINEDBLOCKSDIR/$SHA + cat $AK_MINEDBLOCKSDIR/$SHA | jq + # exit 0 + # Instead of exiting, we will now sleep for 60 seconds + # after that we continue mining on top of the just mined + # block. + sleep 10 + proofofwork + fi + i=$(expr $i + 1); + done +} + +proofofwork + +exit + + |