Skip to content

Commit

Permalink
fix(scripts): fix init script to support mock backends
Browse files Browse the repository at this point in the history
docs: update README to reflect the current init flow
  • Loading branch information
artemijspavlovs committed Jul 18, 2024
1 parent e41b5c5 commit ac803b3
Show file tree
Hide file tree
Showing 2 changed files with 46 additions and 25 deletions.
14 changes: 11 additions & 3 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -34,6 +34,10 @@ export the following variables:

```shell
export EXECUTABLE="rollapp-wasm"

export CELESTIA_NETWORK="mock" # for a testnet RollApp use "arabica", for mainnet - "celestia"
export CELESTIA_HOME_DIR="${HOME}/.da"

export BECH32_PREFIX="rol"
export ROLLAPP_CHAIN_ID="rollappwasm_1234-1"
export KEY_NAME_ROLLAPP="rol-user"
Expand All @@ -43,6 +47,8 @@ export MONIKER="$ROLLAPP_CHAIN_ID-sequencer"

export ROLLAPP_HOME_DIR="$HOME/.rollapp-wasm"
export ROLLAPP_SETTLEMENT_INIT_DIR_PATH="${ROLLAPP_HOME_DIR}/init"

export SETTLEMENT_LAYER="mock" # when running a local hub or a public network use "dymension"
```

And initialize the rollapp:
Expand Down Expand Up @@ -94,6 +100,8 @@ all scripts are adjusted to use local hub node that's hosted on the default port
configuration with a remote hub node is also supported, the following variables must be set:

```shell
export SETTLEMENT_LAYER="dymension" # when running a local hub or a public network use "dymension"

export HUB_RPC_ENDPOINT="http://localhost"
export HUB_RPC_PORT="36657" # default: 36657
export HUB_RPC_URL="${HUB_RPC_ENDPOINT}:${HUB_RPC_PORT}"
Expand Down Expand Up @@ -190,10 +198,10 @@ or as a systemd service:

```shell
sudo tee /etc/systemd/system/rollapp-wasm.service > /dev/null <<EOF
[Unit]
[Unit]
Description=rollapp-wasm
After=network.target
[Service]
After=network.target
[Service]
Type=simple
User=$USER
ExecStart=$(which rollapp-wasm) start
Expand Down
57 changes: 35 additions & 22 deletions scripts/init.sh
Original file line number Diff line number Diff line change
@@ -1,6 +1,5 @@
#!/bin/bash
EXECUTABLE="rollappd"
ROLLAPP_HOME_DIR="$HOME/.rollapp"
ROLLAPP_HOME_DIR="$HOME/.rollapp-wasm"

# ---------------------------- initial parameters ---------------------------- #
# Assuming 1,000,000 tokens
Expand All @@ -25,35 +24,48 @@ set_denom() {
}

