Setting up Arqma on VPS

Many people ask the question “How can I set up a remote node on VPS”. There are many reasons that someone would want to have a remote node available whether it is for personal use or public use. One of the main reasons to have a node running is to support the network and with the implementation of ArqNodes it is recommended to have a VPS running with a service node on it instead of your local home network. These nodes will help relay transactions within the Arqma network and create passive income for operators. Block rewards will be split to node providers to help fund the operation of the network. To set up a fully operational node on VPS you need a few things before you get started:

  • A VPS instance running Ubuntu 20.04 or higher.  Contabo  is highly recommended for its pricing and uptime. No shill links here.
  • Some light coding skills to run some copy-paste commands on your VPS.
  • Experience with terminal/bash/CMD prompts on your local PC at home.
  • About two hours of your time to open an account and purchase a VPS, and the time to set up your VPS to run a full node.
  • Any additional help can be found in our Arqma  Discord Telegram , or  Matrix  chat if you are having issues getting set up or operating the node.
CLI windows, something you will get to use setting up your VPS
Let’s get into setting up a VPS with Arqma node on it. After you have purchased a VPS instance on your preferred provider, they will send you an email with the login credentials for the instance including the IP address (example 123.123.456.43) that you will have to remotely connect to from your personal PC. If you have OSX or Linux you can connect right through the bash or terminal window.
OSX Terminal location in the launchpad, you can also search for it. It is recommended to save to your dock.

If you use Windows, 

Putty

 is a good recommendation for SSH connection to a remote PC. Putty can also be used for OSX and Linux distros but terminal is the easiest to set up. Putty requires some additional setup and information regarding that is located on their website. Once we have the IP address we need to SSH to the VPS instance:

				
					ssh root@123.123.456.43
				
			

Your terminal will ask for the password you set up on your VPS provider if they did not automagically generate one for you. Enter the password and it should ask you for SSH keys if they are correct. Accept (enter YES) and it should take you to the main login screen of the VPS:

FYI if you are wondering this is the Homebrew color scheme on OSX, install homebrew to get this function.

Now that we are connected to the VPS we need to install some libraries to help us build the binaries from scratch. These will help us to build future binaries (executables) if there are updates to the core code or enhancements in-between release builds. Note that there are some extras added in this list to build the onion explorer for your VPS so you can host a block explorer and service node/remote node at the same VPS.

 

Install libraries needed to build Arqma executables (copy paste):

				
					sudo apt update && sudo apt install --yes git build-essential curl cmake pkg-config libboost-all-dev libssl-dev libsodium-dev libunwind-dev liblzma-dev libreadline-dev libldns-dev libexpat1-dev doxygen graphviz libudev-dev libusb-1.0–0-dev libhidapi-dev xsltproc gperf autoconf automake libtool-bin tmux nano ufw
				
			

Once that has finished, run it again to ensure that all libs have been installed on your VPS. After that, we are going to use Tmux to open a window inside your window to allow us to safely disconnect from our VPS once we are done. You can do this by running the tmux command and it will open a new window

				
					tmux
				
			

You can have many tmux windows open ad the same time. Other commands:

				
					tmux attach -t 0
## Note: this will open the first tmux window you created
exit
## This exits the current tmux window and you will lose progress
ctrl + b -> d
## Holding the control key and b then letting go and pressing d    
## closes the tmux instance but leaves it open for you to come back   
## to at a later time. This allows you to multitask on your VPS
				
			

NOTE: If you do not want to build the binaries yourself and or do not feel comfortable with command line use, you can download the latest release and use those as well:

				
					wget "https://github.com/arqma/arqma/releases/download/v0.6.1/arqma-x86_64-linux-gnu.tar.gz" && tar xf arqma-x86_64-linux-gnu.tar.gz
## After it finishes downloading and unzipping just CD to that folder and run the binaries with the commands at the end of this tutorial. For future reference just visit the official github repo to see the latest zip version number and update the command above with the current release version. Example- replace v0.6.1 with v0.7.0 for the next release version. 
				
			

Clone the Arqma repository to the desktop in your tmux window:

				
					git clone --recursive https://github.com/arqma/arqma
				
			

Move yourself to the Arqma folder after it finishes:

				
					cd arqma
				
			

Switch to the latest release branch:

				
					git checkout v0.6.1
				
			

NOTE: For testing pre-release content for testnet make sure after you clone the repository to switch to the DEV branch:

				
					git checkout dev
				
			

Update all the submodules for the repository:

				
					git submodule init && git submodule update
				
			

Build the Arqma executables:

				
					make release -j 3
				
			

OR — Build onion explorer specific executables:

				
					USE_SINGLE_BUILDDIR=1 make -j 3
				
			

