# Osmosis Archive Node Setup ## Osmosisd Installing the Osmosis Binary: ``` cd $HOME git clone https://github.com/osmosis-labs/osmosis cd osmosis git checkout v11.0.1 make install ``` ## Initialize Osmosis Node ``` #node name used : Validatus osmosisd init Validatus #Downloading and placing genesis in osmosis config: wget -O ~/.osmosisd/config/genesis.json https://github.com/osmosis-labs/networks/raw/main/osmosis-1/genesis.json ``` ## Install and setup Cosmovisor ``` cd $HOME git clone https://github.com/cosmos/cosmos-sdk cd cosmos-sdk git checkout v0.42.5 make cosmovisor cp cosmovisor/cosmovisor $GOPATH/bin/cosmovisor cd $HOME ``` Now make the necessary directories: ``` mkdir -p ~/.osmosisd mkdir -p ~/.osmosisd/cosmovisor mkdir -p ~/.osmosisd/cosmovisor/genesis mkdir -p ~/.osmosisd/cosmovisor/genesis/bin mkdir -p ~/.osmosisd/cosmovisor/upgrades ``` Next, set the following Environment Variables for Cosmovisor: ``` sudo tee -a /etc/profile << END #cosmovisor export DAEMON_NAME=osmosisd export DAEMON_HOME=\$HOME/.osmosisd export PATH=\$PATH:\$DAEMON_HOME/cosmovisor/current/bin END source /etc/profile ``` Copy osmosisd binary into the cosmovisor/genesis folder: ``` cp $GOPATH/bin/osmosisd ~/.osmosisd/cosmovisor/genesis/bin ``` Check versions of Cosmovisor and Osmosisd: ``` cosmovisor version osmosisd version ``` Next, add a clean address book: ``` wget -O - https://quicksync.io/addrbook.osmosis.json > $HOME/.osmosisd/config/addrbook.json ``` ## Download Chain Data Download lz4: ``` sudo dnf install lz4 ``` Now download the archive node chain data: ``` URL=`curl -L https://quicksync.io/osmosis.json|jq -r '.[] |select(.file=="osmosis-1-archive")|select (.mirror=="Netherlands")|.url'` wget -O - $URL | lz4 -d | tar -xvf - ``` ## Changes in config.toml/app.toml ### app.toml As the node will be archive node, change the necessary options in app.toml, as shown: ![](https://i.imgur.com/q4Zkwc5.png) Set API address/port, as follows: ![](https://i.imgur.com/hpQ6DF9.png) Set port for grpc, as shown: ![](https://i.imgur.com/y2NFF36.png) ### config.toml Set proxy_app address and port, as shown: ![](https://i.imgur.com/fl3K75m.png) Change the database data location to the OpenZFS drive: ![](https://i.imgur.com/GiP53b4.png) Set RPC laddr to the following: ![](https://i.imgur.com/tPxEiZY.png) Set pprof_laddr: ![](https://i.imgur.com/T4XCn2Z.png) Next, set P2P laddr: ![](https://i.imgur.com/Qbh758u.png) Now set the max. inbound/outbound connections: ![](https://i.imgur.com/2STqjTc.png) ## Setup systemd service ``` python=1 echo "[Unit] Description=cosmovisor After=network-online.target ConditionPathExists=/home/cosmos/go/bin/ After=network.target [Service] Type=simple User=cosmos #RuntimeMaxSec=36000 #LimitNOFILE=4096 LimitNOFILE=8192 WorkingDirectory=/home/cosmos/go/ StandardOutput=journal SyslogIdentifier=cosmosvisor Environment="DAEMON_NAME=osmosisd" Environment="DAEMON_HOME=/home/cosmos/.osmosisd" Environment="DAEMON_RESTART_AFTER_UPGRADE=true" Environment="DAEMON_ALLOW_DOWNLOAD_BINARIES=false" Environment="DAEMON_LOG_BUFFER_SIZE=512" Environment="UNSAFE_SKIP_BACKUP=true" ExecStart=/bin/bash -c '/home/cosmos/go/bin/cosmovisor start' ExecStop=/bin/kill -2 $MAINPID ExecReload=/bin/kill -HUP $MAINPID Restart=always RestartSec=3 TimeoutStopSec=1 KillMode=control-group [Install] WantedBy=multi-user.target " >cosmovisor.service ``` Now move the cosmovisor.service file to: ``` sudo mv cosmovisor.service /lib/systemd/system/cosmovisor.service ``` Reload and start the service: ``` sudo systemctl daemon-reload sudo systemctl restart systemd-journald sudo systemctl start cosmovisor #To check status sudo systemctl status cosmovisor sudo journalctl -xe ```