-
Notifications
You must be signed in to change notification settings - Fork 15
/
Copy pathtestnet.template
137 lines (111 loc) · 5.09 KB
/
testnet.template
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
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
#!/bin/bash
# set up a wallet just for holding the key used during blockchain ignition
bioshost=$BIOS_HOSTNAME
if [ -z "$bioshost" ]; then
bioshost=localhost
fi
biosport=$BIOS_HTTP_PORT
if [ -z "$biosport" ]; then
biosport=9776
fi
bioscontractpath=$BIOS_CONTRACT_PATH
if [ -z "$bioscontractpath" ]; then
bioscontractpath="unittests/contracts/act.bios"
fi
wddir=eosio-ignition-wd
wdaddr=localhost:8899
wdurl=http://$wdaddr
# Manual deployers, add a line below this block that looks like:
# bioshost=$BIOS_HOSTNAME
# biosport=$BIOS_HTTP_PORT
# cnt_dir=$CONTRACT_DIR
# sys=$SYS_CONTRACT
# where $BIOS_HOSTNAME is replaced by the hostname portion of the http-server-address configured
# for the nodeos instance running to bios producer
# ------ DO NOT ALTER THE NEXT LINE -------
###INSERT envars
logfile=$wddir/bootlog.txt
if [ -e $wddir ]; then
rm -rf $wddir
fi
mkdir $wddir
step=1
echo Initializing ignition sequence at $(date) | tee $logfile
echo "FEATURE_DIGESTS: $FEATURE_DIGESTS" >> $logfile
echo "http-server-address = $wdaddr" > $wddir/config.ini
programs/keosd/keosd --config-dir $wddir --data-dir $wddir 2> $wddir/wdlog.txt &
echo $$ > ignition_wallet.pid
echo keosd log in $wddir/wdlog.txt >> $logfile
sleep 1
ecmd () {
echo ===== Start: $step ============ >> $logfile
echo executing: cleos --wallet-url $wdurl --url http://$bioshost:$biosport $* | tee -a $logfile
echo ----------------------- >> $logfile
programs/cleos/cleos --wallet-url $wdurl --url http://$bioshost:$biosport $* >> $logfile 2>&1
echo ==== End: $step ============== >> $logfile
step=$(($step + 1))
}
wcmd () {
ecmd wallet $*
}
cacmd () {
programs/cleos/cleos --wallet-url $wdurl --url http://$bioshost:$biosport system newaccount --transfer --stake-net "10000000.0000 act" --stake-cpu "10000000.0000 act" --buy-ram "10000000.0000 act" act $* >> $logfile 2>&1
ecmd system regproducer $1 $2
ecmd system voteproducer prods $1 $1
}
sleep 2
ecmd get info
wcmd create --to-console -n ignition
# Manual deployers, add a line below this block that looks like:
# wcmd import -n ignition --private-key $PRODKEY[0]
# wcmd import -n ignition --private-key $PRODKEY[1]
# ...
# wcmd import -n ignition --private-key $PRODKEY[20]
# where $BIOSKEY is replaced by the private key for the bios node
# ------ DO NOT ALTER THE NEXT LINE -------
###INSERT prodkeys
ecmd set contract act contracts/act.bios act.bios.wasm act.bios.abi
# Preactivate all digests
for digest in $FEATURE_DIGESTS;
do
ecmd push action act activate "{\"feature_digest\":\"$digest\"}" -p act
done
# Create required system accounts
ecmd create key --to-console
pubsyskey=`grep "^Public key:" $logfile | tail -1 | sed "s/^Public key://"`
prisyskey=`grep "^Private key:" $logfile | tail -1 | sed "s/^Private key://"`
echo act.* keys: $prisyskey $pubsyskey >> $logfile
wcmd import -n ignition --private-key $prisyskey
ecmd create account act act.bpay $pubsyskey $pubsyskey
ecmd create account act act.msig $pubsyskey $pubsyskey
ecmd create account act act.names $pubsyskey $pubsyskey
ecmd create account act act.ram $pubsyskey $pubsyskey
ecmd create account act act.ramfee $pubsyskey $pubsyskey
ecmd create account act act.saving $pubsyskey $pubsyskey
ecmd create account act act.stake $pubsyskey $pubsyskey
ecmd create account act act.token $pubsyskey $pubsyskey
ecmd create account act act.vpay $pubsyskey $pubsyskey
ecmd create account act act.sudo $pubsyskey $pubsyskey
ecmd set contract act.token contracts/act.token act.token.wasm act.token.abi
ecmd set contract act.msig contracts/act.msig act.msig.wasm act.msig.abi
ecmd set contract act.wrap contracts/act.wrap act.wrap.wasm act.wrap.abi
echo ===== Start: $step ============ >> $logfile
echo executing: cleos --wallet-url $wdurl --url http://$bioshost:$biosport push action act.token create '[ "act", "10000000000.0000 act" ]' -p act.token | tee -a $logfile
echo executing: cleos --wallet-url $wdurl --url http://$bioshost:$biosport push action act.token issue '[ "act", "1000000000.0000 act", "memo" ]' -p act | tee -a $logfile
echo ----------------------- >> $logfile
programs/cleos/cleos --wallet-url $wdurl --url http://$bioshost:$biosport push action act.token create '[ "act", "10000000000.0000 act" ]' -p act.token >> $logfile 2>&1
programs/cleos/cleos --wallet-url $wdurl --url http://$bioshost:$biosport push action act.token issue '[ "act", "1000000000.0000 act", "memo" ]' -p act >> $logfile 2>&1
echo ==== End: $step ============== >> $logfile
step=$(($step + 1))
ecmd set contract act contracts/act.system act.system.wasm act.system.abi
programs/cleos/cleos --wallet-url $wdurl --url http://$bioshost:$biosport push action act init '[0, "4,act"]' -p act >> $logfile 2>&1
# Manual deployers, add a series of lines below this block that looks like:
# cacmd $PRODNAME[0] $OWNERKEY[0] $ACTIVEKEY[0]
# cacmd $PRODNAME[1] $OWNERKEY[1] $ACTiVEKEY[1]
# ...
# cacmd $PRODNAME[20] $OWNERKEY[20] $ACTIVEKEY[20]
# where $PRODNAME is the producer account name and $OWNERKEY and $ACTIVEKEY are both the producer's
# public key
# ------ DO NOT ALTER THE NEXT LINE -------
###INSERT cacmd
pkill -15 keosd