NEM Supernode Rewards Program

##About Supernodes The NEM Supernode's program is funded with XEM set aside during the Nemesis block. These awards are then given to high performance nodes for helping to secure the network. These nodes form a backbone of support for [light wallets](http://blog.nem.io/lightwallet/), mobile wallets, and 3rd party apps so that users of these services might have access to the network that is easy, fast, and reliable without having to sync a blockchain by themselves or use untrustworthy centralized services. The NEM network has been designed from the very beginning with the goal in mind that any light client can securely connect to and use any server safely to make any transaction. Supernodes are expected to be high performance and reliable nodes. They are regularly tested on their bandwidth, chain height, chain parts, computing power, version, ping, and responsiveness to make sure that they are performing to high standards. If they meet all these requirements, they are given rewards daily. Rewards for the Supernodes program started on June 1st, 2016. The payout started at 70,000 XEM per day and will be split among all nodes that pass the tests for the day. This payout is planned to be increased at regular increments. In the event of a Supernodeā€™s program update and/or downtime of the Supernodeā€™s monitor, rewards will not be paid for that day. ##Supernodes FAQ **How do I enroll in Supernodes?** Please visit read the tutorial with step by step instructions below. **How can I benefit or get paid for running a supernode?** Every Supernode has to pass a series of tests, those who pass get a guaranteed incentive for supporting the network having met a certain level of performance. The amount of the incentive depends on the number of participating Supernodes which passes the tests as the reward for each day is split equally among all supernodes that passed the tests that day. At the start of the Supernode Rewards Program on June 1st, 2016, the daily payment for all working supernodes together will be 70.000 XEM.* This is scheduled to be increased later. If, for example, the network consists of 100 Supernodes, every holder will receive 700 XEM a day. *Payments will be made with due diligence by the NEM team, but in the case that the NEM Teamā€™s Supernode server and monitor is down or being upgraded, rewards will not be paid for that time. Rewards will resume when the server is back online and functioning properly. **How is the supernode reward program financed?** The Supernode Reward Program is funded with over 211 million XEM set aside in the [Supernode's Fund](http://chain.nem.ninja/#/search/NAFUNDBUKIOSTMD4BNXL7ZFE735QHN7A3FBS6CMY) and explained in the [NEM Development Contract](http://blog.nem.io/update-sustainability-fund-final-redemption-numbers/) to encourage people in helping to support the NEM network until it can sustain itself from the generated transaction fees. **What do I need to run a supernode?** Most important is to have the minimum XEM balance required to start as a supernode. You need a server of your own, at home or a rented VPS that must fulfill at least the following hardware requirements: * RAM: At least 1GB recommended (at least 768MB to NIS and 128MB to the servant) * CPU: 1Ghz+ single core or more is recommend * Upstream: at least 5mbps * Open TCP inbound/outbound ports for 7778, 7880, and 7890 on firewalls and routers If the server passes each round of tests for the day, it becomes eligible to receive rewards. VPSā€™s that meet the guidelines can be found at the following sites: [Hostus](https://hostus.us/openvz-vps.html) [Lowendbox](https://lowendbox.com/blog/hostus-7month-2gb-openvz-leb-exclusive-in-hong-kong-and-sydney-and-more/) [Digital Ocean](https://www.digitalocean.com/pricing/) To get started take a look into the Supernodes guide that includes a detailed description [here](http://blog.nem.io/supernodes/). **What tests does my Supernode have to pass?** Supernodes will be tested for bandwidth, chain height, chain part, computing power, bonded XEM, current NIS version, ping, and responsiveness. **How many supernodes can be run on a server?** You need to have one server per supernode. **Can I still harvest when I get super node rewards?** Yes, of course. It is expected that Supernodes will be harvesting on the deposit. **Is there a Supernode Explorer so that I can check the status of my node and other nodes?** Yes, you can find it [here](http://supernodes.nem.io/).

Steps to Enroll and Participate in Supernodes

