mirror of
https://github.com/planetmint/planetmint.git
synced 2025-03-30 15:08:31 +00:00
added election script
This commit is contained in:
parent
1dd0756d09
commit
cdb465d6bc
76
scripts/election.sh
Executable file
76
scripts/election.sh
Executable file
@ -0,0 +1,76 @@
|
||||
#!/bin/bash
|
||||
# Copyright © 2020 Interplanetary Database Association e.V.,
|
||||
# Planetmint and IPDB software contributors.
|
||||
# SPDX-License-Identifier: (Apache-2.0 AND CC-BY-4.0)
|
||||
# Code is Apache-2.0 and docs are CC-BY-4.0
|
||||
|
||||
# Change user and activate virtualenv
|
||||
activate () {
|
||||
cd /home/bigchaindb
|
||||
source env/bigchaindb/bin/activate
|
||||
}
|
||||
|
||||
# Show tendermint node id
|
||||
show_id () {
|
||||
su tendermint -c "cd && go/bin/tendermint show_node_id"
|
||||
}
|
||||
|
||||
# Show validator public key
|
||||
show_validator () {
|
||||
su tendermint -c "cd && go/bin/tendermint show_validator"
|
||||
}
|
||||
|
||||
# Elect new voting power for node
|
||||
elect_validator () {
|
||||
activate
|
||||
bigchaindb election new upsert-validator $1 $2 $3 --private-key /tmp/priv_validator_key.json
|
||||
}
|
||||
|
||||
# Show election state
|
||||
show_election () {
|
||||
activate
|
||||
bigchaindb election show $1
|
||||
}
|
||||
|
||||
# Approve election
|
||||
approve_validator () {
|
||||
activate
|
||||
bigchaindb election approve $1 --private-key /tmp/priv_validator_key.json
|
||||
}
|
||||
|
||||
# Fetch tendermint id and pubkey and create upsert proposal
|
||||
elect () {
|
||||
node_id=$(show_id)
|
||||
validator_pubkey=$(show_validator | jq -r .value)
|
||||
proposal=$(elect_validator $validator_pubkey $1 $node_id 2>&1 | grep SUCCESS)
|
||||
echo ${proposal##* }
|
||||
}
|
||||
|
||||
usage () {
|
||||
echo "usage: TODO"
|
||||
}
|
||||
|
||||
while [ "$1" != "" ]; do
|
||||
case $1 in
|
||||
show_id ) show_id
|
||||
;;
|
||||
show_validator ) show_validator
|
||||
;;
|
||||
elect ) shift
|
||||
elect $1
|
||||
;;
|
||||
show_election ) shift
|
||||
show_election $1
|
||||
;;
|
||||
approve ) shift
|
||||
approve_validator $1
|
||||
;;
|
||||
* ) usage
|
||||
exit 1
|
||||
esac
|
||||
shift
|
||||
done
|
||||
|
||||
exitcode=$?
|
||||
|
||||
exit $exitcode
|
Loading…
x
Reference in New Issue
Block a user