Build SmartCash 1.2.x from The Source for ARM Linux

in #smartcash6 years ago (edited)

SmartCash version 1.2.3 has been released, and it brings a lot of improvements. You can download the latest version from smartcash.cc/wallets.

Unfortunately, the wallet downloads are built for x86 architectures, and I have to build myself for my ARM machine from the source.

pine64_smartcash_clientnode.png

The device

The reason I built the latest version of SmartCash is to run the wallet in my single-board computer Pine64. Pine64 is simple, powerful 64-bit single board computer, you can build your own power saving server with lower price.

My Pine 64

Maybe you can also build it in another ARM machine such as the Raspberry Pi with the same way.

I chose Ubuntu Linux installed in my machine, you can follow how to getting started with Linux in this page https://www.pine64.org/?page_id=1929

Build from the source

SmartCash's source code is hosted on GitHub, you can find it from the repo via this link: https://github.com/SmartCash/Core-Smart/.

Before you build from the source, you need to install the requirements:

sudo apt-get install software-properties-common
sudo add-apt-repository ppa:bitcoin/bitcoin
sudo apt update && sudo apt upgrade
sudo apt-get install git curl build-essential libtool autotools-dev automake pkg-config libssl-dev libevent-dev bsdmainutils libdb4.8-dev libdb4.8++-dev

Clone the source and we will build it in the /home/ubuntu/smartcash directory.

cd ~
git clone https://github.com/SmartCash/Core-Smart/ smartcash
cd smartcash

Build the dependencies for current ARM OS, use the HOST=aarch64-linux-gnu option for ARM 64-bit or the HOST=arm-linux-gnueabihf option for ARM 32-bit.

cd depends
make HOST=aarch64-linux-gnu NO_QT=1

To build executables for ARM 64-bit (change the prefix option to $PWD/depends/arm-linux-gnueabihf for ARM 32-bit):

cd ../
./autogen.sh
./configure --prefix=$PWD/depends/aarch64-linux-gnu --enable-glibc-back-compat --enable-reduce-exports LDFLAGS=-static-libstdc++
make

Create symbolic link of executable files:

sudo ln -s /home/ubuntu/smartcash/src/smartcashd /usr/local/bin
sudo ln -s /home/ubuntu/smartcash/src/smartcash-cli /usr/local/bin
sudo ln -s /home/ubuntu/smartcash/src/smartcash-tx /usr/local/bin

To get more specific information you can visit: https://github.com/SmartCash/Core-Smart/blob/1.2.x/doc/build-unix.md

Running the Client Node

To run the node client of SmartCash with this command:

smartcashd

Use the smartcash-cli executable to run the command line interface, for example you may want to get information about the wallet.

smartcash-cli getinfo

Use this command to stop the node client:

smartcash-cli stop

Be aware the node client downloads and stores the entire history of SmartCash transactions, that means the synchronisation process can take anywhere from a few hours to a day or more, depending on the speed of your computer and network connection. Using the bootstrap to speedup sync process:

mkdir bootstrap
cd bootstrap
wget https://smartcash.cc/txindexstrap.zip
unzip txindexstrap.zip
mv blocks/* ~/.smartcash/blocks -f
mv chainstate/* ~/.smartcash/blocks -f

And finally, you can call the node client via RPC, edit the configuration file ~/.smartcash/smartcash.conf:

server=1
daemon=1
rpcuser=smartcash
rpcpassword=password
rpcallowip=0.0.0.0/0
rpcport=9679

Call the node client from another computer:

curl --data-binary '{"jsonrpc":"1.0","id":"curltext","method":"getinfo","params":[]}' -H 'content-type:text/plain;' http://smartcash:password@ip_of_pine64:9679/

Here's the output:

pine64_smartcash_clientnode_rpc.png

Learn More About Smartcash:
SmartCash.cc

SmartCash-logo.png

Sort:  

This is interesting. It's like greek to me but I do have a Pi 3. Maybe I'll will try it. Thanks for sharing. It's always nice to know what is possible.

Great😍 maybe you can share your experience then.

@smartbot tip 30

Σ$$$ Tipped @saunghanan Σ30 SMART! Comment @smartbot help to claim. Currently the price of SmartCash in the market is $0.076 USD per SMART. Current value of the tip is $2.28 USD. To find out more about SmartCash, please visit https://smartcash.cc.

withdraw 30 SYeNXW8xe514jq9xgXYRvNpSahNoYiPqDA

@saunghanan: Σ29.99 SMART has been withdrawn from your account to SYeNXW8xe514jq9xgXYRvNpSahNoYiPqDA. You have been charged Σ0.01 SMART withdrawal fee. Transaction f565f69dd9bef968954a2df4e635366533a019052e7b8a42cc06bb3a227bce6f is now completed. To monitor the transaction status click HERE.

I also created a simple web UI, I use this UI for wallet transactions. You can download here: https://bitbucket.org/saunghanan/smartcash-web-wallet/downloads/