Step 1. Download and run the stand alone version of NEM from nem.io.
Note: The stand alone tutorials for Mac, Ubuntu, and Windows can be found at the NEM Tutorials Index.

Step 2. Make an account and have at least 3,000,030 XEM in an account.
Note: 3 million XEM to be able to participate in the program, and 30 XEM to be able to pay the fees for activating delegated harvesting and sending the enrollment message. The message fee depends on the size of the message text, so 30 XEM might be a little bit more than you really need.

Step 3. Activate delegated harvesting on your main account.
Note: A tutorial can be found here. Remember, 6 hours must pass before you can start harvesting, but for the sake of supernodes, once you have the delegated private key (which is available instantly), you may proceed. (Please make sure to get the private key from the delegated harvesting account, not your main account and not either of the public keys.)

Step 4. Shut down NIS, if running.

Step 5. Configure your NIS to autoboot with the delegated private key.
Note: To find your delegated private key please go to View Account Details and then Show Remote Accountā€™s PRIVATE key.
You will need to edit the config file in your NIS folder to do this. Here is some help:
When you unzipped the stand alone you made a folder called package. Open that folder and double click on the folder nis and then open the file config.properties with a text editor. You will then need to find line 43 which says #nis.bootKey =. Now delete the ā€œ#ā€ so it only says nis.bootKey =. Next delete #0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef and replace it with your delegate private key you just made, and again donā€™t keep the ā€œ#ā€.
Next in line 44, #nis.bootName, remove the ā€œ#ā€ and then erase ā€œfoobarā€ and instead write the name of your node. Any name is fine. Please make sure your node name is under 50 characters. Save your edits and close the text editor.
Lastly, set nis.shouldAutoHarvestOnBoot to true.

Please review this tutorial if you need more help.
To test if you have done this correctly restart your stand alone NIS and NCC. If you have followed all steps correctly, you will see that your NIS is booting and synchronizing automatically, even if you didnā€™t log into your wallet yet.

Step 6. Download the servant zip file.
Note: This is a very light application that will run 24/7 on the same machine as your NIS to perform tests and monitor the network.

Step 7. Configure the servant.
Note: Unzip and open the folder supernodes. Open the servant folder. Open the file config.properties with a text editor. In your text editor enter your static IP or host name for the nem.host field. (It is important that your host name or static IP associated with your node is fixed for the stability of the network.) Then in the field servant.key enter your delegated private key from your account with 3 million XEM (Again make sure to use your delegated private key and not your main account private key. This will be the same key you used earlier). Save your edits and close the text editor.

Step 8. Open TCP inbound/outbound ports for 7890 (NIS), 7880 (servant), and 7778 (websocket for lightwallet).
Note: Opening 7890 allows your node to be a full node and contribute to the network. Please review the configuration tutorial. If you were successful you will see your node's name appear on Nembex. This might take an hour or so to appear.

Opening port 7880 is required to allow the servant to work correctly.

Port 7778 allows lightwallets to connect to the server.

Step 9. Start NIS, let it synchronize and then start the servant.
Note: To start the servant double click on runservant.bat in the servant folder (In Mac or Linux navigate to the file in terminal and use the command sh startservant.sh). If it works you will see your terminal/command prompt window become active.

