Dappnode
Create your node identity, Safe and node module
If you came here from the migration guide, you already have your identity file and your new Safe and node module addresses. Skip to Install the HOPR Package.
Run these steps on any computer with Docker Desktop, not on your Dappnode. The command in step 1.4 asks for a private key.
-
Start Docker Desktop
Download and start Docker Desktop on your computer.
-
Create a temporary folder
Create a temporary folder called
hopr-identityin your home directory.Linux / macOS (Terminal):
mkdir -p ~/hopr-identityWindows (PowerShell):
New-Item -ItemType Directory -Force -Path "$HOME\hopr-identity" -
Create your node identity
Gather the values you need for node identity creation. You'll paste these into the command.
Placeholder What it is Where to find it <YOUR_IDENTITY_PASSWORD>The password that protects your node identity file Create a strong passphrase (refer to this guide). <NUMBER>How many node identities to create Use 1. A Dappnode runs one HOPR node.Create your node identity. The folder path is written differently on each system.
Linux / macOS (Terminal):
docker run --rm -it --pull always \-v ~/hopr-identity:/data \-e IDENTITY_PASSWORD='<YOUR_IDENTITY_PASSWORD>' \europe-west3-docker.pkg.dev/hoprassociation/docker-images/hopli:latest \identity create \--identity-directory /data \--identity-prefix hopr \--number <NUMBER>Windows (PowerShell):
docker run --rm -it --pull always `-v "$HOME\hopr-identity:/data" `-e 'IDENTITY_PASSWORD=<YOUR_IDENTITY_PASSWORD>' `europe-west3-docker.pkg.dev/hoprassociation/docker-images/hopli:latest `identity create `--identity-directory /data `--identity-prefix hopr `--number <NUMBER>The command creates the identity file
hopr0.idin thehopr-identityfolder. -
Create your Safe and node module
Gather the values you need for Safe and node module creation. You'll paste these into the command.
Placeholder What it is Where to find it <YOUR_IDENTITY_PASSWORD>The password that protects your node identity file The password you set in previous step during node identity creation. <YOUR_RPC_PROVIDER_URL>The URL of a Gnosis Chain RPC endpoint See the Custom RPC provider guide. <SAFE_OWNER>The address of the wallet that owns your Safe wallet. Your wallet app, for example Rabby wallet, MetaMask. importantBefore you run the command, create a new burner wallet (a fresh wallet with no other funds) and send it
0.02 xDai. The command asks for this wallet's private key and uses it only to pay the transaction fees. Your new Safe is owned by your<SAFE_OWNER>wallet, not the burner wallet, so you never need to paste your Safe owner's private key.Create your Safe and node module, and add the node identity you just created to them. The folder path is written differently on each system.
Linux / macOS (Terminal):
docker run --rm -it --pull always \-v ~/hopr-identity:/data \-e IDENTITY_PASSWORD='<YOUR_IDENTITY_PASSWORD>' \europe-west3-docker.pkg.dev/hoprassociation/docker-images/hopli:latest \safe-module create \--network piz-palu-prod \--provider-url <YOUR_RPC_PROVIDER_URL> \--admin-address <SAFE_OWNER> \--identity-directory /data \--allowance 15000000000000000000000Windows (PowerShell):
docker run --rm -it --pull always `-v "$HOME\hopr-identity:/data" `-e 'IDENTITY_PASSWORD=<YOUR_IDENTITY_PASSWORD>' `europe-west3-docker.pkg.dev/hoprassociation/docker-images/hopli:latest `safe-module create `--network piz-palu-prod `--provider-url <YOUR_RPC_PROVIDER_URL> `--admin-address <SAFE_OWNER> `--identity-directory /data `--allowance 15000000000000000000000-
At the Enter private key: prompt, paste the private key of your burner wallet and press Enter. Nothing appears on screen while you paste, which is expected.
-
hoplisends the transactions. When it finishes, the last two lines show your newsafeandnode_moduleaddresses. Example:safe 0xAbC0000000000000000000000000000000000123node_module 0xDeF0000000000000000000000000000000000456
-
-
Write down your Safe and node module addresses
Write down the
safeandnode_moduleaddresses. You will enter them in the setup wizard. -
Keep your identity file and password
Keep the
hopr0.idfile and its password. You will upload the file to your Dappnode after installing the package.
Install the HOPR package
-
Connect to your Dappnode
Connect to your Dappnode:
- Via your local network
- Remotely using Dappnode VPN.
You’ll need to port forward port
51820on your router to access your Dappnode from anywhere. For instructions, see our port forwarding guide.
-
Open the DAppStore
Open the DAppStore from the sidebar.
-
Search for HOPR
Use the DAppStore search bar to find
HOPR.
-
Open the package details
Click GET on the HOPR package to open the package details.
-
Start the setup wizard
Click INSTALL to start the setup wizard.
tipAlready have HOPR installed? Click UPDATE instead.
Complete the setup wizard
Fill in the fields of the setup wizard:
-
Identity file password
In the Identity file password field, enter the password you set when you created your node identity.
Make sure to write down this password, as you will need it if you ever need to restore your node in the future.
-
REST API Token
In the REST API Token field, enter the secret token, which will be used to securely connect to your node.
This ensures that unauthorized users on the same network cannot access your node.For guidance on creating a secret token, please refer to this guide.
-
Staking Safe Address
In the Staking safe address field, enter the
safeaddress you created. -
Staking Module Address
In the Staking safe module address field, enter the
node_moduleaddress you created. -
Public Host IP and Port
In the Public host IP and port field, enter your public IP suffixed with the port
:9091.- Locate your external IP address by referring to our FAQ here.
- Refer to the FAQ guide to determine if your IP address meets the requirements.
- Expose port
9091(TCP and UDP) to the public so that other nodes on the HOPR network can connect to your node. For instructions, see our port forwarding guide.
-
Submit to install package
Click Submit. On the next screen, accept the disclaimer, and your HOPR package should start installing immediately.

