create account

Installation of a waves testnet node by marc.jansen

View this thread on: hive.blogpeakd.comecency.com
· @marc.jansen ·
$0.83
Installation of a waves testnet node
<h1>Installation of a waves testnet node</h1>
<p>I was asked to provide a video tutorial for the installation of a testnet node</p>
<p>for the waves network. I'm currently running a couple of nodes in different</p>
<p>environments and helped a couple of people installing nodes. Therefore, some</p>
<p>experience in how to set up nodes for the waves network exists. :)</p>
<p><br /></p>
<p>Basically, I'll follow the steps for the installation of a node on the</p>
<p>wavesplatform github page:</p>
<p><br /></p>
<p>https://github.com/wavesplatform/Waves</p>
<p><br /></p>
<p>and the page for the configuration of a node:</p>
<p><br /></p>
<p>https://github.com/wavesplatform/Waves/wiki/How-to-configure-Waves-node</p>
<h2>Installation of the Oracle Java8 JDK</h2>
<p>First of all, we have to install the Oracle Java8 JDK. The following commands</p>
<p>will take care of this:</p>
<p><br /></p>
<p>echo &quot;deb http://ppa.launchpad.net/webupd8team/java/ubuntu precise main&quot; | tee -a /etc/apt/sources.list</p>
<p>echo &quot;deb-src http://ppa.launchpad.net/webupd8team/java/ubuntu precise main&quot; | tee -a /etc/apt/sources.list</p>
<p>apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys EEA14886</p>
<p>apt-get update</p>
<p>apt-get install -y oracle-java8-installer</p>
<p><br /></p>
<p>In contrast to the original steps provided by the waves team, I've added -y to</p>
<p>the last command in order to avoid apt asking if we really want to install</p>
<p>the package. At this step, some users (including me) had some trouble answering</p>
<p>the question and this pitfall could be avoided by just adding the -y. Finally,</p>
<p>these steps ensure that we have the latest JDK version (originally from Oracle)</p>
<p>installed on our server.</p>
<h2>Installation of the Waves node software</h2>
<p>After the successful installation of the Oracle Java8 JDK, we can start the installation of the nodes software. Therefore, we will download the latest release from:</p>
<p><br /></p>
<p>https://github.com/wavesplatform/Waves/releases</p>
<p><br /></p>
<p>At the current state, the latest version is 0.2.1, so we download the release</p>
<p>via:</p>
<p><br /></p>
<p>wget https://github.com/wavesplatform/Waves/releases/download/v0.2.1/waves-v0.2.1-testnet.zip</p>
<p><br /></p>
<p>Of course, this link will change with upcoming releases...</p>
<p><br /></p>
<p>After downloading it, we will need to unzip it. If you have not yet install</p>
<p>unzip on your server you can do so with the following command:</p>
<p><br /></p>
<p>apt-get install unzip</p>
<p><br /></p>
<p>After unzipping the formerly downloaded waves-v0.2.1-testnet.zip file with:</p>
<p><br /></p>
<p>unzip waves-v0.2.1-testnet.zip</p>
<p><br /></p>
<p>we have two new files in our filesystem:</p>
<p><br /></p>
<p>waves_0.2.1_testnet.deb</p>
<p>waves-testnet.json</p>
<p><br /></p>
<p>Fianlly, we can now install the waves software by:</p>
<p><br /></p>
<p>dpkg -i waves_0.2.1_testnet.deb</p>
<p><br /></p>
<p>Remember, all the steps so far should be done in a root account. If you are not</p>
<p>logged in as root (or with an account that has root privilegous), you should add</p>
<p>&quot;sudo&quot; in front of the commands.</p>
<h2>Configuration of the waves node</h2>
<p>After the successful installation of the waves node software, we can now start</p>
<p>configuring it according to the steps explained in subsection &quot;Configuration&quot;</p>
<p>here:</p>
<p><br /></p>
<p>https://github.com/wavesplatform/Waves/wiki/How-to-configure-Waves-node</p>
<p><br /></p>
<p>After the successful configuration, you can start your node in the background</p>
<p>with the following command:</p>
<p><br /></p>
<p>waves waves-testnet.json &amp;</p>
<p><br /></p>
<p>Those steps are shown in the following video:</p>
<p>
<iframe src="https://www.youtube.com/embed/nPf0p351lK8" width="640" height="360" allowFullScreen="on" frameBorder="0"></iframe>
</p>
<h2>Check installation</h2>
<p>Since you have now a clean installation, your node needs to sync first. Here,</p>
<p>syncing means that your node has to download the history of blocks / transaction</p>
<p>that occured in the network so far. In order to check if your node is syncing,</p>
<p>you can connect to the Swagger UI of your node by pointing your web browser to</p>
<p>the following URL.</p>
<p><br /></p>
<p>http://&lt;ip address of your server&gt;:6869</p>
<p><br /></p>
<p>Since one of my server is running on ip 138.68.56.182, the URL would be:</p>
<p><br /></p>
<p>http://138.68.56.182:6869</p>
<p><br /></p>
<p>On the loaded page, you'll find an endpoint called &quot;debug&quot;. If you click on it,</p>
<p>you'll find another endpoint called &quot;/debug/info&quot;. Again, click on it and hit</p>
<p>&quot;Try it out&quot;. The result you'll get should look something like the following</p>
<p>image. </p>
<p><img src="https://dl.dropboxusercontent.com/u/70697078/debug_info.png" /></p>
<p>Here, you can see that the stateHeight of my node is currently at 7150.</p>
<p>We can compare this to synced nodes, e.g., the ones you find unter &quot;knownPeers&quot;</p>
<p>in your waves-testnet.json file on your server, in order to check how far your</p>
<p>nodes is in the syncing process.</p>
<p><br /></p>
<p>On you server, you can also check the &quot;scorex.log&quot; file. If you find entries</p>
<p>like:</p>
<p><br /></p>
<p>08/08 11:34:19 DEBUG[t-dispatcher-11] s.n.HistorySynchronizer Got blockIds: Vector(1111111111111111111111111111111111111111111111111111111111111111, EoeZ7RSQVZ7QXvrpfXgrDeBS61z</p>
<p>ByRsdz4fmHSxRLv3LHWcAWzM22fZYsd8gMbemQBn83BvkFpURiHy6u9zgNJQ, 3xSfryez3w2cCTj7vq2QSoWgYxZmSZXttRyii2y6QCqE2cTv9vfG1BfMGyWpK3fyvushjCrfNFqrMwnifZJ58wU, 4diJ2cx7RW9WAysitNdkX5R9b</p>
<p>RLULThNkmhkMRyYFRLgGqWt8zJ1HTCnW4SgWqSfsgggUQEV3ZWwB9GGUjvCDpjq, 65gTSJ5Ha1xWrdKDXU3voQ57mFNL4qnUMA7mFiVPTL53RwJTt9SfjktR911BN2sN6JMQjvzVLmL2xREqP9k5LDdT, 2oFphHrGMMTQeKhZJwzvD</p>
<p>DiPnsc3V3HKjsVjasX5bgRJTUNNJza3j26wyuKVU5eJ18u7PKS8LZ31GnyD1A6TafvE, TygmcnAPTynrKavZfpVEbxhPziLaedxq1XJd296TPbrrxB3QRrSjQ7kGFxg3bNHvWUAgcrr2pjisKD8PwzcM1t7, 2Ko4eGmmnKkdwbbYUv</p>
<p>Ct75mjhyUUuuLFRtkndsnbrygnbKXs3jriLmynDdNcmVDoKCeseqx74d2FSBXXW28gxGkB, 21d6iFPmAELHynfQyoGB74ibRSYCMNmvgyYgRX93E2mFhNogfTZKWf6ncrETY9zu1Yp6tmvQ1JPg8bG1zLYmtsMe, GmB1PaRnbdDDoz</p>
<p>TNrPxZXMFL97PDS5etadLanmAVZx93EVqAib5HsJAg3D5WmubW78KFr45PYmHy6HiYS3oeGrm, 36BDtsEXoLxsvjCyWXCDUzr9yJGDuEEWWSj2HqLRjAx1dVAdFReLTe8LTY9B8oAuf9EScAdVC42zZqT72uKE7FCG, 5VsVZQXuuoL</p>
<p>CXPhCtTm8bFapst3CN6jRvM653ZUMn2YJXguqGg5mUesgCQZb3jYG3ha74jxAArN7kRMpdFwtmCCh, 3QXWR8kmA1HK7SGjEpaiqoWpULXWHtwfiSuJ7a1Xd9kfWCxuPH1pZubtpqGdGGnRyHrnEfC1dydLsX4jH8BeVUY1, 5PjFUiX</p>
<p>zvCuQfcQ7aA6HgCYn3aXc8jSJ7Zdg9MqDtPsLBN6DjQewq6KH7Er5x5n1EAv7z7sEHp8VEkiTStm7Pa96, 4sokUJSzh2gh7PnxvZXyNpp66nvUYWvRWAgx92ECZBzNi8q4z4XEehaRYtDDaQjKff4Hd3WwJJNwex5WqcuiodE9, 4iS</p>
<p>AgU5wdKJaQuRJ2v5gT3WPwUZsaSYu63SuqP5AEbkj9GWfVFfyrdpT67LvTV24q2aPKHZzmvHJaSgfyWpD83DH, 4Eqp7vcojfiupUjiCiDFMr87pwLkXWrkW41JDmAEa9gFwaT9Yno27mbigD8xRBTq1Re4jmFJwPHaeMHbBpYFhxVx,</p>
<p> 2v1UGCHgtFwaFNX91shpLQyS2dYaTURXfXqeSREvdjCUfPdUey31TmZvUNdsufx2nyqGDAGAmZeC14iueZxtUxEE, 5kTEjA8tauSUoF7Z2NqBDqHCH6wnkXkfxLzmA87PHocL7GDfcDmyGpdUiBHVCw4ajuyUvmVKnzMCftYMiyEdL</p>
<p>stN, Ycd2JVVdA2UNR3WcQEBQvwgJhVsaGnmKqwNoteTNMvriqdhmHRyU4ytbnN1kENXLAiwEBv2raADrdKU9ESpJ9R6, 3dke6cEq6a5Zg2gjeVzw6qzUUEVAYXCzdgeExdof4vdyZj3Xq5pe4FZcypfNh7GSM6w4DjNm1UTQimQ219N4Q9qZ)</p>
<p><br /></p>
<p>this shows that your node is adding new blocks.</p>
<p><br /></p>
<p>Remember, the syncing process might take some (serious) time to finish. The</p>
<p>bigger the blockchain of the waves testnet network will get, the more time it</p>
<p>will take.</p>
<p><br /></p>
<p>I hope that you enjoyed the tutorial. Please feel free to contact me (@hawky) on</p>
<p>slack in #testnet-maintainers or #fullnode if you have any questions, or just</p>
<p>leave a comment with your questions here. </p>
<p><br /></p>
👍  , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
properties (23)
authormarc.jansen
permlinkinstallation-of-a-waves-testnet-node
categorywaves
json_metadata{"tags":["waves","blockchain","fullnode","testnet","testnet-maintainers"],"image":["https://dl.dropboxusercontent.com/u/70697078/debug_info.png"],"links":["https://github.com/wavesplatform/Waves","https://github.com/wavesplatform/Waves/wiki/How-to-configure-Waves-node","http://ppa.launchpad.net/webupd8team/java/ubuntu","https://github.com/wavesplatform/Waves/releases","https://github.com/wavesplatform/Waves/releases/download/v0.2.1/waves-v0.2.1-testnet.zip","http://138.68.56.182:6869"]}
created2016-08-08 15:58:48
last_update2016-08-08 15:58:48
depth0
children10
last_payout2016-09-08 10:55:30
cashout_time1969-12-31 23:59:59
total_payout_value0.637 HBD
curator_payout_value0.196 HBD
pending_payout_value0.000 HBD
promoted0.000 HBD
body_length7,928
author_reputation44,177,412,465
root_title"Installation of a waves testnet node"
beneficiaries[]
max_accepted_payout1,000,000.000 HBD
percent_hbd10,000
post_id684,809
net_rshares1,109,085,886,674
author_curate_reward""
vote details (31)
@btcbtcbtc20155 ·
Great job. Too bad I am not a whale but upvoted.
👍  , ,
properties (23)
authorbtcbtcbtc20155
permlinkre-marcjansen-installation-of-a-waves-testnet-node-20160808t212710496z
categorywaves
json_metadata{"tags":["waves"]}
created2016-08-08 21:27:18
last_update2016-08-08 21:27:18
depth1
children0
last_payout2016-09-08 10:55:30
cashout_time1969-12-31 23:59:59
total_payout_value0.000 HBD
curator_payout_value0.000 HBD
pending_payout_value0.000 HBD
promoted0.000 HBD
body_length48
author_reputation3,556,221,968,131
root_title"Installation of a waves testnet node"
beneficiaries[]
max_accepted_payout1,000,000.000 HBD
percent_hbd10,000
post_id690,831
net_rshares5,134,846,120
author_curate_reward""
vote details (3)
@cryptohead · (edited)
Hello @marc.jansen,
Thanks for this procedure.
I've been trying to install a Waves Full Node following these instructions but I'm having a problem.

