dymension
dymension copied to clipboard
Dymension Hub
Dymension Hub
Overview
Welcome to the Dymension Hub, the Settlement Layer of the Dymension protocol.
This guide will walk you through the steps required to set up and run a Dymension Hub full node.
Table of Contents
-
Dymension Hub
- Overview
- Table of Contents
- Prerequisites
- Installation
-
Initializing
dymd
- Running the Chain
- Bootstrapping liquidity pools
-
Adding incentives
- Creating incentives streams
- Locking tokens
- check rewards
Prerequisites
Installation
Clone dymension
:
git clone https://github.com/dymensionxyz/dymension.git
cd dymension
make install
Check that the dymd binaries have been successfully installed:
dymd version
If the dymd command is not found an error message is returned, confirm that your GOPATH is correctly configured by running the following command:
export PATH=$PATH:$(go env GOPATH)/bin
Initializing dymd
-
Using the setup script:
This method is preferred as it preconfigured to support running rollapps locally
bash scripts/setup_local.sh
-
Manually:
First, set the following environment variables:
export CHAIN_ID="dymension_100-1" export KEY_NAME="local-user" export MONIKER_NAME="local"
Second, create genesis and init dymension chain:
dymd init "$MONIKER_NAME" --chain-id "$CHAIN_ID"
Third, set parameters to ensure denom is udym:
bash scripts/set_params.sh
Then, add genesis account and provide token to the account:
dymd keys add "$KEY_NAME" --keyring-backend test dymd add-genesis-account "$(dymd keys show "$KEY_NAME" -a --keyring-backend test)" 1000dym dymd gentx "$KEY_NAME" 670dym --chain-id "$CHAIN_ID" --keyring-backend test dymd collect-gentxs
Running the Chain
Now start the chain!
dymd start
You should have a running local node!
Bootstrapping liquidity pools
To bootstrap the GAMM
module with pools:
sh scripts/pools/pools_bootstrap.sh
Adding incentives
Creating incentives streams
After creating the pools above, we create 2 incentive streams through gov:
sh scripts/incentives/fund_incentives.sh
Wait for the gov proposal to pass, and validate with:
dymd q streamer streams
Locking tokens
To get incentives, we need to lock the LP tokens:
sh scripts/incentives/lockup_bootstrap.sh
validate with:
dymd q lockup module-balance
check rewards
Every minute a share of the rewards will be distributed!
validate with:
dymd q incentives active-gauges
# alternatively, watch the outpup - you will see the "amount" change every minute
# watch -n1 -d "dymd q incentives active-gauges --output json | jq '.data[] | { "id": .id, "coins": .coins } '"
If you have any issues please contact us on discord in the Developer section. We are here for you!