aboutsummaryrefslogtreecommitdiff
path: root/bin/ak-miner-script
blob: 28bb056d1eea35041b4013fdffcaa82aaf1e6a18 (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
#!/bin/bash
PROGRAM="$(basename $0)"
proofofwork(){
	TEST="$1"
	PRE="$2"
	MINER="$3"
	i=1
	l=1; while [ $l = 1 ]
	do
		TIMESTAMP="$(date -u +%s)"
		SHA="$(echo $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 [ "$?" == 0 ] ;
		then
			echo "SHA512 is $SHA"
			echo "Mined block:"
			echo $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 60
			proofofwork "$1" "$SHA" "$MINER"
		fi
		i=$(expr $i + 1);
	done
}

usage(){
	echo "$PROGRAM <somethings> <previous> <miner_address>"
	echo " hit ak-enter after that !!! "
}

if [ -z "$1" ] ;
then
	usage
	exit;
elif [ ! -z "$1" ] && [ ! -z "$2" ] && [ ! -z "$3" ]
then
    proofofwork "$1" "$2" "$3";
else
    usage
fi

exit