When I run:
waves waves-testnet.json

I'm getting this back:
Exception in thread "main" java.lang.UnsupportedClassVersionError: akka/actor/ActorRefFactory : Unsupported major.minor version 52.0
        at java.lang.ClassLoader.defineClass1(Native Method)
        at java.lang.ClassLoader.defineClass(ClassLoader.java:800)
        at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
        at java.net.URLClassLoader.defineClass(URLClassLoader.java:449)
        at java.net.URLClassLoader.access$100(URLClassLoader.java:71)
        at java.net.URLClassLoader$1.run(URLClassLoader.java:361)
        at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:425)
        at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:358)
        at java.lang.Class.getDeclaredMethods0(Native Method)
        at java.lang.Class.privateGetDeclaredMethods(Class.java:2625)
        at java.lang.Class.getMethod0(Class.java:2866)
        at java.lang.Class.getMethod(Class.java:1676)
        at sun.launcher.LauncherHelper.getMainMethod(LauncherHelper.java:494)
        at sun.launcher.LauncherHelper.checkAndLoadMain(LauncherHelper.java:486)

What could be the problem?
Thanks for your help
properties (22)
authorcryptohead
permlinkre-marcjansen-installation-of-a-waves-testnet-node-20160820t013154369z
categorywaves
json_metadata{"tags":["waves"],"users":["marc.jansen"]}
created2016-08-20 01:31:48
last_update2016-08-20 01:32:39
depth1
children1
last_payout2016-09-08 10:55:30
cashout_time1969-12-31 23:59:59
total_payout_value0.000 HBD
curator_payout_value0.000 HBD
pending_payout_value0.000 HBD
promoted0.000 HBD
body_length1,619
author_reputation607,929,583,052
root_title"Installation of a waves testnet node"
beneficiaries[]
max_accepted_payout1,000,000.000 HBD
percent_hbd10,000
post_id899,094
net_rshares0
@cryptohead ·
I found  the problem was that Java 7 was installed.
It seems that a default CD install of Ubutu 14 does install Java 7
You need to remove that before installing Java 8
👍  
properties (23)
authorcryptohead
permlinkre-cryptohead-re-marcjansen-installation-of-a-waves-testnet-node-20160820t140436155z
categorywaves
json_metadata{"tags":["waves"]}
created2016-08-20 14:04:30
last_update2016-08-20 14:04:30
depth2
children0
last_payout2016-09-08 10:55:30
cashout_time1969-12-31 23:59:59
total_payout_value0.000 HBD
curator_payout_value0.000 HBD
pending_payout_value0.000 HBD
promoted0.000 HBD
body_length167
author_reputation607,929,583,052
root_title"Installation of a waves testnet node"
beneficiaries[]
max_accepted_payout1,000,000.000 HBD
percent_hbd10,000
post_id905,658
net_rshares61,182,950
author_curate_reward""
vote details (1)
@cryptohead · (edited)
In the configuration wiki it says:
"Decide what api_key you require and call /utils/hash/secure using http method to calculate apiKeyHash."
How do I decide this?  
What value should I enter to generate the apiKeyHash ?
With a aleatory string generated hash I get:
"message": "Provided API key is not correct"
I'm stuck here :(
Please explain
Thanks
properties (22)
authorcryptohead
permlinkre-marcjansen-installation-of-a-waves-testnet-node-20160820t144001750z
categorywaves
json_metadata{"tags":["waves"]}
created2016-08-20 14:40:00
last_update2016-08-20 17:02:45
depth1
children2
last_payout2016-09-08 10:55:30
cashout_time1969-12-31 23:59:59
total_payout_value0.000 HBD
curator_payout_value0.000 HBD
pending_payout_value0.000 HBD
promoted0.000 HBD
body_length348
author_reputation607,929,583,052
root_title"Installation of a waves testnet node"
beneficiaries[]
max_accepted_payout1,000,000.000 HBD
percent_hbd10,000
post_id906,106
net_rshares0
@marc.jansen ·
You can understand the api_key as your password that ensures that only you can execute the endpoints. Therefore, "decide what api_key you require..." means that you have to choose a string as a password. It should be safe enough of course...
👍  
properties (23)
authormarc.jansen
permlinkre-cryptohead-re-marcjansen-installation-of-a-waves-testnet-node-20160821t140243890z
categorywaves
json_metadata{"tags":["waves"]}
created2016-08-21 14:02:42
last_update2016-08-21 14:02:42
depth2
children1
last_payout2016-09-08 10:55:30
cashout_time1969-12-31 23:59:59
total_payout_value0.000 HBD
curator_payout_value0.000 HBD
pending_payout_value0.000 HBD
promoted0.000 HBD
body_length241
author_reputation44,177,412,465
root_title"Installation of a waves testnet node"
beneficiaries[]
max_accepted_payout1,000,000.000 HBD
percent_hbd10,000
post_id920,240
net_rshares2,212,863,522
author_curate_reward""
vote details (1)
@cryptohead · (edited)
Hello @marc.jansen,
Thanks for your response.
Yes, that's what I figured. So I placed a long string I made up in the "message" box and generated de APIKey Hash.
But, now when I run the node I get the warning message:
"message": "Provided API key is not correct"
Why? What did I do wrong?
Thanks for your help.
properties (22)
authorcryptohead
permlinkre-marcjansen-re-cryptohead-re-marcjansen-installation-of-a-waves-testnet-node-20160822t163013299z
categorywaves
json_metadata{"tags":["waves"],"users":["marc.jansen"]}
created2016-08-22 16:30:27
last_update2016-08-22 16:58:54
depth3
children0
last_payout2016-09-08 10:55:30
cashout_time1969-12-31 23:59:59
total_payout_value0.000 HBD
curator_payout_value0.000 HBD
pending_payout_value0.000 HBD
promoted0.000 HBD
body_length309
author_reputation607,929,583,052
root_title"Installation of a waves testnet node"
beneficiaries[]
max_accepted_payout1,000,000.000 HBD
percent_hbd10,000
post_id936,812
net_rshares0
@cryptohead ·
Another question in regards to node security.
What ports should be open for a waves node to work properly?
Thanks
properties (22)
authorcryptohead
permlinkre-marcjansen-installation-of-a-waves-testnet-node-20160822t165812619z
categorywaves
json_metadata{"tags":["waves"]}
created2016-08-22 16:58:27
last_update2016-08-22 16:58:27
depth1
children0
last_payout2016-09-08 10:55:30
cashout_time1969-12-31 23:59:59
total_payout_value0.000 HBD
curator_payout_value0.000 HBD
pending_payout_value0.000 HBD
promoted0.000 HBD
body_length113
author_reputation607,929,583,052
root_title"Installation of a waves testnet node"
beneficiaries[]
max_accepted_payout1,000,000.000 HBD
percent_hbd10,000
post_id937,178
net_rshares0
@globalwork365 ·
Great explanation of how to run a Full Node on Waves Platform.Many thanks Marc
👍  
properties (23)
authorglobalwork365
permlinkre-marcjansen-installation-of-a-waves-testnet-node-20160808t162951536z
categorywaves
json_metadata{"tags":["waves"]}
created2016-08-08 16:29:54
last_update2016-08-08 16:29:54
depth1
children0
last_payout2016-09-08 10:55:30
cashout_time1969-12-31 23:59:59
total_payout_value0.000 HBD
curator_payout_value0.000 HBD
pending_payout_value0.000 HBD
promoted0.000 HBD
body_length78
author_reputation6,638,487
root_title"Installation of a waves testnet node"
beneficiaries[]
max_accepted_payout1,000,000.000 HBD
percent_hbd10,000
post_id685,336
net_rshares58,319,801
author_curate_reward""
vote details (1)
@good-karma ·
Good work! Hope project gets attention in coming month...
👍  
properties (23)
authorgood-karma
permlinkre-marcjansen-installation-of-a-waves-testnet-node-20160809t044344113z
categorywaves
json_metadata{"tags":["waves"]}
created2016-08-09 04:43:42
last_update2016-08-09 04:43:42
depth1
children0
last_payout2016-09-08 10:55:30
cashout_time1969-12-31 23:59:59
total_payout_value0.000 HBD
curator_payout_value0.000 HBD
pending_payout_value0.000 HBD
promoted0.000 HBD
body_length57
author_reputation656,210,817,936,836
root_title"Installation of a waves testnet node"
beneficiaries[]
max_accepted_payout1,000,000.000 HBD
percent_hbd10,000
post_id697,372
net_rshares61,182,950
author_curate_reward""
vote details (1)
@mixrys ·
Cool tutorial, gave upvote friend !
👍  
properties (23)
authormixrys
permlinkre-marcjansen-installation-of-a-waves-testnet-node-20160808t232227729z
categorywaves
json_metadata{"tags":["waves"]}
created2016-08-08 23:22:24
last_update2016-08-08 23:22:24
depth1
children0
last_payout2016-09-08 10:55:30
cashout_time1969-12-31 23:59:59
total_payout_value0.000 HBD
curator_payout_value0.000 HBD
pending_payout_value0.000 HBD
promoted0.000 HBD
body_length35
author_reputation58,767,624,186
root_title"Installation of a waves testnet node"
beneficiaries[]
max_accepted_payout1,000,000.000 HBD
percent_hbd10,000
post_id692,818
net_rshares59,983,284
author_curate_reward""
vote details (1)