mirror of
https://gitlab.com/pulsechaincom/prysm-pulse.git
synced 2024-12-25 12:57:18 +00:00
0732012459
* first version - broken * working proto changes * resolve review remarks * fix goimport issues * fix service issues * first logic version-broken * first running version - no new tests * fix validator client test * add wait group to goroutines * remove unused var in function call * fix review remarks and tests * merge master changes and fix conflicts * gazzele fix * fix prestonvanloon requested changes * merge and some of terenc3t remarks addressed * _,pk bug fix in log * fix account file name suffix and filter not active validator out * merge with master and fix missing parameters * run over all public keys in hasvalidators * add test for error when no all the validators has index in the db and hasvalidators is called * fix runner tests fail due to timing issues * goimports * smaller sleep time in proposer tests * fix UpdateAssignments loging * fix goimports * added && false commented TestUpdateAssignments_DoesNothingWhenNotEpochStartAndAlreadyExistingAssignments * hasvalidators without missing publickeys list * fix some of prestone review remarks * fixes for prestone comments * review changes applied * expect context call in TestWaitForActivation_ValidatorOriginallyExists * changed hasvalidators to return true if one validator exists * fix init problem to getkeys * hasvalidators requiers all validators to be in db * validator attest assignments update * fix ap var name * Change name to hasallvalidators * fix tests * update script, fix any vs all validator calls * fix wait for activation * filter validator * reuse the reply block * fix imports * Remove dup * better lookup of active validators * better filter active vlaidators, still need to fix committee assignment tests * lint * use activated keys * fix for postchainstart * fix logging * move state transitions * hasanyvalidator and hasallvalidators * fix tests with updatechainhead missing * add tests * fix TestCommitteeAssignment_OK * fix test * fix validator tests * fix TestCommitteeAssignment_multipleKeys_OK and TestWaitForActivation_ValidatorOriginallyExists * fix goimports * removed unused param from assignment * change string(pk) to hex.EncodeString(pk) fix change requests * add inactive validator status to assignments * fix logging mess due to multi validator setup * set no assignment to debug level * log assignments every epoch * logging fixes * fixed runtime by using the right assignments * correct activation request * fix the validator panic * correct assignment * fix test fail and waitforactivation * performance log issue fix * fix goimports * add log message with truncated pk for attest * add truncated pk to attest and propose logs * Add comment to script, change 9 to 8 * Update assignment log * Add comment, report number of assignments * Use WithError, add validator as field, merge block proposal log * Update validator_propose.go * fix * use entry.String() * fix fmt
92 lines
2.0 KiB
Bash
Executable File
92 lines
2.0 KiB
Bash
Executable File
#!/bin/bash
|
|
|
|
# This script creates 8 private keys with 8 deposits and runs a single
|
|
# validator process.
|
|
|
|
PRIVATE_KEY_PATH=~/priv
|
|
|
|
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
|
|
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
|
|
|
|
KEYSTORE=$DATA_PATH/keystore
|
|
|
|
for i in `seq $START_INDEX $END_INDEX`;
|
|
do
|
|
echo "Generating validator key $i"
|
|
|
|
ACCOUNTCMD="bazel-bin/validator/${UNAME}_amd64_pure_stripped/validator accounts create --password $(cat $PASSWORD_PATH) --keystore-path $KEYSTORE"
|
|
|
|
echo $ACCOUNTCMD
|
|
|
|
$ACCOUNTCMD
|
|
done
|
|
|
|
|
|
CMD="bazel-bin/validator/${UNAME}_amd64_pure_stripped/validator --password $(cat $PASSWORD_PATH) --keystore-path $KEYSTORE"
|
|
|
|
echo $CMD
|
|
nohup $CMD $> /tmp/validator.log &
|
|
|
|
echo "Sending TX for validator key $i"
|
|
|
|
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"
|
|
|
|
CMD="bazel-bin/contracts/deposit-contract/sendDepositTx/${UNAME}_amd64_stripped/sendDepositTx"
|
|
|
|
DEPOSITCMD="$CMD $HTTPFLAG $PASSFLAG $CONTRACTFLAG $PRIVFLAG $KEYFLAG $AMOUNTFLAG"
|
|
|
|
$DEPOSITCMD
|
|
|
|
echo "A validator is running in the background. You can follow the logs at /tmp/validator.log."
|
|
|
|
echo "To stop the processes, use 'pkill validator'"
|