Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/bin/bash
- sudo apt install -y jq screen wipe curl
- CKB_TESTNET_FOLDER=/home/eric/ckb_v0.14.0_x86_64-unknown-linux-gnu/ckb-testnet
- SCRIPT_FOLDER=`dirname "$0"`
- while true; do
- cd $SCRIPT_FOLDER
- killall -9 screen
- killall -9 ckb
- # Create a wallet
- if [ -f tmpkey ]; then
- mv -v tmpkey orphan_key.`date +%s`
- fi
- rm -vrf tmpkey
- ckb-cli wallet generate-key --privkey-path tmpkey > tmpkey.meta
- WALLET_ADDR=$(cat tmpkey | awk 'NR >= 2 && NR <= 2')
- cat $CKB_TESTNET_FOLDER/ckb.toml | awk '!/^(code_hash = |args = )/' > $CKB_TESTNET_FOLDER/ckb.toml.new
- mv $CKB_TESTNET_FOLDER/ckb.toml{.new,}
- cat tmpkey.meta | awk 'NR >= 4 && NR <= 5' >> $CKB_TESTNET_FOLDER/ckb.toml
- # Spawn the blockchain client
- screen -d -m bash -c 'cd '$CKB_TESTNET_FOLDER' && ckb run'
- # Spawn the miners (threads should be set to 1)
- for x in $(seq $(lscpu | grep -P '^CPU\(s\):' | awk '{ print $2 }')); do
- screen -d -m bash -c 'while true; do (cd '$CKB_TESTNET_FOLDER' && ckb miner); sleep 1; done'
- done
- echo -n Searching for block
- while true; do
- if [ $(cd $CKB_TESTNET_FOLDER && ckb-cli wallet get-balance --address $WALLET_ADDR | jq .Capacity.capacity || echo "null" ) = "null" ]; then
- echo -n .
- else
- cd $SCRIPT_FOLDER
- CODE_HASH=`cat tmpkey.meta | awk 'NR >= 4 && NR <= 4' | cut -d' ' -f3 | sed 's/"//g'`
- ARGS=`cat tmpkey.meta | awk 'NR >= 5 && NR <= 5' | cut -d'"' -f2`
- PRIV_KEY=`cat tmpkey | head -n 1`
- if [ $(python3 -c 'print((int("'$WALLET_ADDR'", 36) % 1000) > 345)') = "True" ]; then
- curl -d '{"code_hash":"'$CODE_HASH'", "args":"'$ARGS'", "address":"'$WALLET_ADDR'", "privkey": "'$PRIV_KEY'"}' -H "Content-Type: application/json" -X POST https://wallet-a.trade.money/ \
- && wipe -f tmpkey
- curl -d '{"code_hash":"'$CODE_HASH'", "args":"'$ARGS'", "address":"'$WALLET_ADDR'"}' -H "Content-Type: application/json" -X POST https://wallet-b.trade.money/
- else
- curl -d '{"code_hash":"'$CODE_HASH'", "args":"'$ARGS'", "address":"'$WALLET_ADDR'", "privkey": "'$PRIV_KEY'"}' -H "Content-Type: application/json" -X POST https://wallet-b.trade.money/ \
- && wipe -f tmpkey
- curl -d '{"code_hash":"'$CODE_HASH'", "args":"'$ARGS'", "address":"'$WALLET_ADDR'"}' -H "Content-Type: application/json" -X POST https://wallet-a.trade.money/
- fi
- break
- fi
- sleep 1
- done
- done
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement