-
Notifications
You must be signed in to change notification settings - Fork 4
/
Copy pathtest.sh
executable file
·49 lines (40 loc) · 919 Bytes
/
test.sh
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
#!/bin/bash
set -e
DFX=$(which dfx)
# DFX='./../sdk/target/x86_64-unknown-linux-musl/debug/dfx'
N=5
M=100
declare -a NODE
for i in $(seq 1 $N)
do
${DFX} build
${DFX} canister install dht
NODE[$i]=$(${DFX} canister id dht | awk -F ':' '{print $2}')
done
for i in $(seq 1 $N)
do
j=$(
if [ $i -eq $N ]
then echo 1
else echo $(expr $i + 1)
fi
)
eval ${DFX}' canister call ic:'${NODE[$i]}' configure '\''("'${NODE[$j]}'")'\'''
done
for i in $(seq 1 $N)
do
eval ${DFX}' canister call ic:'${NODE[$i]}' peers'
done
for i in $(seq 1 $M)
do
i=$(expr $i % $N + 1)
KEY=$(openssl rand -hex 32)
echo 'KEY = '${KEY^^}
VALUE=$(openssl rand -hex 1000)
echo 'VALUE = '${VALUE^^}
eval ${DFX}' canister call ic:'${NODE[$i]}' putInHex '\''("'${KEY^^}'","'${VALUE^^}'")'\'''
done
for i in $(seq 1 $N)
do
eval ${DFX}' canister call ic:'${NODE[$i]}' peers'
done