Installation

🖥️System Requirements

- OS: Linux - CPU: 8 Core(s) - Memory: 32GB - Storage: 500GB-2TB

You can get your server here : Click Here to Rent VPS from €4.50/month

📝Manual Installation

This guide is created under the assumption you are using Ubuntu 22.04 LTS If you use other OS, please modify the commands accordingly

Set environment

export INSTALLATION_DIR=${HOME}/appl
export DAEMON_NAME=crossfid
export DAEMON_HOME=${HOME}/.crossfid
export SERVICE_NAME=crossfi-mainnet
export MONIKER="YOUR_NODE_NAME_HERE"
export WALLET="YOUR_WALLET_NAME_HERE"

DAEMON_HOME is reference only, you can set wherever you want.

Write env to .profile

echo 'export DAEMON_NAME=${DAEMON_NAME}' >> ~/.profile
echo 'export DAEMON_HOME=${DAEMON_HOME}' >> ~/.profile
echo 'export DAEMON_ALLOW_DOWNLOAD_BINARIES=true' >> ~/.profile
echo 'export DAEMON_RESTART_AFTER_UPGRADE=true' >> ~/.profile
echo 'export DAEMON_LOG_BUFFER_SIZE=512' >> ~/.profile

source ~/.profile

This step is optional, but we recommend you to do it for convenience

Install dependencies

Please refer to Server Preparation

Prepare installation

mkdir -p ${INSTALLATION_DIR}/bin
mkdir -p ${DAEMON_HOME}/cosmovisor/genesis/bin
mkdir -p ${DAEMON_HOME}/cosmovisor/upgrades

Install and Setup CrossFi Daemon

cd ${INSTALLATION_DIR}

#Download CrossFi Daemon and basic setup
wget https://github.com/crossfichain/crossfi-node/releases/download/v0.3.0/crossfi-node_0.3.0_linux_amd64.tar.gz && tar -xf crossfi-node_0.3.0_linux_amd64.tar.gz
mv crossfid bin/${DAEMON_NAME}
git clone https://github.com/crossfichain/mainnet.git

#Download and install cosmovisor
wget https://github.com/cosmos/cosmos-sdk/releases/download/cosmovisor%2Fv1.6.0/cosmovisor-v1.6.0-linux-amd64.tar.gz
tar -xvzf cosmovisor-v1.6.0-linux-amd64.tar.gz

#Copy Binaries
cp cosmovisor /usr/local/bin/cosmovisor -f
cp ${INSTALLATION_DIR}/bin/${DAEMON_NAME} ${DAEMON_HOME}/cosmovisor/genesis/bin
sudo ln -s ${DAEMON_HOME}/cosmovisor/genesis ${DAEMON_HOME}/cosmovisor/current -f
sudo ln -s ${DAEMON_HOME}/cosmovisor/current/bin/${DAEMON_NAME} /usr/local/bin/${DAEMON_NAME} -f

Check crossfid version

crossfid --home ${DAEMON_HOME} version

For mainnet, the version should be 0.3.0

Create or Restore Wallet

#If you want to create new wallet
crossfid --home ${DAEMON_HOME} keys add ${WALLET}
#If you already have wallet and want to use same phrase
crossfid --home ${DAEMON_HOME} keys add ${WALLET} --recover

You will be prompted to "Enter your bip39 mnemonic", paste your phrase and press [ENTER]

Check your wallet

crossfid --home ${DAEMON_HOME} keys list

Setup pruning config

sed -i \
  -e 's|^pruning *=.*|pruning = "custom"|' \
  -e 's|^pruning-keep-recent *=.*|pruning-keep-recent = "100"|' \
  -e 's|^pruning-keep-every *=.*|pruning-keep-every = "0"|' \
  -e 's|^pruning-interval *=.*|pruning-interval = "10"|' \
  ${DAEMON_HOME}/config/app.toml

The number shown only for reference. You can change the number for each parameter as you want

Setting up Cosmovisor

sudo tee /etc/systemd/system/crossfi-mainnet.service > /dev/null <<EOF  
[Unit]
Description=CrossFi Mainnet Daemon (cosmovisor)
After=network-online.target

[Service]
User=$USER
ExecStart=$(which cosmovisor) run start --home ${DAEMON_HOME}
Restart=always
RestartSec=3
LimitNOFILE=4096
Environment="DAEMON_NAME=${DAEMON_NAME}"
Environment="DAEMON_HOME=${DAEMON_HOME}"
Environment="DAEMON_ALLOW_DOWNLOAD_BINARIES=true"
Environment="DAEMON_RESTART_AFTER_UPGRADE=true"
Environment="DAEMON_LOG_BUFFER_SIZE=512"

[Install]
WantedBy=multi-user.target
EOF

Enable the service

sudo systemctl daemon-reload
sudo systemctl enable crossfi-mainnet.service
sudo systemctl start crossfi-mainnet.service

Check service log

sudo journalctl -xfu crossfi-mainnet

Cleanup

rm -f cosmovisor-v1.6.0-linux-amd64.tar.gz
rm -f crossfi-node_0.3.0_linux_amd64.tar.gz
rm -f README.md CHANGELOG.md LICENSE readme.md cosmovisor

⚙️Automatic Installation

You can visit our repository and follow the instruction there

https://github.com/CryptoNodeID/crossfi

Last updated