# Installing the Mainchain Software
This documentation outlines how to install the Unification Mainchain und
software as a client, in
order to interact with any of the Mainchain networks to query data/send transactions.
TIP
If you intend to run a node and/or become a validator, follow the Install und with Cosmovisor instead.
# Installing the latest release binaries
The latest pre-compiled binaries are available for download from https://github.com/unification-com/mainchain/releases (opens new window).
- The
und
binary has been compiled for Linux, OSX and Windows.
Download the latest version of und
:
Once downloaded, you can verify the SHA256 checksum against those listed in the release's checksums.txt
, for example:
Extract them and copy the binaries to a suitable location - preferably a location in your $PATH
environment variable,
for example /usr/local/bin
.
Once installed, verify:
which und
should output:
/usr/local/bin/und
and:
und version --log_level=""
The output should match the latest release version tag.
# Building from Source
The Mainchain binaries can also be built from source.
# Prerequisites
git
and make
are required dependencies for building. curl
and/or wget
are recommended, and jq
is useful for
quickly looking up values in, for example genesis.json
These can all be installed via your package manager, for example:
sudo apt-get install git curl wget make jq
or
sudo yum install git curl wget make jq
# Install Go
Go 1.16+ is required to build the Mainchain binaries
Install go
by following the official docs (opens new window).
Once Go is installed, set your $PATH
environment variable:
$ mkdir -p $HOME/go/bin
$ echo "export PATH=$PATH:$(go env GOPATH)/bin" >> ~/.bash_profile
$ source ~/.bash_profile
# Build and install the binaries
IMPORTANT
unless you are contributing to Mainchain development, it is recommended you checkout and build from the latest release
tag and not the master
branch if you intend to connect to a live, public network (e.g. TestNet/MainNet).
Download the latest tagged Mainchain release from https://github.com/unification-com/mainchain/releases (opens new window)
The [latest-release-tag]
required for the command below can also be obtained by running:
curl --silent "https://api.github.com/repos/unification-com/mainchain/releases/latest" | grep -Po '"tag_name": "\K.*?(?=")'
Then run:
$ git clone -b [latest-release-tag] https://github.com/unification-com/mainchain
$ cd mainchain
$ make install
This will install the und
binary into your $HOME/go/bin
# Verify the installation
Run the following commands:
und version --long
If und
has been installed correctly, you should see output similar to the following:
name: UndMainchain
server_name: und
version: 1.6.3
commit: 4ce308e65a4a6de0d2d05f88b02584869f6b1c24
build_tags: netgo
go: go version go1.18.5 linux/amd64
build_deps:
...SNIP...
cosmos_sdk_version: v0.45.9
# Development
The included Mainchain DevNet network can be used for development and testing of new features and bug fixes locally. To build the binaries for testing without installing, run:
make build
This will output the binaries to the ./build
directory located in the repository root.
See the DevNet docs for more information about running DevNet.
# CLI Help
Both the und
and und
commands can have the --help
flag passed
to output details on what commands are available, and flags enabled for that
command:
und --help
Likewise, the --help
flag can be passed to subcommands, for example:
und query wrkchain --help