Chain ID: dydx-mainnet-1 | Current Node Version: v7.0.1
Feel free to skip this step if you already have Go and Cosmovisor.
We will use Go v1.22.4
as
example here. The code below also
cleanly removes any previous Go installation.
sudo rm -rvf /usr/local/go/
wget https://golang.org/dl/go1.22.4.linux-amd64.tar.gz
sudo tar -C /usr/local -xzf go1.22.4.linux-amd64.tar.gz
rm go1.22.4.linux-amd64.tar.gz
Unless you want to configure in a non-standard way, then set these in
the ~/.profile
file.
export GOROOT=/usr/local/go
export GOPATH=$HOME/go
export GO111MODULE=on
export PATH=$PATH:/usr/local/go/bin:$HOME/go/bin
We will use Cosmovisor v1.0.0
as example here.
go install github.com/cosmos/cosmos-sdk/cosmovisor/cmd/[email protected]
Install the current version of node binary.
git clone https://github.com/dydxprotocol/v4-chain dydx
cd dydx
git checkout v7.0.1
make install
Please replace YOUR_MONIKER
with your own moniker.
dydxprotocold init YOUR_MONIKER --chain-id dydx-mainnet-1
The genesis file link below is Polkachu's mirror download. The best practice is to find the official genesis download link.
wget -O genesis.json https://snapshots.polkachu.com/genesis/dydx/genesis.json --inet4-only
mv genesis.json ~/.dydxprotocol/config
Using a seed node to bootstrap is the best practice in our view. Alternatively, you can use addrbook or persistent_peers.
sed -i 's/seeds = ""/seeds = "[email protected]:23856"/' ~/.dydxprotocol/config/config.toml
Create Cosmovisor folders and load the node binary.
# Create Cosmovisor Folders
mkdir -p ~/.dydxprotocol/cosmovisor/genesis/bin
mkdir -p ~/.dydxprotocol/cosmovisor/upgrades
# Load Node Binary into Cosmovisor Folder
cp ~/go/bin/dydxprotocold ~/.dydxprotocol/cosmovisor/genesis/bin
Create a dydx.service
file in the
/etc/systemd/system
folder with the following code snippet.
Make sure to replace USER
with your Linux user name. You
need sudo previlege to do this step.
[Unit]
Description="dydx node"
After=network-online.target
[Service]
User=USER
ExecStart=/home/USER/go/bin/cosmovisor start
Restart=always
RestartSec=3
LimitNOFILE=4096
Environment="DAEMON_NAME=dydxprotocold"
Environment="DAEMON_HOME=/home/USER/.dydxprotocol"
Environment="DAEMON_ALLOW_DOWNLOAD_BINARIES=false"
Environment="DAEMON_RESTART_AFTER_UPGRADE=true"
Environment="UNSAFE_SKIP_BACKUP=true"
[Install]
WantedBy=multi-user.target
# Enable service
sudo systemctl enable dydx.service
# Start service
sudo service dydx start
# Check logs
sudo journalctl -fu dydx
This installation guide is the bare minimum to get a node started. You should consider the following as you become a more experienced node operator.
If you find a bug in this installation guide, please reach out to our Discord Server and let us know.