update_configuration() {
celestia_namespace_id=$(openssl rand -hex 10)
if [ ! -d "$CELESTIA_HOME_DIR" ]; then
echo "Celestia light client is expected to be initialized in this directory: $CELESTIA_HOME_DIR"
echo "but it does not exist, please initialize the light client or update the 'CELESTIA_HOME_DIR'"
echo "environment variable"
exit 1
if [[ ! $CELESTIA_NETWORK == "mock" ]]; then
celestia_namespace_id=$(openssl rand -hex 10)
if [ ! -d "$CELESTIA_HOME_DIR" ]; then
echo "Celestia light client is expected to be initialized in this directory: $CELESTIA_HOME_DIR"
echo "but it does not exist, please initialize the light client or update the 'CELESTIA_HOME_DIR'"
echo "environment variable"
exit 1
fi

celestia_token=$(celestia light auth admin --p2p.network "$CELESTIA_NETWORK" --node.store "$CELESTIA_HOME_DIR")

if [[ "$OSTYPE" == "darwin"* ]]; then
sed -i '' "s/da_layer =.*/da_layer = \"celestia\"/" "${CONFIG_DIRECTORY}/dymint.toml"
sed -i '' "s/namespace_id .*/namespace_id = \"${celestia_namespace_id}\"/" "${CONFIG_DIRECTORY}/dymint.toml"
sed -i '' "s/da_config .*/da_config = \"{\\\\\"base_url\\\\\": \\\\\"http:\/\/localhost:26658\\\\\", \\\\\"timeout\\\\\": 60000000000, \\\\\"gas_prices\\\\\":1.0, \\\\\"gas_adjustment\\\\\": 1.3, \\\\\"namespace_id\\\\\": \\\\\"${celestia_namespace_id}\\\\\", \\\\\"auth_token\\\\\":\\\\\"${celestia_token}\\\\\"}\"/" "${CONFIG_DIRECTORY}/dymint.toml"
else
sed -i "s/da_layer =.*/da_layer = \"celestia\"/" "${CONFIG_DIRECTORY}/dymint.toml"
sed -i "s/namespace_id .*/namespace_id = \"${celestia_namespace_id}\"/" "${CONFIG_DIRECTORY}/dymint.toml"
sed -i "s/da_config .*/da_config = \"{\\\\\"base_url\\\\\": \\\\\"http:\/\/localhost:26658\\\\\", \\\\\"timeout\\\\\": 60000000000, \\\\\"gas_prices\\\\\":1.0, \\\\\"gas_adjustment\\\\\": 1.3, \\\\\"namespace_id\\\\\": \\\\\"${celestia_namespace_id}\\\\\", \\\\\"auth_token\\\\\":\\\\\"${celestia_token}\\\\\"}\"/" "${CONFIG_DIRECTORY}/dymint.toml"
fi
fi

celestia_token=$(celestia light auth admin --p2p.network "$CELESTIA_NETWORK" --node.store "$CELESTIA_HOME_DIR")
if [[ ! $SETTLEMENT_LAYER == "mock" ]]; then
if [[ "$OSTYPE" == "darwin"* ]]; then
sed -i '' 's/settlement_layer.*/settlement_layer = "dymension"/' "${CONFIG_DIRECTORY}/dymint.toml"
sed -i '' -e "/settlement_node_address =/s/.*/settlement_node_address = \"${HUB_RPC_URL//\//\\/}\"/" "${CONFIG_DIRECTORY}/dymint.toml"
sed -i '' -e "/rollapp_id =/s/.*/rollapp_id = \"$ROLLAPP_CHAIN_ID\"/" "${CONFIG_DIRECTORY}/dymint.toml"
sed -i '' -e "/minimum-gas-prices =/s/.*/minimum-gas-prices = \"1000000000${BASE_DENOM}\"/" "${CONFIG_DIRECTORY}/app.toml"
else
sed -i 's/settlement_layer.*/settlement_layer = "dymension"/' "${CONFIG_DIRECTORY}/dymint.toml"
sed -i '/settlement_node_address =/c\settlement_node_address = '\""$HUB_RPC_URL"\" "${CONFIG_DIRECTORY}/dymint.toml"
fi
fi

if [[ "$OSTYPE" == "darwin"* ]]; then
sed -i '' "s/da_layer =.*/da_layer = \"celestia\"/" "${CONFIG_DIRECTORY}/dymint.toml"
sed -i '' "s/namespace_id .*/namespace_id = \"${celestia_namespace_id}\"/" "${CONFIG_DIRECTORY}/dymint.toml"
sed -i '' "s/da_config .*/da_config = \"{\\\\\"base_url\\\\\": \\\\\"http:\/\/localhost:26658\\\\\", \\\\\"timeout\\\\\": 60000000000, \\\\\"gas_prices\\\\\":1.0, \\\\\"gas_adjustment\\\\\": 1.3, \\\\\"namespace_id\\\\\": \\\\\"${celestia_namespace_id}\\\\\", \\\\\"auth_token\\\\\":\\\\\"${celestia_token}\\\\\"}\"/" "${CONFIG_DIRECTORY}/dymint.toml"

sed -i '' 's/settlement_layer.*/settlement_layer = "dymension"/' "${CONFIG_DIRECTORY}/dymint.toml"
sed -i '' -e "/settlement_node_address =/s/.*/settlement_node_address = \"${HUB_RPC_URL//\//\\/}\"/" "${CONFIG_DIRECTORY}/dymint.toml"
sed -i '' -e "/rollapp_id =/s/.*/rollapp_id = \"$ROLLAPP_CHAIN_ID\"/" "${CONFIG_DIRECTORY}/dymint.toml"
sed -i '' -e "/minimum-gas-prices =/s/.*/minimum-gas-prices = \"1000000000${BASE_DENOM}\"/" "${CONFIG_DIRECTORY}/app.toml"
else
sed -i "s/da_layer =.*/da_layer = \"celestia\"/" "${CONFIG_DIRECTORY}/dymint.toml"
sed -i "s/namespace_id .*/namespace_id = \"${celestia_namespace_id}\"/" "${CONFIG_DIRECTORY}/dymint.toml"
sed -i "s/da_config .*/da_config = \"{\\\\\"base_url\\\\\": \\\\\"http:\/\/localhost:26658\\\\\", \\\\\"timeout\\\\\": 60000000000, \\\\\"gas_prices\\\\\":1.0, \\\\\"gas_adjustment\\\\\": 1.3, \\\\\"namespace_id\\\\\": \\\\\"${celestia_namespace_id}\\\\\", \\\\\"auth_token\\\\\":\\\\\"${celestia_token}\\\\\"}\"/" "${CONFIG_DIRECTORY}/dymint.toml"

sed -i 's/settlement_layer.*/settlement_layer = "dymension"/' "${CONFIG_DIRECTORY}/dymint.toml"
sed -i '/settlement_node_address =/c\settlement_node_address = '\""$HUB_RPC_URL"\" "${CONFIG_DIRECTORY}/dymint.toml"
sed -i '/rollapp_id =/c\rollapp_id = '\""$ROLLAPP_CHAIN_ID"\" "${CONFIG_DIRECTORY}/dymint.toml"
sed -i '/minimum-gas-prices =/c\minimum-gas-prices = '\"1000000000"$BASE_DENOM"\" "${CONFIG_DIRECTORY}/app.toml"
fi

}

add_genesis_accounts() {
Expand Down Expand Up @@ -224,4 +236,5 @@ if [ ! "$answer" != "${answer#[Nn]}" ]; then
set +x
fi

"$EXECUTABLE" validate-genesis
"$EXECUTABLE" validate-genesis

0 comments on commit ac803b3

Please sign in to comment.