forked from OKEAMAH/exchain
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathstart.sh
More file actions
executable file
·131 lines (102 loc) · 5.65 KB
/
start.sh
File metadata and controls
executable file
·131 lines (102 loc) · 5.65 KB
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
#!/bin/bash
KEY="captain"
CHAINID="exchain-67"
MONIKER="okc"
CURDIR=`dirname $0`
HOME_SERVER=$CURDIR/"_cache_evm"
set -e
set -o errexit
set -a
set -m
killbyname() {
NAME=$1
ps -ef|grep "$NAME"|grep -v grep |awk '{print "kill -9 "$2", "$8}'
ps -ef|grep "$NAME"|grep -v grep |awk '{print "kill -9 "$2}' | sh
echo "All <$NAME> killed!"
}
run() {
LOG_LEVEL=main:info,iavl:info,*:error,state:info,provider:info
#--mempool.enable_delete_min_gp_tx false \
# exchaind start --pruning=nothing --rpc.unsafe \
nohup exchaind start --rpc.unsafe \
--local-rpc-port 26657 \
--log_level $LOG_LEVEL \
--log_file json \
--dynamic-gp-mode=2 \
--consensus.timeout_commit 2000ms \
--enable-preruntx=1 \
--iavl-enable-async-commit \
--enable-gid \
--fast-query=true \
--append-pid=true \
--iavl-output-modules evm=0,acc=0 \
--commit-gap-height 3 \
--trace --home $HOME_SERVER --chain-id $CHAINID \
--elapsed Round=1,CommitRound=1,Produce=1 \
--rest.laddr "tcp://localhost:8545" > okc.txt 2>&1 &
# --iavl-commit-interval-height \
# --iavl-enable-async-commit \
# --iavl-cache-size int Max size of iavl cache (default 1000000)
# --iavl-commit-interval-height int Max interval to commit node cache into leveldb (default 100)
# --iavl-debug int Enable iavl project debug
# --iavl-enable-async-commit Enable async commit
# --iavl-enable-pruning-history-state Enable pruning history state
# --iavl-height-orphans-cache-size int Max orphan version to cache in memory (default 8)
# --iavl-max-committed-height-num int Max committed version to cache in memory (default 8)
# --iavl-min-commit-item-count int Min nodes num to triggle node cache commit (default 500000)
# --iavl-output-modules
}
killbyname exchaind
killbyname exchaincli
set -x # activate debugging
# run
# remove existing daemon and client
rm -rf ~/.exchain*
rm -rf $HOME_SERVER
(cd .. && make install DEBUG=true Venus1Height=1 Venus2Height=1 EarthHeight=1)
# Set up config for CLI
exchaincli config chain-id $CHAINID
exchaincli config output json
exchaincli config indent true
exchaincli config trust-node true
exchaincli config keyring-backend test
# if $KEY exists it should be deleted
#
# "eth_address": "0xbbE4733d85bc2b90682147779DA49caB38C0aA1F",
# prikey: 8ff3ca2d9985c3a52b459e2f6e7822b23e1af845961e22128d5f372fb9aa5f17
exchaincli keys add --recover captain -m "puzzle glide follow cruel say burst deliver wild tragic galaxy lumber offer" -y
# "eth_address": "0x83D83497431C2D3FEab296a9fba4e5FaDD2f7eD0",
exchaincli keys add --recover admin16 -m "palace cube bitter light woman side pave cereal donor bronze twice work" -y
exchaincli keys add --recover admin17 -m "antique onion adult slot sad dizzy sure among cement demise submit scare" -y
exchaincli keys add --recover admin18 -m "lazy cause kite fence gravity regret visa fuel tone clerk motor rent" -y
# Set moniker and chain-id for Ethermint (Moniker can be anything, chain-id must be an integer)
exchaind init $MONIKER --chain-id $CHAINID --home $HOME_SERVER
# Change parameter token denominations to okt
cat $HOME_SERVER/config/genesis.json | jq '.app_state["staking"]["params"]["bond_denom"]="okt"' > $HOME_SERVER/config/tmp_genesis.json && mv $HOME_SERVER/config/tmp_genesis.json $HOME_SERVER/config/genesis.json
cat $HOME_SERVER/config/genesis.json | jq '.app_state["crisis"]["constant_fee"]["denom"]="okt"' > $HOME_SERVER/config/tmp_genesis.json && mv $HOME_SERVER/config/tmp_genesis.json $HOME_SERVER/config/genesis.json
cat $HOME_SERVER/config/genesis.json | jq '.app_state["gov"]["deposit_params"]["min_deposit"][0]["denom"]="okt"' > $HOME_SERVER/config/tmp_genesis.json && mv $HOME_SERVER/config/tmp_genesis.json $HOME_SERVER/config/genesis.json
cat $HOME_SERVER/config/genesis.json | jq '.app_state["mint"]["params"]["mint_denom"]="okt"' > $HOME_SERVER/config/tmp_genesis.json && mv $HOME_SERVER/config/tmp_genesis.json $HOME_SERVER/config/genesis.json
# Enable EVM
if [ "$(uname -s)" == "Darwin" ]; then
sed -i "" 's/"enable_call": false/"enable_call": true/' $HOME_SERVER/config/genesis.json
sed -i "" 's/"enable_create": false/"enable_create": true/' $HOME_SERVER/config/genesis.json
sed -i "" 's/"enable_contract_blocked_list": false/"enable_contract_blocked_list": true/' $HOME_SERVER/config/genesis.json
else
sed -i 's/"enable_call": false/"enable_call": true/' $HOME_SERVER/config/genesis.json
sed -i 's/"enable_create": false/"enable_create": true/' $HOME_SERVER/config/genesis.json
sed -i 's/"enable_contract_blocked_list": false/"enable_contract_blocked_list": true/' $HOME_SERVER/config/genesis.json
fi
# Allocate genesis accounts (cosmos formatted addresses)
exchaind add-genesis-account $(exchaincli keys show $KEY -a) 100000000okt --home $HOME_SERVER
exchaind add-genesis-account $(exchaincli keys show admin16 -a) 900000000okt --home $HOME_SERVER
exchaind add-genesis-account $(exchaincli keys show admin17 -a) 900000000okt --home $HOME_SERVER
exchaind add-genesis-account $(exchaincli keys show admin18 -a) 900000000okt --home $HOME_SERVER
# Sign genesis transaction
exchaind gentx --name $KEY --keyring-backend test --home $HOME_SERVER
# Collect genesis tx
exchaind collect-gentxs --home $HOME_SERVER
# Run this to ensure everything worked and that the genesis file is setup correctly
exchaind validate-genesis --home $HOME_SERVER
exchaincli config keyring-backend test
run
# exchaincli tx send captain 0x83D83497431C2D3FEab296a9fba4e5FaDD2f7eD0 1okt --fees 1okt -b block -y