1. Build a ZenCash Secure Node - Part 1 - Prepare the VPS - Block Operations
    June 6, 2017 @ 12:53 pm

    […] This is part 1 of a 3 part tutorial for setting up a Zen Secure Node. Part 2 is available at Zen Secure Node Part 2 […]


  2. Daniel
    June 7, 2017 @ 7:03 am

    Hey, thanks for that update!

    I got this error with zen-cli getinfo:

    “errors”: “WARNING: check your network connection, 0 blocks received in the last 4 hours (96 expected)”

    what’s wrong with it?


    • Rolf
      June 7, 2017 @ 8:53 am

      nothing – that is expected behavior. Until it fully syncs to the blockchain it will receive zero blocks.


      • vrypan
        June 12, 2017 @ 4:10 am

        I have the same message, even though the number of blocks returned by getinfo seems to be equal to the blockchain height (for at least 12 hours now).


        • vrypan
          June 12, 2017 @ 5:08 am

          Update: A reboot solved the problem. No idea why. (When I reported the issue, the server had not been rebooted since installing linux and zen.)


  3. albert
    June 8, 2017 @ 12:41 pm

    Hi thank you for the work,
    can you help me please i’m blocked here :

    This is what goes into the file. Substitute your FQDN for the znode.blockoperations.io and your directory structure in the example below:

    sudo cp /etc/letsencrypt/live/znode.blockoperations.io/privkey.pem /home/blockops/keys/znode/
    sudo cp /etc/letsencrypt/live/znode.blockoperations.io/chain.pem /home/blockops/keys/znode/
    sudo cp /etc/letsencrypt/live/znode.blockoperations.io/cert.pem /home/blockops/keys/znode/
    sudo cp /etc/letsencrypt/live/znode.blockoperations.io/fullchain.pem /home/blockops/keys/znode/

    result after the command :

    cp: cannot stat ‘/etc/letsencrypt/live/znode.MYDOMAIN.me/privkey.pem’: No such file or directory
    cp: cannot stat ‘/etc/letsencrypt/live/znode.MYDOMAIN.me/chain.pem’: No such file or directory
    cp: cannot stat ‘/etc/letsencrypt/live/znode.MYDOMAIN.me/cert.pem’: No such file or directory
    cp: cannot stat ‘/etc/letsencrypt/live/znode.MYDOMAIN.me/fullchain.pem’: No such file or directory

    have you an idea please ? I can ping znode.mydomain.me



    • youniverse_b
      June 13, 2017 @ 6:50 pm

      You have to substitute “znode.blockoperations.io” for you own domain name which you connected with the A-record.


  4. Xo
    June 9, 2017 @ 3:07 am

    Nice tutorial thks ! 🙂
    Part 3 pls <3


  5. hearinleaf
    June 9, 2017 @ 4:16 pm

    Nice tutorial thks ! 🙂 Part 3 pls <3


  6. noneya
    June 10, 2017 @ 5:06 pm

    when you get all of this complete, be sure to leave your tip address. this is a lot of work to make a tutorial for. thanks


  7. aurelie
    June 11, 2017 @ 5:03 am

    please post the part 3
    great work big thanks


  8. Andy Scott
    June 11, 2017 @ 7:25 am

    Hi Rolf,
    Just a thought – would it be better to place sym-links to “zend” and “zen-cli” in the bin directory – that way their is no danger of forgetting to update the copied binaries whenever a node update is done?
    I also use it to rename the binaries (example link zclashd to zcashd for ZCL and zdashd to zcashd for Hush).


    • Rolf
      June 24, 2017 @ 6:07 pm

      you can do that – I prefer to copy them thought. That way when I am compiling new versions it does not put them into action right away.


  9. vrypan
    June 12, 2017 @ 4:07 am

    Thank you so much! Please post Part 3!


  10. kneox
    June 12, 2017 @ 6:20 am

    very good tutorial, thx, great job


  11. noneya
    June 12, 2017 @ 4:23 pm

    no updates from the team? hearing a lot of fud concerning the secure nodes, that they aren’t gonna happen. i’m ignoring it for now. i know they had some dev issues and stuff. be cool to get this thing going soon. thanks for all your work!


  12. Ed
    June 12, 2017 @ 11:25 pm

    How do we know what to put in the rpcuser and and rpcpassword fields?


  13. aurelie
    June 20, 2017 @ 3:02 pm

    Please post Part 3!


  14. yonder
    June 24, 2017 @ 8:02 am

    After the certificate installation and the execution of all relevant tutorial commands, I tried to check the certbot certificate installation with the SSL checker provided in https://www.sslshopper.com. The checker responded that FQDN resolves to the IP address it should, but it also reported that :

    “No SSL certificates were found on FQDN. Make sure that the name resolves to the correct server and that the SSL port (default is 443) is open on your server’s firewall.”

    Is this natural?


    • Rolf
      June 24, 2017 @ 6:05 pm

      yes, this tutorial does not have you set up a web server using the ssl cert. It just gets you the SSL cert.


  15. CryptoMan
    June 24, 2017 @ 1:54 pm

    Thanks for good tutorial,

    But somebody can explain to me how to generate t_address on secure node ???
    And how I can check is my secure not working or not ???


    • Rolf
      June 24, 2017 @ 6:04 pm

      this might help:
      transparent addresses:
      list addresses:
      zen-cli getaddressesbyaccount “”
      get a new address:
      zen-cli getnewaddress

      list all addresses:
      zen-cli listaddressgroupings

      shielded addresses
      list addresses:
      zen-cli z_listaddresses
      get a new address:
      zen-cli z_getnewaddress

      send to a shielded address:

      zen-cli z_sendmany “fromaddress” ‘[{“address”:… ,”amount”:…},…]’ ( minconf ) ( fee )

      zen-cli listunspent
      zen-cli z_gettotalbalance

      see memos:


  16. Stephane
    June 24, 2017 @ 5:40 pm

    Hi Rob,
    Thanks for your great tutorial.

    I found a little mistake you should correct soon:
    It’s about the github repo. You wrote in the command line text:

    git clone https://github.com/zencashio/zen.git

    But it has to be updated to the new repo : https://github.com/ZencashOfficial/zen


    • Rolf
      June 24, 2017 @ 6:00 pm

      thank you – just fixed it


      • dimvas
        June 28, 2017 @ 11:57 am

        To update from the old to the new link, the only i have to do is to delete the”zen” folder and redo all the second part?


        • Rolf
          June 28, 2017 @ 12:01 pm

          yes, that would be a good way. Don’t run out of space on your hard drive!


  17. Mario
    June 26, 2017 @ 9:07 pm

    Hi Rolf, when will be available the third part? It has been a long time the first and second. The tutorials are really good so I would like to be part of the secure nodes zen network


  18. Kneox
    June 28, 2017 @ 7:35 pm

    Allways 0.00 in balance gâter one month, is it normal ?


    • Kneox
      June 28, 2017 @ 7:35 pm

      After one month*


  19. jack
    July 1, 2017 @ 5:04 pm

    Do we need to keep the 42 zencash in the node?


    • agulab
      July 20, 2017 @ 9:42 am

      I’m interested in this question as well. There’s no remote activation for the Secure Node?


  20. Frankie
    July 3, 2017 @ 12:59 pm

    Cheers Rolf, saved me and my mates a ton of work 🙂


  21. Gary
    July 5, 2017 @ 11:01 am

    Thanks for the write up; excellent instructions! Another node lives! 🙂


  22. Daniel
    July 9, 2017 @ 6:20 pm

    Thanks for the tutorial.
    Just a question, whats the estimated monthly income, and ROI time when running a Zen node?


    • zerx
      July 19, 2017 @ 12:34 am

      it will be 3.5% or something like that split up between all the secure nodes per block. So depends on how many blocks are solved and how many secure nodes there are.


  23. Emejay
    July 20, 2017 @ 3:25 pm

    Hello, First of all, thank you for all the help. When the part 3 will be complete?


    • Rolf
      August 2, 2017 @ 8:54 am

      After the secure node tracking and payment system is running. It is in testing now by the Zen team.


  24. dimvas
    August 2, 2017 @ 2:14 am

    Hello! How can i update from an older to to Zen 2.0.9-4 version?


    • Rolf
      August 2, 2017 @ 8:53 am

      If you are already on the correct repository, the ZenCashOfficial at https://github.com/ZencashOfficial

      then do this set of commands:

      cd ~/zencash/zen/
      git pull
      ./zcutil/build.sh -j$(nproc)
      zen-cli stop
      sudo cp src/zend /usr/bin/
      sudo cp src/zen-cli /usr/bin/


  25. How to make zend run on a low numbered network port – CoinAffairs
    August 8, 2017 @ 6:08 pm

    […] This is a side note and a followon to this article on How to Build a Zen Secure Node – Part 2 […]


  26. Peter
    August 11, 2017 @ 6:13 am

    Great work, Rolph! Big thanks! We are waitinig for part 3 :))


    • Rolf
      August 28, 2017 @ 1:04 pm

      We have some good developers at ZenCash working on the TLS integration and the Secure Node tracking and payment system.

      Hopefully this week I can try making nodes work on a hardware device using KVM and get 4 nodes running on it at the same time.


  27. Barry
    September 3, 2017 @ 10:26 am

    Hi there,

    Thanks for this awesome guide, I’m a little stuck after I do the “./zcutil/build.sh -j$(nproc)” command. It builds it but there are few error.

    Makefile:3072: recipe for target ‘libbitcoin_server_a-init.o’ failed
    make[2]: *** [libbitcoin_server_a-init.o] Error 4
    make[2]: Leaving directory ‘/home/juntao/zencash/zen/src’
    Makefile:5176: recipe for target ‘all-recursive’ failed
    make[1]: *** [all-recursive] Error 1
    make[1]: Leaving directory ‘/home/juntao/zencash/zen/src’
    Makefile:625: recipe for target ‘all-recursive’ failed

    Any idea what Im doing wrong, everything was working up to this point.



    • Barry
      September 6, 2017 @ 5:05 am

      Never mind, restarted and it came right!



      • Rolf
        September 6, 2017 @ 9:32 pm

        great to hear!


  28. Matt
    September 12, 2017 @ 5:37 pm

    Hi all,

    I was having trouble building using the master branch at github, as referenced in this guide.

    However, thanks to a dev comment on a pull request, I was able to build from the development branch with no issues at all.

    Just clone the development branch instead of the master branch, and the rest is gravy.

    Just a heads up for those having difficulty with the current guide.

    Rolf, thank you very much for this guide, by the way!


  29. ZC
    September 20, 2017 @ 7:12 am

    Nice Tut , i get the below errors , is this normal on 1st boot ? the block height is increasing

    “version”: 2001050,
    “protocolversion”: 170002,
    “walletversion”: 60000,
    “balance”: 0.00000000,
    “blocks”: 29176,
    “timeoffset”: 0,
    “connections”: 9,
    “proxy”: “”,
    “difficulty”: 10656.0223791006,
    “testnet”: false,
    “keypoololdest”: 1505903877,
    “keypoolsize”: 101,
    “paytxfee”: 0.00000000,
    “relayfee”: 0.00000100,
    “errors”: “WARNING: check your network connection, 0 blocks received in the last 4 hours (96 expected)”


    • ZC
      September 20, 2017 @ 12:12 pm

      Please ignore , all looking good now , so what next generate new wallet addy and send 42 ZEN to , are there any tuts on running a MN ? TiA


  30. Robcsa
    September 29, 2017 @ 4:55 pm

    Hi i got this error!

    Could somebody help me please ? I got the following error text while trying to do this step:sudo .acme.sh/acme.sh –issue –standalone -d znode.blockoperations.io. It seems that (my domain) is an IDN( Internationalized Domain Names), please install ‘idn’ command first.
    Thanks in advance.


Leave a Reply

Your email address will not be published. Required fields are marked *