2019-04-02 20:45:40 +00:00
#!/bin/bash
2019-03-15 14:42:57 +00:00
2019-04-02 20:45:40 +00:00
PRIVATE_KEY_PATH = ~/priv
2019-03-15 14:42:57 +00:00
echo "clearing data"
DATA_PATH = /tmp/data
rm -rf $DATA_PATH
mkdir -p $DATA_PATH
PASSWORD = "password"
PASSWORD_PATH = $DATA_PATH /password.txt
UNAME = $( echo ` uname` | tr '[A-Z]' '[a-z]' )
echo $PASSWORD > $PASSWORD_PATH
bazel build //validator
2019-04-02 20:45:40 +00:00
bazel build //contracts/deposit-contract/sendDepositTx
START_INDEX = 1
END_INDEX = 8
while test $# -gt 0; do
case " $1 " in
--deposit-contract)
shift
DEPOSIT_CONTRACT = $1
shift
; ;
--end-index)
shift
END_INDEX = $1
shift
; ;
--start-index)
shift
START_INDEX = $1
shift
; ;
--privkey-path)
shift
PRIVATE_KEY_PATH = $1
shift
; ;
*)
echo " $1 is not a recognized flag! "
exit 1;
; ;
esac
done
2019-03-15 14:42:57 +00:00
2019-04-02 20:45:40 +00:00
for i in ` seq $START_INDEX $END_INDEX ` ;
2019-03-15 14:42:57 +00:00
do
echo " Generating validator $i "
KEYSTORE = $DATA_PATH /keystore$i
2019-04-02 20:45:40 +00:00
ACCOUNTCMD = " bazel-bin/validator/ ${ UNAME } _amd64_pure_stripped/validator accounts create --password $( cat $PASSWORD_PATH ) --keystore-path $KEYSTORE "
2019-03-15 14:42:57 +00:00
echo $ACCOUNTCMD
$ACCOUNTCMD
done
2019-04-02 20:45:40 +00:00
for i in ` seq $START_INDEX $END_INDEX ` ;
2019-03-15 14:42:57 +00:00
do
KEYSTORE = $DATA_PATH /keystore$i
2019-04-02 20:45:40 +00:00
CMD = " bazel-bin/validator/ ${ UNAME } _amd64_pure_stripped/validator --password $( cat $PASSWORD_PATH ) --keystore-path $KEYSTORE "
2019-03-15 14:42:57 +00:00
echo $CMD
nohup $CMD $> /tmp/validator$i .log &
done
2019-04-02 20:45:40 +00:00
echo " Started $END_INDEX validators "
2019-03-15 14:42:57 +00:00
2019-04-02 20:45:40 +00:00
for i in ` seq $START_INDEX $END_INDEX ` ;
2019-03-15 14:42:57 +00:00
do
echo " Sending TX for validator $i "
KEYSTORE = $DATA_PATH /keystore$i
2019-04-02 20:45:40 +00:00
HTTPFLAG = "--httpPath=https://goerli.prylabs.net"
PASSFLAG = " --passwordFile= $PASSWORD_PATH "
CONTRACTFLAG = " --depositContract= $DEPOSIT_CONTRACT "
PRIVFLAG = " --privKey= $( cat $PRIVATE_KEY_PATH ) "
KEYFLAG = " --prysm-keystore= $KEYSTORE "
AMOUNTFLAG = "--depositAmount=3200000"
2019-03-15 14:42:57 +00:00
2019-04-02 20:45:40 +00:00
CMD = " bazel-bin/contracts/deposit-contract/sendDepositTx/ ${ UNAME } _amd64_stripped/sendDepositTx "
2019-03-15 14:42:57 +00:00
2019-04-02 20:45:40 +00:00
DEPOSITCMD = " $CMD $HTTPFLAG $PASSFLAG $CONTRACTFLAG $PRIVFLAG $KEYFLAG $AMOUNTFLAG "
$DEPOSITCMD
2019-03-15 14:42:57 +00:00
done
2019-04-02 20:45:40 +00:00
echo " $END_INDEX validators are running in the background. You can follow their logs at /tmp/validator#.log where # is replaced by the validator index of $START_INDEX through $END_INDEX . "
2019-03-15 14:42:57 +00:00
echo "To stop the processes, use 'pkill validator'"