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).
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.
Please bear in mind you might need to restart your terminal after running these commands.
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 v16 $ nvm use v16
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.
MacOS M1 users will need to follow an extra set of instructions from NVM to allow them to use Node.js 16.
Installing HOPRd using NPM¶
$ mkdir MY_NEW_HOPR_TEST_FOLDER $ cd MY_NEW_HOPR_TEST_FOLDER $ npm install @email@example.com # run hoprd $ DEBUG=hopr* npx hoprd --admin --init --announce # add security $ DEBUG=hopr* npx hoprd --admin --init --announce --apiToken <YOU_SECRET_TOKEN> Please note that if `--rest` or `--admin` is specificed, you **must** provide an `--apiToken` which is at least 8 symbols, contains a lowercase and an uppercase letter, a number and a special symbol. This ensures the node cannot be accessed by a malicious user residing in the same network.