Skip to content

Commit 3adcb3a

Browse files
deps + fix: evmos v12.1.3, bd2 web-v2.15.x, gaiad 10.0.0, hermes v1.15.0 (#32)
* on update deps to evmos v12.1.2 * on dev * update md files * update md files * on dev * evmos v12.1.3 and cosmos v10.0.0 * require yarn * hermes v1.5.0 * update hermes ibc * update versions & chain id in documents * update version ibc in docs * add config bd2 web app dir to README * fix bug gas prices in hermes setup * specific gas price when transfer coin to ibc relayer wallet * wait a bit more before start tx * add BD2_CFG_CHAIN_X_CHAIN_NAME for bd2
1 parent c1c78a4 commit 3adcb3a

17 files changed

+197
-176
lines changed

.gitignore

+1
Original file line numberDiff line numberDiff line change
@@ -12,3 +12,4 @@ source-code*/
1212
*genesis.json
1313
*config.toml
1414
*app.toml
15+
rel_*_seed.key

Install-Required-Tools-on-Ubuntu.md

+11-4
Original file line numberDiff line numberDiff line change
@@ -2,12 +2,12 @@ I use `Ubuntu 22.04 LTS` machine for development purpose so I will provide some
22

33
Update system first `sudo apt-get update -y`
44

5-
- Go 1.18.3
5+
- Go 1.20.2
66
> cd /tmp
77
8-
> wget https://go.dev/dl/go1.18.3.linux-amd64.tar.gz
8+
> wget https://go.dev/dl/go1.20.2.linux-amd64.tar.gz
99
10-
> sudo tar -zxvf go1.18.3.linux-amd64.tar.gz -C /usr/local/
10+
> sudo tar -zxvf go1.20.2.linux-amd64.tar.gz -C /usr/local/
1111
1212
> mkdir ~/go
1313
@@ -60,7 +60,14 @@ Update system first `sudo apt-get update -y`
6060
6161
> sudo apt-get install -y nodejs
6262
63+
- Yarn
64+
> curl -sL https://dl.yarnpkg.com/debian/pubkey.gpg | sudo apt-key add -
65+
66+
> echo "deb https://dl.yarnpkg.com/debian/ stable main" | sudo tee /etc/apt/sources.list.d/yarn.list
67+
68+
> sudo apt update -y && sudo apt-get install -y yarn
69+
6370
- hasura-cli
6471
> curl -L https://github.com/hasura/graphql-engine/raw/stable/cli/get.sh | bash
6572
66-
#### Remember to relog to all new PATH update takes effect
73+
#### Remember to relog to all new PATH update takes effect

README.md

+9-9
Original file line numberDiff line numberDiff line change
@@ -5,22 +5,22 @@ I wrote hundred lines of comments which explains every steps in each script file
55
Not only EVMOS, you can use this script to build for other chains like cosmos,... Look at [this](https://github.com/VictorTrustyDev/EVMOS-sample-scripts/blob/main/sample.cosmos-and-evmos.override-env.sh) to know how to do it
66

77
#### Pre-requisites
8-
- [Go 1.17.5+](https://go.dev/doc/install) to build chains
8+
- [Go 1.20.2+](https://go.dev/doc/install) to build chains
99
- [jq](https://stedolan.github.io/jq/download)
1010
- [yq + tomlq (build on top of jq)](https://github.com/kislyuk/yq)
1111
- [Rust 1.60+](https://www.rust-lang.org/tools/install) to build Hermes - IBC relayer
1212
- [docker](https://docs.docker.com/engine/install/) & [docker compose](https://docs.docker.com/compose/install/)
13-
- Node JS to build & run Big Dipper 2.0 for Cosmos based chains
13+
- Node JS & Yarn to build & run Big Dipper 2.0 for Cosmos based chains
1414
- PostgreSQL client (psql) for postgres 12.5 to setup Big Dipper
1515
- [Hasura cli](https://hasura.io/docs/latest/graphql/core/hasura-cli/install-hasura-cli/) for bdjuno
1616

1717
You can find commands to install the above tools [here](https://github.com/VictorTrustyDev/EVMOS-sample-scripts/blob/main/Install-Required-Tools-on-Ubuntu.md)
1818

1919
I created all of the following samples on an Ubuntu 22.04 LTS machine with 4 CPU 16 GB RAM. It can run
20-
- 2 [EVMOS](https://github.com/evmos/evmos/tree/v6.0.1) chains
21-
- 1 [Hermes](https://github.com/informalsystems/ibc-rs/tree/v0.15.0) as IBC relayer to connect those chains
20+
- 2 [EVMOS](https://github.com/evmos/evmos/tree/v12.1.3) chains
21+
- 1 [Hermes](https://github.com/informalsystems/ibc-rs/tree/v1.5.0) as IBC relayer to connect those chains
2222
- 2 [bdjuno & hasura](https://github.com/forbole/bdjuno/tree/chains/evmos/mainnet) as block explorer's backend & graphql service
23-
- 2 [Big Dipper 2.0](https://github.com/forbole/big-dipper-2.0-cosmos/tree/chains/evmos) as block explorer's frontend
23+
- 2 [Big Dipper 2.0](https://github.com/forbole/big-dipper-2.0-cosmos) as block explorer's frontend
2424

2525
without any performance issue (CPU ~20-80% per core, ram ~50% via htop)
2626

@@ -31,16 +31,16 @@ without any performance issue (CPU ~20-80% per core, ram ~50% via htop)
3131

3232
### Software versions:
3333

34-
- [Evmos v8.1.0](https://github.com/evmos/evmos/tree/v8.1.0)
35-
- [Hermes v0.15.0](https://github.com/informalsystems/ibc-rs/tree/v0.15.0)
34+
- [Evmos v12.1.3](https://github.com/evmos/evmos/tree/v12.1.3)
35+
- [Hermes v1.5.0](https://github.com/informalsystems/ibc-rs/tree/v1.5.0)
3636
- [bdjuno branch evmos](https://github.com/forbole/bdjuno/tree/chains/evmos/mainnet)
37-
- [Big Dipper 2.0 for Cosmos chains branch evmos](https://github.com/forbole/big-dipper-2.0-cosmos/tree/chains/evmos)
37+
- [Big Dipper 2.0 for Cosmos chains v2.x](https://github.com/forbole/big-dipper-2.0-cosmos)
3838

3939
#### Customization
4040
- You can change their version by updating file [env.sh](https://github.com/VictorTrustyDev/EVMOS-sample-scripts/blob/main/env.sh)
4141
- This sample is using keyring `test`, you may need to change to `file` for secure your test env if needed in [env.sh](https://github.com/VictorTrustyDev/EVMOS-sample-scripts/blob/main/env.sh)
4242
- You can create `override-env.sh` file and override values of [env.sh](https://github.com/VictorTrustyDev/EVMOS-sample-scripts/blob/main/env.sh)
43-
- The [sample.cosmos-and-evmos.override-env.sh](https://github.com/VictorTrustyDev/EVMOS-sample-scripts/blob/main/sample.cosmos-and-evmos.override-env.sh) file contains example which tell you how to override variables of [env.sh](https://github.com/VictorTrustyDev/EVMOS-sample-scripts/blob/main/env.sh) and make the chain 1 use [Cosmos (gaia) source](https://github.com/cosmos/gaia/tree/v7.0.2), rename it to `override-env.sh` to make it effectives
43+
- The [sample.cosmos-and-evmos.override-env.sh](https://github.com/VictorTrustyDev/EVMOS-sample-scripts/blob/main/sample.cosmos-and-evmos.override-env.sh) file contains example which tell you how to override variables of [env.sh](https://github.com/VictorTrustyDev/EVMOS-sample-scripts/blob/main/env.sh) and make the chain 1 use [Cosmos (gaia) source](https://github.com/cosmos/gaia/tree/v10.0.0), rename it to `override-env.sh` to make it effectives
4444
- The [sample.expose-big-dipper-ui.override-env.sh](https://github.com/VictorTrustyDev/EVMOS-sample-scripts/blob/main/sample.expose-big-dipper-ui.override-env.sh) file contains example which tell you how to override variables of [env.sh](https://github.com/VictorTrustyDev/EVMOS-sample-scripts/blob/main/env.sh) and make the block explorer UI (Big Dipper 2.0) accessible from outside world, rename it to `override-env.sh` to make it effectives
4545

4646
#### Default ports used in these samples

all-in-one.sh

+10-5
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,7 @@ show_required_tools() {
3232
echo >&2 "- psql (PostgreSQL client)"
3333
echo >&2 " + Hint: sudo apt install postgresql-client"
3434
echo >&2 "- npm"
35+
echo >&2 "- yarn"
3536
echo >&2 "- hasura-cli"
3637
echo >&2 " + https://hasura.io/docs/latest/graphql/core/hasura-cli/install-hasura-cli/"
3738
echo >&2 " + Hint: curl -L https://github.com/hasura/graphql-engine/raw/stable/cli/get.sh | bash"
@@ -50,6 +51,7 @@ command -v 'docker-compose' > /dev/null 2>&1 || { show_required_tools 'docker-co
5051
command -v cargo > /dev/null 2>&1 || { show_required_tools 'cargo'; exit 1; }
5152
command -v psql > /dev/null 2>&1 || { show_required_tools 'psql'; exit 1; }
5253
command -v npm > /dev/null 2>&1 || { show_required_tools 'npm'; exit 1; }
54+
command -v yarn > /dev/null 2>&1 || { show_required_tools 'yarn'; exit 1; }
5355

5456
source "./env.sh"
5557
if [ -f "$BD_HASURA_BINARY" ]; then
@@ -92,6 +94,9 @@ AIO_DIR_BD="./big-dipper-as-block-explorer"
9294
AIO_DIR_HERMES="./hermes-as-ibc-relayer"
9395
AIO_DIR_CHAIN="./blockchain-in-docker"
9496

97+
GAS_PRICE_1="$(bc <<< "20 * (10^$CHAIN_1_GAS_DENOM_EXPONENT)")$CHAIN_1_MIN_DENOM_SYMBOL"
98+
GAS_PRICE_2="$(bc <<< "20 * (10^$CHAIN_2_GAS_DENOM_EXPONENT)")$CHAIN_2_MIN_DENOM_SYMBOL"
99+
95100
echo "[Clean up previous setup]"
96101

97102
echo "> [Big Dipper]"
@@ -127,7 +132,7 @@ sleep 2s
127132
[ $? -eq 0 ] || { echo >&2 "ERR AIO: Operation failed (build docker image)"; exit 1; }
128133
sleep 2s
129134
docker-compose -f network2.yml up -d
130-
sleep 5s
135+
sleep 20s
131136

132137
cd "$AIO_CUR_DIR"
133138
cd "$AIO_DIR_HERMES"
@@ -137,16 +142,16 @@ fi
137142
echo "> [Load up token for IBC account on chain 1]"
138143
echo "Keyring: $KEYRING"
139144
if [ "$KEYRING" = "test" ]; then
140-
docker exec -it vtevmos11 bash -c "$CHAIN_1_DAEMON_BINARY_NAME tx bank send $VAL_2_KEY_NAME $REL_1_ADDR $(bc <<< "$HERMES_RESERVED_FEE * (10^$HERMES_CFG_CHAIN_1_DENOM_EXPONENT)")$HERMES_CFG_CHAIN_1_GAS_PRICE_DENOM_SYMBOL --home /.evmosd1 --node 'tcp://127.0.0.1:26657' --yes"
145+
docker exec -it vtevmos11 bash -c "$CHAIN_1_DAEMON_BINARY_NAME tx bank send $VAL_2_KEY_NAME $REL_1_ADDR $(bc <<< "$HERMES_RESERVED_FEE * (10^$HERMES_CFG_CHAIN_1_DENOM_EXPONENT)")$HERMES_CFG_CHAIN_1_GAS_PRICE_DENOM_SYMBOL --gas-prices $GAS_PRICE_1 --home /.evmosd1 --node 'tcp://127.0.0.1:26657' --yes"
141146
else
142-
docker exec -it vtevmos11 bash -c "echo '$VAL_KEYRING_FILE_ENCRYPTION_PASSWORD' | $CHAIN_1_DAEMON_BINARY_NAME tx bank send $VAL_2_KEY_NAME $REL_1_ADDR $(bc <<< "$HERMES_RESERVED_FEE * (10^$HERMES_CFG_CHAIN_1_DENOM_EXPONENT)")$HERMES_CFG_CHAIN_1_GAS_PRICE_DENOM_SYMBOL --home /.evmosd1 --node 'tcp://127.0.0.1:26657' --yes"
147+
docker exec -it vtevmos11 bash -c "echo '$VAL_KEYRING_FILE_ENCRYPTION_PASSWORD' | $CHAIN_1_DAEMON_BINARY_NAME tx bank send $VAL_2_KEY_NAME $REL_1_ADDR $(bc <<< "$HERMES_RESERVED_FEE * (10^$HERMES_CFG_CHAIN_1_DENOM_EXPONENT)")$HERMES_CFG_CHAIN_1_GAS_PRICE_DENOM_SYMBOL --gas-prices $GAS_PRICE_1 --home /.evmosd1 --node 'tcp://127.0.0.1:26657' --yes"
143148
fi
144149
[ $? -eq 0 ] || { echo >&2 "ERR AIO: Operation failed"; exit 1; }
145150
echo "> [Load up token for IBC account on chain 2]"
146151
if [ "$KEYRING" = "test" ]; then
147-
docker exec -it vtevmos21 bash -c "$CHAIN_2_DAEMON_BINARY_NAME tx bank send $VAL_2_KEY_NAME $REL_2_ADDR $(bc <<< "$HERMES_RESERVED_FEE * (10^$HERMES_CFG_CHAIN_2_DENOM_EXPONENT)")$HERMES_CFG_CHAIN_2_GAS_PRICE_DENOM_SYMBOL --home /.evmosd2 --node 'tcp://127.0.0.1:26657' --yes"
152+
docker exec -it vtevmos21 bash -c "$CHAIN_2_DAEMON_BINARY_NAME tx bank send $VAL_2_KEY_NAME $REL_2_ADDR $(bc <<< "$HERMES_RESERVED_FEE * (10^$HERMES_CFG_CHAIN_2_DENOM_EXPONENT)")$HERMES_CFG_CHAIN_2_GAS_PRICE_DENOM_SYMBOL --gas-prices $GAS_PRICE_2 --home /.evmosd2 --node 'tcp://127.0.0.1:26657' --yes"
148153
else
149-
docker exec -it vtevmos21 bash -c "echo '$VAL_KEYRING_FILE_ENCRYPTION_PASSWORD' | $CHAIN_2_DAEMON_BINARY_NAME tx bank send $VAL_2_KEY_NAME $REL_2_ADDR $(bc <<< "$HERMES_RESERVED_FEE * (10^$HERMES_CFG_CHAIN_2_DENOM_EXPONENT)")$HERMES_CFG_CHAIN_2_GAS_PRICE_DENOM_SYMBOL --home /.evmosd2 --node 'tcp://127.0.0.1:26657' --yes"
154+
docker exec -it vtevmos21 bash -c "echo '$VAL_KEYRING_FILE_ENCRYPTION_PASSWORD' | $CHAIN_2_DAEMON_BINARY_NAME tx bank send $VAL_2_KEY_NAME $REL_2_ADDR $(bc <<< "$HERMES_RESERVED_FEE * (10^$HERMES_CFG_CHAIN_2_DENOM_EXPONENT)")$HERMES_CFG_CHAIN_2_GAS_PRICE_DENOM_SYMBOL --gas-prices $GAS_PRICE_2 --home /.evmosd2 --node 'tcp://127.0.0.1:26657' --yes"
150155
fi
151156
[ $? -eq 0 ] || { echo >&2 "ERR AIO: Operation failed"; exit 1; }
152157

big-dipper-as-block-explorer/1_install-bdjuno.sh

+2-2
Original file line numberDiff line numberDiff line change
@@ -60,7 +60,7 @@ docker run \
6060
[ $? -eq 0 ] || { echo >&2 "ERR: Failed to create a PostgreSQL container"; }
6161

6262
echo 'Waiting DB up'
63-
sleep 3s
63+
sleep 20s
6464

6565
echo "- Creating database $BD_PG_DB"
6666
PGPASSWORD=$BD_CFG_PG_USR_PASS psql -h 127.0.0.1 -p $PG_PORT -d postgres -U postgres -c "CREATE DATABASE $BD_PG_DB;"
@@ -175,4 +175,4 @@ echo "Now you need to:"
175175
echo "- copy genesis.json of the chain and put it into $BD_HOME folder (expect file $BD_HOME/genesis.json)"
176176
echo '// TODO: try to add mint module to config.yaml'
177177

178-
echo "After that you can move to step 2 (run ./2_install-bdjuno.sh)"
178+
echo "After that you can move to step 2 (run ./2_install-bdjuno.sh)"

big-dipper-as-block-explorer/4_install-front-end.sh

+49-29
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
#!/bin/bash
22

33
command -v npm > /dev/null 2>&1 || { echo >&2 "ERR: npm is required"; exit 1; }
4+
command -v yarn > /dev/null 2>&1 || { echo >&2 "ERR: yarn is required"; exit 1; }
45

56
source ../env.sh
67

@@ -80,52 +81,71 @@ fi
8081
NPM_ENV="$BD2_SOURCE_DIR/.env"
8182
echo "Setting up file $NPM_ENV"
8283
echo -e "
83-
NEXT_PUBLIC_GRAPHQL_URL=http://$BD2_PUBLIC_DOMAIN:$BD_HASURA_PORT/v1/graphql
84+
\nGRAPHQL_URL=http://$BD2_PUBLIC_DOMAIN:$BD_HASURA_PORT/v1/graphql
85+
\nNEXT_PUBLIC_GRAPHQL_URL=http://$BD2_PUBLIC_DOMAIN:$BD_HASURA_PORT/v1/graphql
86+
\nGRAPHQL_WS=ws://$BD2_PUBLIC_DOMAIN:$BD_HASURA_PORT/v1/graphql
8487
\nNEXT_PUBLIC_GRAPHQL_WS=ws://$BD2_PUBLIC_DOMAIN:$BD_HASURA_PORT/v1/graphql
8588
\nNODE_ENV=test
8689
\nPORT=$BD2_PORT
87-
\nNEXT_PUBLIC_URL=http://$BD2_PUBLIC_DOMAIN:$BD2_PORT
90+
\nRPC_WEBSOCKET=ws://$BD2_PUBLIC_RPC_26657/websocket
8891
\nNEXT_PUBLIC_RPC_WEBSOCKET=ws://$BD2_PUBLIC_RPC_26657/websocket
89-
\nNEXT_PUBLIC_CHAIN_TYPE=mainnet
92+
\nNEXT_PUBLIC_CHAIN_TYPE=Devnet
93+
\nPROJECT_NAME=$BD2_PROJECT_NAME
9094
" > "$NPM_ENV"
9195

96+
cp "$NPM_ENV" "$BD2_UI_DIR"
97+
9298
# BD2 chain config
93-
BD2_CHAIN_CONFIG_MAINNET="$BD2_SOURCE_DIR/src/configs/chain_config.mainnet.json"
94-
BD2_CHAIN_CONFIG_TESTNET="$BD2_SOURCE_DIR/src/configs/chain_config.testnet.json"
95-
BD2_CHAIN_CONFIG_TMP="$BD2_SOURCE_DIR/src/configs/tmp_chain_config.json"
96-
echo "Setting up file mainnet chain config"
99+
BD2_CHAIN_CONFIG_MAINNET="$BD2_UI_DIR/src/chain.json"
100+
BD2_CHAIN_CONFIG_TMP="$BD2_UI_DIR/src/tmp_chain.json"
101+
echo "Setting up file chain config"
102+
cat "$BD2_CHAIN_CONFIG_MAINNET" | jq '.chainName="'$CHAIN_NAME'"' > $BD2_CHAIN_CONFIG_TMP && mv $BD2_CHAIN_CONFIG_TMP $BD2_CHAIN_CONFIG_MAINNET
97103
cat "$BD2_CHAIN_CONFIG_MAINNET" | jq '.title="'$CHAIN_NAME' Block Explorer"' > $BD2_CHAIN_CONFIG_TMP && mv $BD2_CHAIN_CONFIG_TMP $BD2_CHAIN_CONFIG_MAINNET
98-
cat "$BD2_CHAIN_CONFIG_MAINNET" | jq '.network="'$CHAIN_ID'"' > $BD2_CHAIN_CONFIG_TMP && mv $BD2_CHAIN_CONFIG_TMP $BD2_CHAIN_CONFIG_MAINNET
99-
cat "$BD2_CHAIN_CONFIG_MAINNET" | jq '.prefix["consensus"]="'$DENOM_SYMBOL'valcons"' > $BD2_CHAIN_CONFIG_TMP && mv $BD2_CHAIN_CONFIG_TMP $BD2_CHAIN_CONFIG_MAINNET
100-
cat "$BD2_CHAIN_CONFIG_MAINNET" | jq '.prefix["validator"]="'$DENOM_SYMBOL'valoper"' > $BD2_CHAIN_CONFIG_TMP && mv $BD2_CHAIN_CONFIG_TMP $BD2_CHAIN_CONFIG_MAINNET
101-
cat "$BD2_CHAIN_CONFIG_MAINNET" | jq '.prefix["account"]="'$ACCOUNT_PREFIX'"' > $BD2_CHAIN_CONFIG_TMP && mv $BD2_CHAIN_CONFIG_TMP $BD2_CHAIN_CONFIG_MAINNET
102-
cat "$BD2_CHAIN_CONFIG_MAINNET" | jq '.primaryTokenUnit="'$MIN_DENOM_SYMBOL'"' > $BD2_CHAIN_CONFIG_TMP && mv $BD2_CHAIN_CONFIG_TMP $BD2_CHAIN_CONFIG_MAINNET
103-
cat "$BD2_CHAIN_CONFIG_MAINNET" | jq '.votingPowerTokenUnit="'$MIN_DENOM_SYMBOL'"' > $BD2_CHAIN_CONFIG_TMP && mv $BD2_CHAIN_CONFIG_TMP $BD2_CHAIN_CONFIG_MAINNET
104-
cat "$BD2_CHAIN_CONFIG_MAINNET" | jq '.tokenUnits["'$MIN_DENOM_SYMBOL'"]["display"]="'$DENOM_SYMBOL'"' > $BD2_CHAIN_CONFIG_TMP && mv $BD2_CHAIN_CONFIG_TMP $BD2_CHAIN_CONFIG_MAINNET
105-
cat "$BD2_CHAIN_CONFIG_MAINNET" | jq '.tokenUnits["'$MIN_DENOM_SYMBOL'"]["exponent"]='$DENOM_EXPONENT > $BD2_CHAIN_CONFIG_TMP && mv $BD2_CHAIN_CONFIG_TMP $BD2_CHAIN_CONFIG_MAINNET
106-
echo "Setting up file testnet chain config"
107-
cp "$BD2_CHAIN_CONFIG_MAINNET" "$BD2_CHAIN_CONFIG_TESTNET"
104+
cat "$BD2_CHAIN_CONFIG_MAINNET" | jq '.chains[0].network="'$CHAIN_ID'"' > $BD2_CHAIN_CONFIG_TMP && mv $BD2_CHAIN_CONFIG_TMP $BD2_CHAIN_CONFIG_MAINNET
105+
cat "$BD2_CHAIN_CONFIG_MAINNET" | jq '.chains[0].chainType="Devnet"' > $BD2_CHAIN_CONFIG_TMP && mv $BD2_CHAIN_CONFIG_TMP $BD2_CHAIN_CONFIG_MAINNET
106+
cat "$BD2_CHAIN_CONFIG_MAINNET" | jq '.chains[0].genesis["height"]=1' > $BD2_CHAIN_CONFIG_TMP && mv $BD2_CHAIN_CONFIG_TMP $BD2_CHAIN_CONFIG_MAINNET
107+
cat "$BD2_CHAIN_CONFIG_MAINNET" | jq '.chains[0].prefix["consensus"]="'$DENOM_SYMBOL'valcons"' > $BD2_CHAIN_CONFIG_TMP && mv $BD2_CHAIN_CONFIG_TMP $BD2_CHAIN_CONFIG_MAINNET
108+
cat "$BD2_CHAIN_CONFIG_MAINNET" | jq '.chains[0].prefix["validator"]="'$DENOM_SYMBOL'valoper"' > $BD2_CHAIN_CONFIG_TMP && mv $BD2_CHAIN_CONFIG_TMP $BD2_CHAIN_CONFIG_MAINNET
109+
cat "$BD2_CHAIN_CONFIG_MAINNET" | jq '.chains[0].prefix["account"]="'$ACCOUNT_PREFIX'"' > $BD2_CHAIN_CONFIG_TMP && mv $BD2_CHAIN_CONFIG_TMP $BD2_CHAIN_CONFIG_MAINNET
110+
cat "$BD2_CHAIN_CONFIG_MAINNET" | jq '.chains[0].primaryTokenUnit="'$MIN_DENOM_SYMBOL'"' > $BD2_CHAIN_CONFIG_TMP && mv $BD2_CHAIN_CONFIG_TMP $BD2_CHAIN_CONFIG_MAINNET
111+
cat "$BD2_CHAIN_CONFIG_MAINNET" | jq '.chains[0].votingPowerTokenUnit="'$MIN_DENOM_SYMBOL'"' > $BD2_CHAIN_CONFIG_TMP && mv $BD2_CHAIN_CONFIG_TMP $BD2_CHAIN_CONFIG_MAINNET
112+
cat "$BD2_CHAIN_CONFIG_MAINNET" | jq '.chains[0].tokenUnits["'$MIN_DENOM_SYMBOL'"]["display"]="'$DENOM_SYMBOL'"' > $BD2_CHAIN_CONFIG_TMP && mv $BD2_CHAIN_CONFIG_TMP $BD2_CHAIN_CONFIG_MAINNET
113+
cat "$BD2_CHAIN_CONFIG_MAINNET" | jq '.chains[0].tokenUnits["'$MIN_DENOM_SYMBOL'"]["exponent"]='$DENOM_EXPONENT > $BD2_CHAIN_CONFIG_TMP && mv $BD2_CHAIN_CONFIG_TMP $BD2_CHAIN_CONFIG_MAINNET
108114

109115
# BD2 codegen config
110-
BD2_CODEGEN_YML="$BD2_SOURCE_DIR/codegen.yml"
111-
BD2_CODEGEN_YML_TMP="$BD2_SOURCE_DIR/tmp_codegen.yml"
116+
BD2_CODEGEN_YML="$BD2_UI_DIR/codegen.yml"
117+
BD2_CODEGEN_YML_TMP="$BD2_UI_DIR/tmp_codegen.yml"
112118
echo "Setting up file $BD2_CODEGEN_YML"
113-
cat "$BD2_CODEGEN_YML" | yq '.generates["./src/graphql/types/general_types.tsx"]["schema"]="http://'$BD2_PUBLIC_DOMAIN':'$BD_HASURA_PORT'/v1/graphql"' -Y > "$BD2_CODEGEN_YML_TMP" && mv "$BD2_CODEGEN_YML_TMP" "$BD2_CODEGEN_YML"
119+
echo "- Update graphql schema"
120+
cat "$BD2_CODEGEN_YML" | yq '.generates["./src/graphql/types/general_types.ts"]["schema"]="http://'$BD2_PUBLIC_DOMAIN':'$BD_HASURA_PORT'/v1/graphql"' -Y > "$BD2_CODEGEN_YML_TMP" && mv "$BD2_CODEGEN_YML_TMP" "$BD2_CODEGEN_YML"
114121

115122
CUR_DIR=$(pwd)
116123
cd "$BD2_SOURCE_DIR"
117124
WORKING_DIR=$(pwd)
125+
echo "Working dir: $WORKING_DIR"
126+
cd "$CUR_DIR"
127+
cd "$BD2_UI_DIR"
118128
# Build
119-
## Install graphql-codegen
120-
npm i -D @graphql-codegen/cli > /dev/null 2>&1
121-
[ $? -eq 0 ] || { echo >&2 "ERR: Failed to install @graphql-codegen/cli"; exit 1; }
122129
## Gen code
130+
echo 'Fix error files'
131+
FILE_TOKEN_PRICE='./src/graphql/general/token_price.graphql'
132+
TMP_FILE_TOKEN_PRICE='./src/graphql/general/tmp.token_price.graphql'
133+
sed '/id/d' "$FILE_TOKEN_PRICE" > "$TMP_FILE_TOKEN_PRICE" && mv "$TMP_FILE_TOKEN_PRICE" "$FILE_TOKEN_PRICE"
123134
echo 'Generating code'
124-
npm run graphql:codegen
135+
yarn run graphql:codegen > /dev/null 2>&1
125136
[ $? -eq 0 ] || { echo >&2 "ERR: Failed to run graphql:codegen"; exit 1; }
126-
#echo 'Build'
127-
#npm run build
128-
#[ $? -eq 0 ] || { echo >&2 "ERR: Failed to build"; exit 1; }
137+
echo 'Build'
138+
cd "$WORKING_DIR"
139+
yarn install
140+
corepack enable
141+
yarn run build
142+
[ $? -eq 0 ] || { echo >&2 "ERR: Failed to build in root source dir"; exit 1; }
143+
144+
cd "$CUR_DIR"
145+
cd "$BD2_UI_DIR"
146+
corepack enable
147+
yarn run build
148+
[ $? -eq 0 ] || { echo >&2 "ERR: Failed to build in web app source dir"; exit 1; }
129149

130150
cd "$CUR_DIR"
131151

@@ -149,7 +169,7 @@ if [ $DISABLE_SYSTEMCTL -eq 0 ]; then
149169
\n[Service]
150170
\nUser=$USER
151171
\nWorkingDirectory=$WORKING_DIR
152-
\nExecStart=$(which npm) run dev
172+
\nExecStart=$(which yarn) run start
153173
\nRestart=always
154174
\nRestartSec=3
155175
\nLimitNOFILE=4096
@@ -174,4 +194,4 @@ else
174194
echo "Hint: npm run dev"
175195
fi
176196

177-
echo "Notice!!! Make sure the service file at '/etc/systemd/system/$BD2_SERVICE_NAME.service' has correct working directort and execution path (in case you changed any repo/branch)"
197+
echo "Notice!!! Make sure the service file at '/etc/systemd/system/$BD2_SERVICE_NAME.service' has correct working directort and execution path (in case you changed any repo/branch)"

0 commit comments

Comments
 (0)