Install and Run zCash in Ubuntu Server 16.04

  1. Install zCash node (website:
    • $ sudo apt-get install apt-transport-https
    • $ echo “deb [arch=amd64] jessie main” | sudo tee /etc/apt/sources.list.d/zcash.list
    • $ sudo apt-get update
    • $ sudo apt-get install zcash
    • $ zcash-fetch-params    (# download parameters)
    • $ cd .zcash
    • $ nano zcash.conf    (create file: zcash.conf)
    • Add following line into zcash.conf, then save and exit:
      •     (# connect to zcash main network)
        rpcuser=user-name     (# user, no matter)
        rpcpassword= password-text  (# anything, no matter)
        gen=0      (# value=0: not mining; value=1: mining when run zcashd)
  2. Run zcash core (zcashd):
    • $ zcashd    :   run zcashd in normal mode and showing running info.
    • $ zcashd –daemon  :   run zcashd in background
    • It will take several hours to download all blockchain to local server.
  3. Use zcash client app (zcash-cli):
    • To check if zcashd is running:
    • Create new t-Address (account for wallet is not supported yet – 2017/07):
      • $ zcash-cli getnewaddress
    • List t-address:
      • zcash-cli getaddressesbyaccount “”  (# show address of default account)
      • zcash-cli listreceivedbyaddress 0 true  (# show all addresses of all accounts)
    • Create new z-address:
      • $ zcash-cli z_getnewaddress
    • List z-address:
      • $ zcash-cli z_listaddresses

Install and configure SSH server for Ubuntu 16.04

  • Intall SSH Server:

$ sudo apt install openssh-server

  • Change SSH Port, if needed:

$ cd /etc/ssh/

$ sudo nano sshd_config

The change port number, save and exit.

  • Restart SSH service:

$ sudo systemctl restart ssh

  • Open SSH session to control another machine:

$ ssh hostname@host_ip_address -p ssh_port

  • Temporary let ssh session (that is controlling a remote host) run under background (i.e. a special command to suspend the SSH client):

Press “–” (Shift -),  “Enter", then “~", followed by “Ctrl-Z"

  • Re-enter interactive mode after Ctrl-Z (i.e. back to the process that is let running in background after press Ctrl-Z):

Type “fg” and hit “enter” in terminal.





How to run Siad as a background service in Ubuntu server

Configure a service that allow siad to run on boot (and restart in case of crashed):

    • Assume that you already install Sia Core and ./siad is operational (i.e. you can run command ./siad to start Sia application)
    • Stop siad process.
    • Create a file named: siad.service at a folder you need. In the below example, you create file siad.service in folder /home/your-user-name/config/services
      • $ mkdir config && cd config && mkdir services && cd services
      • $ sudo nano siad.service
      • Add these lines to siad.service file:

        Description=Sia Daemon
    • Save file and exit to root user.
    • Configure firewall (if ufw is in use):
      • $ ufw allow 9982
    • Start siad as a service:
      • $ systemctl daemon-reload
      • $ systemctl enable ~/.config/systemd/siad.service
      • $ systemctl start siad.service
  • Sia should now be running as a service which can be confirmed/verifyed with:

Sia wallet error when unlock or show addresses

Run commands:

./siac wallet unlock

./siac wallet addresses

Error: Could not unlock wallet: error when calling /wallet/unlock: wallet has not been encrypted yet

Cause: Wallet was unlocked before all blockchain had been downloaded. The wallet is in “incomplete” status.


  • Let all blockchain downloaded (by running ./siad)
  • Encrypt wallet with your current recovery seed:
    • Run ./siac wallet init-seed
    • Input your current recovery seed
    • Wait for a while (few minutes)
  • Now your Sia Wallet is completed.
  • Decrypt wallet with your current password:
    • Run ./siac wallet unlock
    • Input your current 29-word long password
    • Wait few minutes for scanning clock height, then done.
  • Now you can use ./siac wallet [flag/command] again.

Run ./siad (Sia Daemon) with specific modules

You can tell siad to do less stuff:

$ siad -M [module-name]

Use the -M or –modules flag to only run specific modules. Modules are
independent components of Sia. This flag should only be used by developers or
people who want to reduce overhead from unused modules. Modules are specified by
their first letter. If the -M or –modules flag is not specified the default
modules are run.

Continue reading

Comparison between 3528 LEDs and 5050 LEDs: What are SMD 3528 and SMD 5050 LEDs?

Comparison between 3528 LEDs and 5050 LEDs: What are SMD 3528 and SMD 5050 LEDs?

Here’s an easy-to-understand comparison between LED chip numbers and sizes.

(Hint: the numbers are only the size of the chip!)

New to LEDs? What are LED strip lights and what can they do?


Continue reading

Install and run SIA (for SiaCoin – SC) in Ubuntu 16.04

  • Run SIA:
    • $ ./siad
    • While ./siad running, it will take several hours to download all blockchain.
    • You can confirm siad is running by querying its API:
    • You should see something like this:  {“synced”:false,“height”:29731,”currentblock”:”0000045c26825f0d”,”target”:[0,0,0,0,0,1,137,1]}
    • Compare downloaded block height with the real total block height to calculate blockchain downloading progress. Total block height of SiaCoin available at:
    • Keep ./siad running until it downloads all blockchain. When the consensus endpoints returns {“synced”: true} the blockchain download is completed.
  • Run SIA in background:
    • $ ./siad & (note: the app will also be closed if ssh terminal is closed)
    • see this to run siad as a service.
  • Configure the host for now do not take any contracts (can do this only while ./siad is running):
    • $ ./siac host config acceptingcontracts false
  • Create SiaCoin Wallet and Wallet Address:
    • While siad is running,
    • Create new wallet:
      • $ ./siac wallet init
      • (Save your recovery seed and wallet encrypted password for later use)
    • Or use an existing wallet:
      • $ ./siac wallet load
    • Unlock wallet:
      • $ ./siac wallet unlock
    • Create a new wallet address
      • $ ./siac wallet address
      • (Save wallet address for later use)
  • Show current Sia Wallet address/balance (need to unlock first):
    • $ ./siac wallet addresses
    • $ ./siac wallet balance

* Note: SIA Client has versions for both Windows and Linux.