Note: using -j 3 will use more CPU cores to build faster. SPEEEEEEEDDD!!!!

				
					[100%] Linking CXX executable ../../bin/arqmad
make[3]: Leaving directory ‘/root/arqma/build/release’
make[3]: Leaving directory ‘/root/arqma/build/release’
[100%] Built target daemon
make[2]: Leaving directory ‘/root/arqma/build/release’
				
			

Yay 100% completed. If your VPS does not build completely you are either missing some libraries needed to build or there is another issue going on. Please reach out on one of our social platforms to get some additional help. Once the binaries have been successfully built, we need to move to the folder and copy the binaries to an easier location to access:

				
					cd ~/arqma/build/release/bin
				
			

Check what is in the folder to make sure everything is there:

				
					ls
## This should print whats in the folder:
arqma-blockchain-ancestry  
arqma-blockchain-mark-spent-outputs      
arqmad 
arqma-blockchain-depth     
arqma-blockchain-prune                   
arqma-generate-ssl-certificate 
arqma-blockchain-export    
arqma-blockchain-prune-known-spent-data  
arqma-wallet-cli 
arqma-blockchain-import    
arqma-blockchain-usage                   
arqma-wallet-rpc
move back to the main folder location with:
cd
				
			

Now that we are at the main folder location we can create a new folder on the desktop for ease of access to our Arqma binaries:

				
					mkdir runme
## you can name this whatever you want like 'mkdir catsRcute' or something you like
				
			

Now let’s copy the built binaries to the new folder we created:

				
					cp ~/arqma/build/release/bin/* ~/runme
				
			

Now move to the folder to make sure that everything was copied:

				
					cd runme
##then
ls
##everything should be there:
arqma-blockchain-ancestry  
arqma-blockchain-mark-spent-outputs      
arqmad 
arqma-blockchain-depth     
arqma-blockchain-prune                   
arqma-generate-ssl-certificate 
arqma-blockchain-export    
arqma-blockchain-prune-known-spent-data  
arqma-wallet-cli 
arqma-blockchain-import    
arqma-blockchain-usage                   
arqma-wallet-rpc
				
			

Now that we have everything set up, it’s time to get the Daemon up and running so we can sync with the network. First, we need to set some firewall rules so we can have incoming and outgoing transactions working with our RPC and daemon/wallet:

				
					ufw allow 19999 19995 19994 19993 19990 39993 39994 39995
## 3999* numbers are for stagenet
##after this you can check the status here:
ufw status
				
			

Now we can start our daemon:

				
					./arqmad --restricted-rpc --rpc-bind-ip 0.0.0.0 --confirm-external-bind
				
			

If you are planning to run a node on the testnet for any reason, you can simply add the flag at the end of the line to run the daemon on that branch.

				
					./arqmad --restricted-rpc --rpc-bind-ip 0.0.0.0 --confirm-external-bind --stagenet
				
			

On an average VPS, this should take up to 8–10hrs unless you have a higher-end VPS with multiple cores and ram with SSD to sync the mainnet blockchain. After you start the node you can exit the tmux instance with the ctrl+b then d and exit the terminal session so you can leave and go get a coffee or tea and meet up with your friends. After about 8hrs you can return and SSH back to your VPS and check up on your node:

				
					tmux attach -t 0
				
			

If everything worked it should be fully synced and look like this:

Once it completes you need to run ‘Exit’ to stop the daemon and then we need to announce to the world that we are a public node:

				
					./arqmad --public-node --restricted-rpc --rpc-bind-ip 0.0.0.0 --confirm-external-bind
				
			

Remember that if you are running a testnet node, do not forget to add the flag at the end. Once it syncs you can close the tmux window and check the connection with your desktop Electron wallet by entering your remote node IP address in the address field and connecting as a remote node. Now you don’t need to store your blockchain on your local PC and use the one you are operating on your remote node that others can now access. If you plan to run a mainnet and testnet node on the same VPS, make sure to copy the folder with your binaries on the desktop so that you can run two tmux windows and two different daemons at the same time.

Well, that does it for setting up a remote node on VPS. Now you can help strengthen the network and provide a remote node for not only yourself but other people including exchanges and other service providers. Good luck and see you next time!

Helpful Arqma Links

Tips are always appreciated and not expected:

				
					aRS3ZP49AenNVa6hWJKf1y1Z8cwQJ3pbcYK8XmmYVpCdBWjEPyYW96Ye7cZwzoXP5Uawr7Y96DaEATDYQARJxS5K1M4zGQtQnM
				
			
ArqmaCommunity

ArqmaCommunity

author of this post

Share on twitter
Twitter
Share on facebook
Facebook
Share on reddit
Reddit
Share on telegram
Telegram