Compile stratisd
All commands should be executed in the /home/pi
folder, unless the guide says otherwise.
To see the current folder you are in, type pwd
.
To go back to /home/pi
from any other folder, type cd
Whenever you are in the home folder the prompt will appear as pi@raspberry:~$
Install some packages we will need
Stratis requires some extra software to run properly. You can install these as follows:
sudo apt-get install -f build-essential git g++ libtool make unzip wget libboost-all-dev libssl-dev libdb++-dev libdb5.3++-dev libdb5.3-dev libminiupnpc-dev libqrencode-dev -y
Downgrade libssl-dev for newer versions of raspberry jessie:
Due to a new release of Raspberry Pi's OS (raspbian jessie), the default libssl-dev package version has changed, and is incompatible with stratisX's code. Therefore, we need to downgrade the version (see, https://github.com/stratisproject/stratisX/issues/33#issuecomment-324946138). Follow the steps below for a quick rundown to do the downgrade:
Remove the current version of libssl-dev ( 1.1.0f-3 ):sudo apt-get remove libssl-dev
Set your repository list to point to "jessie" instead of "stretch", save and exit.
sudo nano /etc/apt/sources.list
Then do
sudo apt-get update
to download the packages for jessieNext
sudo apt-get install libssl-dev
package, it should be version 1.0.1t-1When complete, type
sudo apt-mark hold libssl-dev
to prevent the package from upgrading in the futureSwitch back your sources, by changing 'jessie' back to 'stretch' in step 2
Do
sudo apt-get update
andsudo apt-get upgrade
and make sure it doesn't try and install libssl-dev (it will say it has been kept back)
Phew! hope you made it this far, let's get to making that wallet!
Download StratisX source code
Step 1) Download the Source:
This is done with the command git clone
git clone https://github.com/stratisproject/stratisX.git
This will download the source code into a new directory named stratisX
within your current folder. Thus, if at the prompt you are in pi@raspberry:~$
then stratis will be in /home/pi/stratisX
. You can also see this by typing ls
and press enter
Step 2) Enter the Stratis Directory
Go into the new directory by typing cd stratisX
Now for the fun part building your new wallet !
Build the StratisX Wallet
Step 1) Check Version and Execute the Make Command to Build stratisd
Check you're on the latest version of Stratis:
git pull
then git checkout
If all is good, you should get the outputs: "Already up-to-date" and "Your branch is up-to-date with 'origin/master'"
Otherwise, do git checkout master
Next, we build the wallet This is literally a one step operation by running the following command:
cd src && make -f makefile.unix
This will take about 30-40 minutes ... if you're a nerd like me you might enjoy watching the jargon of code flying by the screen like watching the matrix, or grab a coffee or two and read up on whats ahead.
**Note: If you are building a wallet after updating the source code (Updating Stratis), you will need to clean the old build files first! Please do this with:
make clean
Step 2) Shrink That Wallet !
After the build is done run strip stratisd
. This will trim debugging information and other unnecessary data from the executable. Also the program will take up less space as well (by a few megabytes)
Step 3) Global Execution
Place your new wallet in the system's bin directory, which will allow you to start stratisd from any working directory in terminal:
sudo ln -sv $PWD/stratisd /usr/bin/stratisd
(note: this will create a symlink only, without actually moving the executable. This will simplify the updating of stratisX's source without having to take the extra step of remembering to move the newly compiled version to /usr/bin.
Follow these instructions on how to run your Stratis wallet !