Skip to content

Commit 876ff00

Browse files
committed
Add infra tools
- public key generator from google credentials file - fast genesis script for Aggregator/Signer
1 parent 92f3ec1 commit 876ff00

File tree

3 files changed

+62
-0
lines changed

3 files changed

+62
-0
lines changed
Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
#!/bin/bash
2+
AGGREGATOR_NODE=$1
3+
4+
exec_sql_aggregator() {
5+
sqlite3 data/preview/$1/mithril/stores/aggregator.sqlite3 "$2"
6+
}
7+
8+
fix_aggregator() {
9+
LAST_EPOCH=$(exec_sql_aggregator $1 "SELECT MAX(key) FROM $2;")
10+
LAST_VALUE=$(exec_sql_aggregator $1 "SELECT value FROM $2 WHERE key = $LAST_EPOCH;")
11+
12+
CREATE_EPOCH=$LAST_EPOCH
13+
CREATE_EPOCH=$(expr $CREATE_EPOCH - $3)
14+
CREATE_EPOCH_HASH=$(echo -n $CREATE_EPOCH | sha256sum | awk '{print $1}')
15+
exec_sql_aggregator $1 "INSERT OR IGNORE INTO $2(key_hash, key, value) VALUES('$CREATE_EPOCH_HASH','$CREATE_EPOCH','$LAST_VALUE');"
16+
exec_sql_aggregator $1 "SELECT * FROM $2 WHERE key = $CREATE_EPOCH;"
17+
}
18+
19+
fix_aggregator $AGGREGATOR_NODE stake 1
20+
fix_aggregator $AGGREGATOR_NODE stake 2
21+
fix_aggregator $AGGREGATOR_NODE verification_key 1
22+
fix_aggregator $AGGREGATOR_NODE verification_key 2
23+
Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
#!/bin/bash
2+
SIGNER_NODE=$1
3+
4+
exec_sql_signer() {
5+
sqlite3 data/preview/$1/mithril/stores/signer.sqlite3 "$2"
6+
}
7+
8+
fix_signer() {
9+
LAST_EPOCH=$(exec_sql_signer $1 "SELECT MAX(key) FROM $2;")
10+
LAST_VALUE=$(exec_sql_signer $1 "SELECT value FROM $2 WHERE key = $LAST_EPOCH;")
11+
12+
CREATE_EPOCH=$LAST_EPOCH
13+
CREATE_EPOCH=$(expr $CREATE_EPOCH - $3)
14+
CREATE_EPOCH_HASH=$(echo -n $CREATE_EPOCH | sha256sum | awk '{print $1}')
15+
exec_sql_signer $1 "INSERT OR IGNORE INTO $2(key_hash, key, value) VALUES('$CREATE_EPOCH_HASH','$CREATE_EPOCH','$LAST_VALUE');"
16+
exec_sql_signer $1 "SELECT * FROM $2 WHERE key = $CREATE_EPOCH;"
17+
}
18+
19+
fix_signer $SIGNER_NODE stake 1
20+
fix_signer $SIGNER_NODE stake 2
21+
fix_signer $SIGNER_NODE protocol_initializer 1
22+
fix_signer $SIGNER_NODE protocol_initializer 2
23+
Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
#!/bin/bash
2+
3+
GOOGLE_CREDENTIALS_FILE=$1
4+
SSH_KEYS_FILE=$2
5+
VM_USER=$3
6+
7+
# Create a public key from the credentials file and append it to the ssh_keys file
8+
cat $GOOGLE_CREDENTIALS_FILE | jq -r .private_key > temp.sk
9+
CREDENTIALS_EMAIL=$(cat $GOOGLE_CREDENTIALS_FILE | jq -r .client_email)
10+
chmod 0600 temp.sk
11+
ssh-keygen -q -t rsa -y -f temp.sk -C $CREDENTIALS_EMAIL -b 2048 > temp.pub
12+
PUBLIC_KEY=$(cat temp.pub)
13+
rm -f temp.{sk,pub}
14+
15+
# Add entry to ssh_keys file
16+
echo $VM_USER:$PUBLIC_KEY $CREDENTIALS_EMAIL >> $SSH_KEYS_FILE

0 commit comments

Comments
 (0)