hi forum,
I tried to develop a bash shell based bitcoin miner poc for a better understanding
of the crypto stuff. Can someone please tell me how I can find out or compute
test or verification values (mindstate/data/hash1/target) - with a target match?
...still haven't figured out the verification details yet :)
I used the following versions of dependencies:
GNU bash, version 4.1.5
curl 7.21.0
OpenSSL 0.9.8o
(no target check yet - unproofed crypto!1)
#!/bin/bash
#
# bitcoin poc 0.1
# by sead (1B91ZzpVrs7wq3pYdeDLFoKVWQuxPngZSk)
#
# deps: openssl, curl, xxd, bitcoind
i=0
rpcuser='username'
rpcpass='password'
getwork=`curl -s -u $rpcuser:$rpcpass -d '{"params": [], "method": "getwork", "id": "json"}' 127.0.0.1:8332`
mindstate=`echo $getwork | awk -F"[,|:|\"]" '{ print $8 }'`
data=`echo $getwork | awk -F"[,|:|\"]" '{ print $14 }'`
hash1=`echo $getwork |awk -F"[,|:|\"]" '{ print $20 }'`
target=`echo $getwork |awk -F"[,|:|\"]" '{ print $26 }'`
while [ $i -le $((16#ffffffff)) ]
do
h=`printf '%s%s%08x%s' $mindstate ${data:128:40} $i ${data:176} | xxd -r -p | openssl sha -sha256`
printf '%s%s' $h $hash1 | xxd -r -p | openssl sha -sha256
i=$[$i+1]
done