xar-network

The framework for Cosmos and Fantom based decentralized finance

View the Project on GitHub xar-network/xar-network

Install Xar

This guide will explain how to install the xard and xarcli entrypoints onto your system. With these installed on a server, you can participate in the mainnet as either a Full Node or a Validator.

Install Go

Install go by following the official docs. Remember to set your $GOPATH and $PATH environment variables, for example:

mkdir -p $HOME/go/bin
echo "export GOPATH=$HOME/go" >> ~/.bash_profile
echo "export PATH=\$PATH:\$GOPATH/bin" >> ~/.bash_profile
source ~/.bash_profile

::: tip Go 1.13+ is required for the Xar SDK. :::

Building from source

git clone https://github.com/xar-network/xar-network
cd xar-network && make install

Install the binaries

Next, let’s install the latest version of Xar. Make sure you git checkout the correct released version.

git clone -b <latest-release-tag> https://github.com/xar-network/xar-network
cd xar-network && make install

If this command fails due to the following error message, you might have already set LDFLAGS prior to running this step.

# github.com/xar-network/xar-network/cmd/xard
flag provided but not defined: -L
usage: link [options] main.o
...
make: *** [install] Error 2

Unset this environment variable and try again.

LDFLAGS="" make install

NOTE: If you still have issues at this step, please check that you have the latest stable version of GO installed.

That will install the xard and xarcli binaries. Verify that everything is OK:

$ xard version --long
$ xarcli version --long

xarcli for instance should output something similar to:

name: xar
server_name: xard
client_name: xarcli
version: 1.0.0
commit: 89e6316a27343304d332aadfe2869847bf52331c
build_tags: netgo,ledger
go: go version go1.12.5 darwin/amd64

Build Tags

Build tags indicate special features that have been enabled in the binary.

Build Tag Description
netgo Name resolution will use pure Go code
ledger Ledger devices are supported (hardware wallets)

Install binary distribution via snap (Linux only)

Do not use snap at this time to install the binaries for production until we have a reproducible binary system.

Developer Workflow

To test any changes made in the SDK or Tendermint, a replace clause needs to be added to go.mod providing the correct import path.

Next

Now you can join the mainnet, the public testnet or create you own testnet