Upload your identity file
The HOPR package creates its own identity file when it is installed. Replace it with the identity file you created, so your node uses the identity that is linked to your Safe.
-
Stop the HOPR package
Go to the HOPR package info page and click the
Pauseicon to stop the HOPR package. -
Rename the identity file
On your computer, rename
hopr0.idin thehopr-identityfolder tohopr.id. -
Upload the identity file
Go to the HOPR package file manager page. Under the
Upload filesection:-
In the Choose file field, click
Browseand select thehopr.idfile. -
In the Defaults to $WORKDIR/ field, enter:
/app/hoprd/conf/
Click
Upload. -
-
Back up the identity file
Keep a backup of
hopr.idsomewhere safe, then delete the temporaryhopr-identityfolder.
Fund your Safe wallet
Skip step 1. You moved your wxHOPR to your new Safe in the migration guide.
-
Send at least
1 wxHOPRto your Safe wallet (thesafeaddress you created). Your node uses it to pay the fee for announcing itself on the network when it starts. -
Go to the HOPR package info page and click the
Playicon to start the HOPR package.
Fund your node with xDai
When the HOPR package starts, the node shows its address and waits until it has xDai.
-
Find your node address
Go to the HOPR package logs page and search for
blockchain_address. Its value, starting with0x, is your node address. -
Send xDai to your node
Send at least
0.01 xDaito your node address. The node checks its balance regularly and finishes starting once the funds arrive. -
Check that your node started
On the same logs page, search for
announced. When you seenode announced successfullyornode already announced on chain, your node is running on the network.
Until both the Safe and the node are funded, the node may stop and restart a few times. This is expected and stops once the funds arrive.
To verify that it's working properly, follow this guide.
If you are migrating from v3.0.x, go back to the migration guide and continue with Verify and clean up.
Fund your channels for Cover Traffic
Once your node works as expected, change the channel funding values in your configuration file to get full Cover Traffic rewards, as described in Fund your channels for Cover Traffic. With the default values, your node doesn't keep enough wxHOPR in its channels to be eligible for Cover Traffic.