Original HUSH source code based on ZEC 1.0.8 . For historical purposes only! https://hush.is
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

130 lines
3.1 KiB

# Installing Hush
## Download and Install Hush v2.0.0 Stable Release
This method can be used to install release packages:
```sh
cd ~
sudo wget https://github.com/MyHush/hush/releases/download/v2.0.0/hush-2.0.0-c7d6ba61-amd64.deb
sudo dpkg -i hush-2.0.0-c7d6ba61-amd64.deb
```
To install Hush from source, read on.
## Build HUSH dependencies
The following build process generally applies to Ubuntu (and similar) Linux
distributions. For best results it is recommended to use Ubuntu Linux 16.04
or later.
## Swap Space (Optional)
You will need at least 4GB of RAM to build hush from git source, OR you can
enable a swap file. To enable a 4GB swap file on modern Linux distributions:
```sh
sudo fallocate -l 4G /swapfile
sudo chmod 600 /swapfile
sudo mkswap /swapfile
sudo swapon /swapfile
```
## Build on Linux:
```sh
# install build depedencies
sudo apt-get install build-essential pkg-config libc6-dev m4 g++-multilib \
autoconf libtool ncurses-dev unzip git python zlib1g-dev wget \
bsdmainutils automake curl unzip nano
# pull
git clone https://github.com/MyHush/hush.git
cd hush
# Build
./zcutil/build.sh -j$(nproc)
```
## Download proving key:
```sh
./zcutil/fetch-params.sh
```
## Create a HUSH configuration file (*important*):
You can compile Hush without this, but need a config file to run hushd.
```sh
mkdir -p ~/.hush
echo "rpcuser=username" >> ~/.hush/hush.conf
echo "rpcpassword=`head -c 32 /dev/urandom | base64`" >>~/.hush/hush.conf
echo "addnode=explorer.myhush.org" >> ~/.hush/hush.conf
echo "addnode=dnsseed.myhush.org" >> ~/.hush/hush.conf
echo "addnode=dnsseed2.myhush.org" >> ~/.hush/hush.conf
echo "addnode=dnsseed.bleuzero.com" >> ~/.hush/hush.conf
echo "addnode=dnsseed.hush.quebec" >> ~/.hush/hush.conf
```
## Run a HUSH Node
```sh
./hushd
```
## Windows (cross-compiled on Linux)
Get dependencies:
```ssh
sudo apt-get install \
build-essential pkg-config libc6-dev m4 g++-multilib \
autoconf libtool ncurses-dev unzip git python \
zlib1g-dev wget bsdmainutils automake mingw-w64 cmake
```
Downloading Git source repo, building and running Hush:
```sh
# pull
git clone https://github.com/MyHush/hush.git
cd hush
# fetch key
./zcutil/fetch-params.sh
# Build
./zcutil/build-win.sh -j$(nproc)
# Run a HUSH node
./src/hushd
```
## Mac
Install Xcode CLI tools:
```sh
xcode-select --install
```
Downloading Git source repo, building and running Hush:
```sh
# pull
git clone -b v2.0.0 https://github.com/FireMartZ/hush-apple.git
cd hush-apple
source environment
make
# Run a HUSH node
./src/hushd
```
Make sure to create a HUSH configuration file as described above.
## Supported Platforms
Currently Linux, Windows and Mac OS X are our supported platforms. If you
are interested in porting Hush to a new operating system, we are interested
to talk with you.
We aim to support all platforms, but there is only so much time in the day.
Currently, any ARMv7 machine will not be able to build this repo, because the
underlying tech (zcash and the zksnark library) do not support that instruction
set.
This also means that RaspberryPi devices will not work, unless they have a
newer ARMv8-based Raspberry Pi.