Service Nodes
Service Nodes are long-running Judecoin network servers. By locking 23,600 JUDE and running a stable server, participants can support the Judecoin Proof of Stake network, take part in staking, and become eligible for block rewards.
Service Node Setup & Staking
Service Node Setup & Staking
Requirements
Each Service Node is recommended to run on an independent server.
| Spec | Requirement |
|---|---|
| Latest Judecoin Service Node software | Latest Service Node binaries |
| Server operating system | Ubuntu 20.04+ or Debian 11+. Ubuntu 20.04 / 22.04 is recommended in the staking operation guide. |
| Storage | 40GB or more. 40GB SSD or above is recommended. |
| RAM | 4–8GB. 4GB is the minimum, 8GB is recommended. |
| Connectivity | 100Mb or faster. |
| Traffic | 1TB per month or more. |
| Power | Redundant with remote cycling ability, as found in most data centres. |
Required ports:
22: SSH remote connection16060: blockchain synchronization16063: Service Node communication
We assume you already have a remote server and that it has been configured and is ready for use.
Install Judecoin CLI
Enter the server terminal and run:
Before running commands, replace v3.x.x with the latest Judecoin CLI version.
sudo apt update
sudo apt install wget tar bzip2 curl -y
wget https://www.judecoin.io/storage/files/cli/judecoin-linux-x64-v3.x.x.tar.bz2
tar -jxvf judecoin-linux-x64-v3.x.x.tar.bz2
cd judecoin-x86_64-linux-gnu-v3.x.x
./judecoind --versionConfirm that the CLI version output matches the version you downloaded.
Start the Service Node
Run the following command on the server. This command automatically gets the server public IP and starts the node in the background.
./judecoind --service-node --service-node-public-ip $(curl -s ifconfig.me) --no-zmq --detachYou can also use the manual public IP form:
./judecoind --service-node --service-node-public-ip <YOUR_SERVER_PUBLIC_IP> --no-zmq --detachReplace <YOUR_SERVER_PUBLIC_IP> with your server public IP.
Check node running and synchronization status:
./judecoind statusWait until blockchain synchronization is completed before continuing with registration.
Service Node Registration
This registration step has two paths: Service Node and Shared Service Node. Both paths generate a registration command that must be submitted from the CLI wallet.
Service Node
To run a Service Node as the sole contributor, you need:
- A fully synchronized, up-to-date Judecoin daemon running on your Service Node.
- A Judecoin wallet with at least
23600 JUDEto meet the staking requirement to register your Service Node.
Log in to the VPS running the Service Node, then run:
./judecoind prepare_registrationThe daemon will output the current staking requirement and ask whether you will contribute the entire stake. Type y and press Enter for a Service Node operated by the sole contributor.
The daemon will ask for the operator Judecoin address. Paste the primary wallet address, press Enter, and confirm the information. The daemon will output a command similar to:
register_service_node 10949992 JBAo6emU36qSJU12Mdp6Pc1ioAFyRUiHbDDqbuoPRgSn6z6tnnsUzEHgRZ4axJb73Neb7DJjnfEHrQdjgUTvD7ZhF8hZnDj 23600000000000 16 8dc0d93a5f9ce759448e38bf9bbbd1f439a09d0c853e0b91626e50f6f07390f3 b4b251aa3927f0fa046dc404e2f8e86d907de75255426140cab047e013a0dc021425c532a0bf46885f72ea9fe576d0b68d53f55639dc217d618e89b9dd6b3208Important: You must run the command which your daemon outputs, not the example command shown above.
Shared Service Node
The Service Node staking requirement is fixed at 23600 JUDE. Service Nodes accept at most 9 contributions, meaning the minimum contribution to a Service Node is:
<Remaining Staking Requirement> ÷ <Number of Remaining Contributors>When setting up reserved contribution spots in a Shared Service Node, the node administrator must ensure the reserved stake amounts each meet the minimum staking requirement; contributors then simply stake their reserved amounts.
Shared Service Node operator
The operator runs and maintains the server hosting the Shared Service Node. The operator needs:
- A server running a fully synchronized, up-to-date
judecoind. - A Judecoin wallet with at least
5900 JUDEto meet the minimum Service Node operator staking requirement. - 1–9 contributors who also have a Judecoin wallet, either the CLI or GUI wallet, with enough JUDE to meet their portion of the total stake.
- If the operator wants to reserve contribution spots for specific contributors, the operator needs the addresses of the contributors and the amounts those contributors will stake.
Prepare a Shared Service Node
Log in to the VPS running the Service Node, then run:
./judecoind prepare_registrationjudecoind will ask whether you will contribute the entire stake. Because you are running a Shared Service Node, type n and press Enter.
Next, judecoind will request your desired operator fee. This value can be between 0 and 100, and represents the percentage of the reward the operator receives before the reward is distributed to shareholders.
For example, if a Service Node has 4 contributors, including the operator, all staking equal amounts of 25%, and the operator fee is 10%, the operator receives 10% of the Service Node rewards first. The remaining 90% is then split equally between the operator and the other 3 contributors.
The terminal will display the minimum reserve the operator can contribute and request the amount of JUDE the operator wishes to contribute. After the stake amount is set, the operator can reserve contribution spots for specific contributors or leave contribution spots open.
Reserved Contribution Spots
If you want to reserve spots for specific contributors, type y at the prompt and press Enter. Then enter the number of reserved contributors, not including yourself. The daemon will request the operator address, each contributor's amount of JUDE, and the wallet address of each contributor.
It is possible to reserve only some of the required total stake for specific contributors, while leaving the remaining staking amount open for other contributors.
The daemon will display a summary of the information entered. Confirm it only after checking that everything is correct.
Open Contribution Spots
If the operator wants to leave contribution spots open to contributions from others, type n at the reservation prompt and press Enter. Enter the operator address. The terminal will display the remaining portion that needs to be contributed by others. If the information is correct, type y and press Enter.
Register Shared Service Node
Regardless of whether reserved or open contribution spots are used, the daemon will output a command similar to:
register_service_node 10949992 JBAo6emU36qSJU12Mdp6Pc1ioAFyRUiHbDDqbuoPRgSn6z6tnnsUzEHgRZ4axJb73Neb7DJjnfEHrQdjgUTvD7ZhF8hZnDj 5000000000 16 8dc0d93a5f9ce759448e38bf9bbbd1f439a09d0c853e0b91626e50f6f07390f3 b4b251aa3927f0fa046dc404e2f8e86d907de75255426140cab047e013a0dc021425c532a0bf46885f72ea9fe576d0b68d53f55639dc217d618e89b9dd6b3208Important: You must run the command which your daemon outputs, not the example command shown above.
Copy the whole line of text from your daemon and keep it available. It must be run from within the Judecoin CLI wallet. You have 2 weeks from the moment of registering the Service Node to run the register_service_node command, but it is advised to do it as soon as possible.
Shared Service Node contributor staking
Once the Service Node registration is received, send the Service Node public key to contributors along with the amount of JUDE they are required to stake. The Service Node activates and becomes eligible to receive rewards after all contributors have staked.
A guide on staking to a Shared Service Node as a contributor is coming soon.
Check Public Key and Status
After staking to your Service Node, or after all contributors have staked if running a Shared Service Node, check whether the Service Node public key is on the list of Service Nodes operational on the network. This proves that the node is running, recognized, and eligible to receive rewards.
Connect to the VPS where the Service Node is running and retrieve the Service Node public key:
./judecoind print_sn_keyCheck Service Node status:
./judecoind print_sn_statusThis outputs a long string of letters and numbers. The public key is used to identify your Service Node on the list of registered and operational Service Nodes.
Back Up Service Node Key
Back up the Service Node private key:
./judecoin-sn-keys show /home/ubuntu/.bitjudecoin/key_ed25519This step is very important. A Service Node has its own node identity private key. If the server is damaged, lost, reinstalled, or migrated, this key may be required to restore the original node identity.
If this key is not backed up, the node identity may be lost and the node may need to be registered again.
Verify Through the Block Explorer
Open the block explorer and search for the Service Node public key.
If the node can be found in the block explorer, it means the Service Node has been successfully registered.
Optional: Run as a systemd Service
Running a Judecoin node can be done directly through command-line parameters, or as a system service.
Create judecoin-node.service
#/etc/systemd/system/judecoin-node.service
[Unit]
Description=Judecoin network node
ConditionPathExists=/usr/local/bin/judecoind
After=network-online.target
[Service]
Type=simple
User=judecoin
WorkingDirectory=/usr/local/bin
ExecStart=/usr/local/bin/judecoind --non-interactive --config-file /etc/judecoin/judecoind.conf
Restart=on-failure
RestartSec=10s
LimitNOFILE=50000
[Install]
WantedBy=multi-user.targetjudecoind.conf example
#judecoind.conf
# Configuration for judecoind
# Syntax: any command line option may be specified as 'clioptionname=value'.
# Boolean options such as 'no-igd' are specified as 'no-igd=1'.
# See 'judecoind --help' for all available options.
data-dir=/var/lib/judecoin
log-file=/var/log/judecoin/judecoin.log
log-level=0
no-zmq=1
service-node=1
service-node-public-ip=YOUR_SERVER_PUBLIC_IPStart judecoin-node.service
sudo cp judecoin-node.service /etc/systemd/system/judecoin-node.service
sudo systemctl daemon-reload
sudo systemctl enable judecoin-node.service
sudo systemctl start judecoin-nodeRegister CLI Wallet
Register CLI Wallet
Use the CLI wallet to get the wallet address, check balance, and submit the registration command generated by the Service Node.
Linux CLI Wallet Registration
In the extracted Judecoin CLI directory, make sure the daemon is running and synchronized. Then open another terminal in the same directory and run the CLI wallet.
cd judecoin-x86_64-linux-gnu-v3.x.x
./judecoindOpen another terminal in the same folder:
cd judecoin-x86_64-linux-gnu-v3.x.x
./judecoin-wallet-cliIf language selection does not display correctly, run:
./judecoin-wallet-cli --use-english-language-namesFor Service Node registration, use the wallet commands below:
address
refresh
balancePaste the complete registration command generated by prepare_registration, then confirm:
register_service_node xxxxxxxxxxxxx
Y
exitWindows CLI Wallet Registration
Open the extracted Judecoin folder. Start the daemon first, then open a terminal in the same folder for wallet operations.
.\judecoind.exeOpen another terminal in the same extracted folder:
.\judecoin-wallet-cli.exeIf language selection does not display correctly, run:
.\judecoin-wallet-cli.exe --use-english-language-namesFor Service Node registration, use the wallet commands below:
address
refresh
balancePaste the complete registration command generated by prepare_registration, then confirm:
register_service_node xxxxxxxxxxxxx
Y
exitRecover CLI Wallet
Recover CLI Wallet
Use this section only when the staking wallet already exists and must be restored before Service Node registration. After recovery, confirm the wallet address and balance before continuing.
Linux CLI Wallet Recovery
Run the daemon, then restore the wallet from the original 25-word seed phrase in another terminal.
cd judecoin-x86_64-linux-gnu-v3.x.x
./judecoindOpen another terminal in the same folder and run:
./judecoin-wallet-cli --restore-deterministic-wallet --use-english-language-names- Enter the wallet name.
- Enter the original 25-word seed phrase in the correct order.
- Enter the seed offset passphrase if one was used, or press Enter if none.
- Set a new wallet password.
- Verify that the restored wallet address is correct.
- Use the default restore height if unsure.
refresh
balance
address
exitWindows CLI Wallet Recovery
Start the daemon first, then open the extracted folder in Terminal and restore the wallet from the original 25-word seed phrase.
.\judecoind.exeOpen another terminal in the same extracted folder and run:
.\judecoin-wallet-cli.exe --restore-deterministic-wallet --use-english-language-names- Enter the wallet name.
- Enter the original 25-word seed phrase in the correct order.
- Enter the seed offset passphrase if one was used, or press Enter if none.
- Set a new wallet password.
- Verify that the restored wallet address is correct.
- Use the default restore height if unsure.
refresh
balance
address
exitService Node Restart Guide
Service Node Restart Guide
This guide describes the process for restarting a Judecoin Service Node.
This guide applies to situations where a node needs to be restarted, rerun after an upgrade, restored after a server reboot, or checked again for running status.
It is intended to help Judecoin Service Node operators restart nodes more clearly, safely, and consistently.
Judecoin Service Node Restart Process
Step 01Update the Server Environment
Run:
sudo apt update
sudo apt install wget tar bzip2 curl -yStep 02Download Judecoin CLI
Run:
wget https://www.judecoin.io/storage/files/cli/judecoin-linux-x64-v3.x.x.tar.bz2Step 03Extract the CLI File
Run:
tar -jxvf judecoin-linux-x64-v3.x.x.tar.bz2Step 04Enter the Judecoin CLI Directory
Run:
cd judecoin-x86_64-linux-gnu-v3.x.xStep 05Check the Version
Run:
./judecoind --versionConfirm that the CLI version output matches the version you downloaded.
Step 06Stop the Old judecoind Process
Run:
pkill judecoind
sleep 5
ps aux | grep judecoindIf you only see the grep judecoind line, it usually means the old process has stopped.
This only stops the running daemon process. It does not delete wallet files, node files, staking records, or the .bitjudecoin directory.
Step 07Restart the Service Node
Before restarting or migrating a Service Node, make sure the Service Node private key has been backed up.
./judecoind --service-node --service-node-public-ip $(curl -s ifconfig.me) --no-zmq --detachStep 08Check Node Status
Run:
./judecoind statusIf you can see the block height, synchronization status, and network connection information, the node has been restarted.
If the node is still syncing, wait until synchronization is completed. A restarted node may still need some time to fully synchronize and appear correctly on the block explorer.
Common Notes
- If the server has already downloaded and extracted the current CLI version, it is not always necessary to download it again. You can directly enter the existing Judecoin CLI directory and restart the node.
- If
./judecoind statusdoes not show status immediately, the node may have just started and may not be fully initialized yet. Wait 1–2 minutes and check again. - If the node still does not show status after a long time, check whether
judecoindis already running before starting it again:ps aux | grep judecoind. If needed, run the startup command again and check status again. - Restarting the node will not change your wallet staking transaction and will not automatically unlock your stake, but make sure the Service Node private key has been backed up.
- Do not delete the
.bitjudecoindirectory, do not delete thekey_ed25519file, and do not disclose your server access key, wallet private key, seed phrase,.pemfile, or other server access credentials. - If a new CLI version is released, check the upgrade instructions first before updating the version and restarting the node.
This guide provides a restart process for Judecoin Service Node operation. Clear restart procedures can help users reduce operational mistakes, restore node operation after server reboot or CLI upgrade, and support the long-term stability of the Judecoin PoS Service Node network.
Service Node Recovery Using SN Private Key
Service Node Recovery Using SN Private Key
This guide describes the process for restoring a Judecoin Service Node using the original SN private key.
This guide applies to situations where the original server is lost, reinstalled, damaged, migrated, or no longer available, but the original Service Node private key is still available.
It is intended to help Judecoin Service Node operators restore the original node identity on a new server more clearly, safely, and consistently.
Recovery Principle
A Judecoin Service Node has its own node identity private key.
If the original server is lost or needs to be migrated, the original Service Node identity can be restored on a new server by restoring the original SN private key.
The core idea is:
Restore the original SN private key into a key file, place it at:
/home/ubuntu/.bitjudecoin/key_ed25519Then restart the Service Node with the restored key.
Judecoin Service Node Recovery Process
Step 01Install Required Tools
Log in to the server terminal and run:
sudo apt update
sudo apt install wget tar bzip2 curl -yStep 02Download Judecoin CLI
Run:
wget https://www.judecoin.io/storage/files/cli/judecoin-linux-x64-v3.x.x.tar.bz2Step 03Extract the CLI File
Run:
tar -jxvf judecoin-linux-x64-v3.x.x.tar.bz2Step 04Enter the Judecoin CLI Directory
Run:
cd judecoin-x86_64-linux-gnu-v3.x.xStep 05Check the CLI Version
Run:
./judecoind --versionConfirm that the CLI version output matches the version you downloaded.
Step 06Stop the Old judecoind Process
Run:
pkill judecoind
sleep 5
ps aux | grep judecoindIf you only see the grep judecoind line, it usually means the old process has stopped.
Step 07Remove Any Temporary sn_key File
Run:
rm -f sn_keyThis step avoids conflicts with any old temporary sn_key file in the current directory.
Step 08Restore the SN Private Key
Run:
./judecoin-sn-keys restore sn_keyThe system will prompt you to enter the original Service Node private key.
Step 09Create the Judecoin Data Directory
Run:
sudo mkdir -p /home/ubuntu/.bitjudecoinStep 10Copy the Restored sn_key to the Service Node Key Location
Run:
sudo cp sn_key /home/ubuntu/.bitjudecoin/key_ed25519Step 11Set Directory and File Permissions
Run:
sudo chown -R ubuntu:ubuntu /home/ubuntu/.bitjudecoin
chmod 700 /home/ubuntu/.bitjudecoin
chmod 600 /home/ubuntu/.bitjudecoin/key_ed25519Step 12Restart the Service Node
Run:
./judecoind --service-node --service-node-public-ip $(curl -s ifconfig.me) --no-zmq --detachStep 13Wait for Node Initialization
Run:
sleep 30Step 14Check Node Status
Run:
./judecoind statusIf block height, synchronization status, and network connection information appear, the node has started successfully. If the node is still syncing, wait until synchronization is completed.
A recovered Service Node may first show:
not registeredAfter synchronization is close to completion, the Service Node status should become:
active, proof: neverAfter the node submits a new uptime proof, the status should become similar to:
active, proof: x minutes agoFull Command Reference
The following is the full command sequence for reference:
sudo apt update
sudo apt install wget tar bzip2 curl -y
wget https://www.judecoin.io/storage/files/cli/judecoin-linux-x64-v3.x.x.tar.bz2
tar -jxvf judecoin-linux-x64-v3.x.x.tar.bz2
cd judecoin-x86_64-linux-gnu-v3.x.x
./judecoind --version
pkill judecoind
sleep 5
ps aux | grep judecoind
rm -f sn_key
./judecoin-sn-keys restore sn_key
sudo mkdir -p /home/ubuntu/.bitjudecoin
sudo cp sn_key /home/ubuntu/.bitjudecoin/key_ed25519
sudo chown -R ubuntu:ubuntu /home/ubuntu/.bitjudecoin
chmod 700 /home/ubuntu/.bitjudecoin
chmod 600 /home/ubuntu/.bitjudecoin/key_ed25519
./judecoind --service-node --service-node-public-ip $(curl -s ifconfig.me) --no-zmq --detach
sleep 30
./judecoind status
ps aux | grep judecoindCommon Notes
- Restoring a node is not the same as registering a new node. The purpose of this process is to allow a new server to continue using the original Service Node identity.
- The original SN private key must be used. If a new SN private key is used, the blockchain will treat it as a different node identity and it may not match the original Service Node.
- Do not run the same SN private key on multiple servers at the same time. Before starting the recovered node on a new server, stop the old
judecoindprocess on the original server. - Do not delete the
key_ed25519file. Thekey_ed25519file is the node identity file and is required for the Service Node to operate with the restored identity. - Do not disclose the SN private key. Anyone who obtains the SN private key may affect the security of the node identity.
- If the node has already been fully deregistered on-chain and entered the release period, restoring the server may not reactivate the original node. In that case, the locked stake may need to wait for the release period to end, depending on the on-chain state.
- If
./judecoind statusdoes not show status immediately, the node may have just started and may not be fully initialized yet. Wait 1–2 minutes and check again.
This guide provides a recovery process for restoring a Judecoin Service Node when the original SN private key is still available.
Clear recovery procedures can help operators reduce operational mistakes, restore the original node identity on a new server, and support the long-term stability of the Judecoin PoS Service Node network.