Step 10. Send an unencrypted enrollment message to the official node rewards account.
Note: Send a NEM message to NAFUNDBUKIOSTMD4BNXL7ZFE735QHN7A3FBS6CMY stating ā€œenroll (your IP or hostname) (your node's name) (your delegated harvesting public key)ā€ from the primary account that has the 3 million XEM deposit to officially announce you would like to participate in the program. To find the delegated public key, open your 3 million XEM account in NCC. Go to View Account Details and then you can see the delegated accountā€™s public key. Please note that this is not the delegated harvesting private key you used earlier.

Step 11. Review your results at supernodes.nem.io to make sure that your node is passing all the tests. Please be patient, since your results will not be visible immediately..
.

Editing Your Supernode IP and Alias

Some node admins will need to change there IP from time to time as they move hosting services. Or at some point a node admin might want to change their node name.

In this case you will need to prove that you are still the owner of the account by sending a message from the original account used the first time to enroll. Send the message to NAFUNDBUKIOSTMD4BNXL7ZFE735QHN7A3FBS6CMY.

The message for IP's should be formatted like this, "change ip 123.456.789.012 to 098.765.432.109".
The message for alias's should be formatted like this, "Change alias oldname to newname".

Also please leave a message at the bottom of this NEM Node Rewards thread so that Bloody Rookie knows he must check the above account for new messages.
This is a companion discussion topic for the original entry at http://blog.nem.io/supernodes/
13 Likes

If you donā€™t have a static IP, you can get a host name (which would be static) and then point that host name at your IP. There are some websites on the net that can do this for free, or anybody that you know with a website might help you with 5 minutes of their time.

1 Like

looks like only few nodes can pass all the tests. What are the criteria? (In case I want to try to run supernode on my home PC.)

1 Like

Right now the new nodes being added werenā€™t scanned correctly, but from today it will be better.

I am running a node from high speed connection at home on a 5 year old Macbook Air that doesnā€™t get used much and it usually passes all the tests. I have it set up in the corner with the lid closed, so that is easy. Barely even gets warm.

The exact parameters of the tests arenā€™t set right now and will need to be updated. I suggest just giving it a try.

What can I expect of bandwith usage? Iā€™m thinking of setting up a home server, but my bandwith is very limited.
And does working with a free host name reduce the performance of the server?

I can use one account to various nodes?

I think you need one delegated account bonded with 3 million per node. if you run that same delegated account on a second node, I donā€™t think you are eligible for a second reward.

That kind of defeats the purpose of the bond. The fear was without some kind of artificial limit and balance in place somebody could come in and put up 100 nodes and get all the rewards.

That would most likely mean that all those nodes were some how centralized on the same VPS or office that was hacked or something like that.

2 Likes

bitcoin use to be a one machine, one reward system, but very quickly people tried to beat the system with botnets. we want to avoid that here.

Is it possible to get an section on the supernodes.nem.io page with tipps how to solve Problems?
Because, I donā€™t know how to solve the ā€œVersionā€ Problem :wink:

just use newest version of Nis NEM Beta 0.6.72 + 0.6.73

The test right now is at 10MBit/s. It is very possible it will become lower later. Right now we are stressing the network.

1 Like

The 10MBit/s is probably download speed you are talking about, I think that number should be very doable for most people. And what about upload speed? Upload speeds are usually much lower than download speed.
An what about volume? How much data will the server have to handle on a monthly basis?

Itā€™s upload speed. Judging by a discussion yesterday on slack/telegram itā€™ll prob be lowered a bit.

It is the newest (0.6.73). There are no data at that point on the testpage.

nem-docker now supports servant when you use the helper scripts (ie not yet in the docker hub images). To use, just git checkout https://github.com/rb2nem/nem-docker.git and follow the README.

1 Like

The list is updated daily.
The results also are not shown correctly for now.
You can see the results by clicking on node name, it is shown tabs with the results and expected results.

What does responsiveness means? I mean, how is it possible that some nodes pass bandwidth, ping, computing power but fail responsivness

The responsiveness test issues 10 chain height requests concurrently to the node. It has to answer all 10 requests within 1 second. Currently i am not sure why some nodes have problems passing this test. All my nodes, no matter where they reside on this planet, are passing the test with few exceptions.

I use Nem-Installers to set up nodes on my servers with Debian Linux.
You can find Nem-Installers at different locations on GitHub, for example:



Nem-Installers hasnā€™t been updated for 9 months. Is it still safe to use it to set up a supernode? Or is there a better, more up-to-date, script now? Or would you advise to configure everything by hand?
Thanks!

Youā€™re gonna need to do some configuration by hand anyway might as well do it all.
in theory nothing has changed in the installation process though so those installers could save you some work.