Skip to main content
Version: v2.08

Using NPM

The NPM setup allows you to install and run HOPRd as a Node.js application, ensuring your experience is a close as to the developer’s have when developing HOPRd and the HOPR Core protocol. Node.js might require further software installation, but is able to be run in less hardware demanding machines, while taking considerable less space in comparison to Docker (i.e. 50mb).

Installing NPM

In order to get NPM on your machine, you will need to install Node.js, our recommended way of doing this is to install nvm / nvm-windows, a Node.js version manager. This ensures we can install and uninstall as many versions of Node.js as needed. Furthermore, it will help you installing any additional requirements (if any) for running Node.js.

Read more here: Windows Guide

Please bear in mind you might need to restart your terminal after running these commands.

Installing Node.js

After you have downloaded and setup nvm in your machine (run nvm ls to ensure everything is in place), now you need to install a specific version of Node.js before running HOPRd.

At the time of writing, HOPRd runs on Node.js v16. Specifically, HOPRd has been developed and tested in v16, so in case you run on any issues with HOPRd, try switch to v16 to see if those issues disappear.

To install Node.js with nvm, run the following

$ nvm install 16
$ nvm use 16

If everything was done properly, you can run node --version to see your current node version, alongside running basic commands as shown when running simply node in your terminal.

INFO

MacOS M1 users will need to follow an extra set of instructions from NVM to allow them to use Node.js 16.

node

Installing HOPRd using NPM

$ mkdir hopr-wildhorn-v2
$ cd hopr-wildhorn-v2
$ npm install @hoprnet/hoprd@wildhorn-v2

Running HOPRd

run hoprd

DEBUG="hopr*" npx hoprd --init --admin --identity ./hoprd-id-01 --data ./hoprd-db-01 --password='hopr-01' --apiToken='<YOUR_SECRET_TOKEN>'
Important

If you want to secure your hoprd admin UI, in the command line you must use --apiToken tag.

<YOUR_SECRET_TOKEN> - Replace it with your own password (don't use "<>").

Password should contain:

  • at least 8 symbols
  • a lowercase letter
  • uppercase letter
  • a number
  • a special symbol

This ensures the node cannot be accessed by a malicious user residing in the same network.