Introduction[]
Why people want a Raspberry wallet? Because:
- a staking wallet is at its best when it is opened 24/7
- a staking wallet doesn't require much CPU power
- a Raspberry doesn't need much electricity (and is silent, which helps for bedroom)
http://www.peercointalk.org/index.php?topic=2878.0
Maybe this should be merged with http://hyperstake.wikia.com/wiki/Installation_guide
Prerequisites[]
- Raspberry Pi + Raspbian (any system should do, but for beginners let's assume it's Raspbian)
- RAM
- compilation could take up to 300MB of memory
- model A with 256MB RAM - you will need bigger swap
- model B and B+ with 512MB RAM - standard swap file (100MB) will do
- Raspberry Pi 2 with 1GB needs no extra swap
- maximize your RAM
- sudo raspi-config - Advanced Options -> Memory Split -> set GPU memory to minimum (16MB)
- free as much RAM as possible (if you run other applications/servers close them for the time of compilation)
- Disk space
- maximize your free space on SD card (min. 8GB card is recommended)
- sudo raspi-config - Expand Filesystem (expands disk space to take all available SD card capacity)
- maximize your free space on SD card (min. 8GB card is recommended)
- Updated repositories
- sudo apt-get update
Setup[]
All commands are executed as default user (pi)
1. Install dependencies (if you don't want Qt app you can skip qt4-qmake and libqt4-dev)
sudo apt-get install -y git build-essential libboost-dev libboost-filesystem-dev libboost-system-dev libboost-program-options-dev libboost-thread-dev libssl-dev libdb5.3++-dev libminiupnpc-dev libtool autoconf libboost-chrono-dev libboost-test-dev libprotobuf-dev protobuf-compiler qt4-qmake libqt4-dev
2. Create directories, remove then clone git repository
cd ~ && mkdir -p ~/cryptos && cd ~/cryptos && rm -rf HyperStake && git clone git://github.com/hyperstake/HyperStake
Compiling daemon (hyperstaked) from sources[]
1. Compile (takes some time, depending on CPU speed, ~2h on stock 700Mhz Raspi1)
cd ~/cryptos/HyperStake && ./autogen.sh && ./configure --with-incompatible-bdb --with-gui=no --enable-tests=no CFLAGS="-O2" && make
2. Strip debug symbols (optional but recommended: reduces binary size from 43 MB down to 2.8MB)
strip hyperstaked as
3. Allow daemon to be accessed from any path (optional: allows to use hyperstaked <command> instead of using full path)
sudo mv hyperstaked /usr/local/bin
Compiling HyperStake-qt from sources[]
1. Compile (takes even more time, depending on CPU speed, 4-8 hours)
cd ~/cryptos/HyperStake && qmake HyperStake-qt.pro && make
2. Strip debug symbols (optional but recommended: reduces binary size from 6.8MB to 5.5MB)
strip HyperStake-qt
3. Create Desktop icon (optional but useful)
wget https://raw.githubusercontent.com/presstab/HyperStake/master/src/qt/res/icons/hyperstake-128.png -O ~/.HyperStake/icon.png && echo -e "[Desktop Entry]\nName=HyperStake\nType=Application\nComment=Faster than light! \nCategories=Application\nExec=/home/pi/cryptos/HyperStake/HyperStake-qt\nIcon=/home/pi/.HyperStake/icon.png\nTerminal=false\nStartupNotify=true" > ~/Desktop/hyperstake.desktop
Create configuration file (required)[]
mkdir -p ~/.HyperStake && echo -e "rpcuser=hyperstakecrew\nrpcpassword=$(cat /dev/urandom | tr -cd '[:alnum:]' | head -c32)\nrpcallowip=127.0.0.1\ngen=0\nserver=1\ndaemon=1\nlisten=1\n" > ~/.HyperStake/HyperStake.conf
Bootstrapping blockchain (optional: speeds up syncing with network)[]
1. Download bootstrap file (url may change in the future, always check OP for current url)
cd ~/.HyperStake && wget http://hyperstrap.ml/bootstrap.zip
2. Remove old indexes and unzip blockchain file
rm -rf database blk* *.log && unzip bootstrap.zip
3. Remove zip to save space if all went well
rm bootstrap.zip
Updating[]
1. Pull fresh code from git
cd ~/cryptos/HyperStake && git pull
2. Repeat procedure for daemon or Qt (all steps)
Happy staking!