1Setting up a public Nxt node on a VPS or dedicated server

NOTE: this is an advanced operation, and is not a suitable activity for people who are uncomfortable with Linux, networking concepts, or command-line interfaces. Following these steps implies that you are willing to pay a monthly fee to a service provider who will host your Nxt node. If you do not know what an IP address is or do not know how to use a command-line text editor, this is probably not for you. Read all of these instructions and make sure you understand them before you decide to proceed. You can still contribute to the network by running Nxt on your local computer.

Sign up for a VPS (Virtual Private Server) with a provider like digitalocean.com. These instructions assume you are using DigitalOcean, but other providers are similar and offer their own "help" documentation for setting up a server.

Once signed up you can fund your account

$5 covers 1 month of computing for 1 server, with a small amount of storage and RAM. This is sufficient, but not ideal

the $10 monthly plan, with 1 GB RAM VPS, is better and more stable

Create your first droplet

Set the hostname to whatever you like

Select thee $5 or $10 a month option

Select "Debian 7.0 x64" which is Debian under the Linux Distributions tab

Once created, you will receive an email with the IP address, username (should be 'root'), and password. You are now ready to connect to your new server, and set up Nxt.

If you are on a Mac, you can use your Terminal application, which is built in to MacOS

If you are on any UNIX system, you can use any shell

Connect to your VPS

If you are using putty, open it. Input the IP Address from the email into the Host Name field and select open.

If you are using Terminal or a UNIX shell, use ssh to connect to your server by typing ssh {IPAddress}, where {IPAddress} is the address of your VPS

Input the commands to setup your server

NOTE 1: These steps will set up your Nxt node to run as 'root'. This is risky, since anyone who compromises this account will get full access to your VPS. It is better to set up a separate user account to run your Nxt node. Setting up a user account is outside the scope of this How-To... but if you do not know how to set up a user account, this whole thing may be a Bad Idea for you.

NOTE: The exact filename may not be nxt.zip, depending on the version. The filename is the same as in the download link.

pico nxt/conf/nxt-default.properties

"pico" is the name of a text editing utility. If you do not have pico on your system, try "nano".

write these lines, where X.X.X.X is the IP address of the host:

nxt.myAddress=X.X.X.X

nxt.allowedBotHosts=127.0.0.1; localhost; X.X.X.X; 0:0:0:0:0:0:0:1;

nxt.allowedUserHosts=127.0.0.1; localhost; X.X.X.X; 0:0:0:0:0:0:0:1;

press CTRL+X and then Y to save the file.

cd ~/nxt

nohup ./run.sh &

exit

open http://ipaddress:7876 in your browser to verify NXT is running ok. Your browser will give you a security certificate warning; this is normal. Click confirm to proceed. Your node is up and running!

nxtcoinbox offers a simple shell script for setting up and deploying a node on a Linux server

http://nxt.now.im for automated management of up to thousands of VPSs. Advanced linux/ansible.

1.2Public Node from your home

Running a public server on your home system is similar to running an accessible peer-to-peer node on services such as napster (r.i.p.), emule, bittorrent, bitcoin, etc. So if you want to run a public server at your home (warning, you could potentially see a big traffic utilization happen), then unless you have uPNP on your home router set up, you must open a specific port (7874 for NXT) to incoming TCP traffic on your router and forward it to your computer that runs the NXT java software, and also open the same port on your computer's internal firewall. You also must edit a well-hidden configuration file, nxt/conf/nxt.properties, to insert your home internet connection's public IP address (from, for example, http://myip.dnsomatic.com) as the value of parameter myAddress. And if your IP number changes, you need to re-edit the file. Or if you upgrade the client you will also have to redo these edits to nxt.properties.

Preferably, you should obtain a free dynamic dns domain name from for example http://www.noip.com/free, set up the NOIP automatic update client to run at boot time on your system, and set myAddress to your noip.com name, such as nxtcoin9876.no-ip.org. In all cases, you need to save the nxt.properties file, so that when you upgrade NXT NRS client, you can then copy it back over the default file after unzipping an upgraded client.