How To Deploy A XinFin Node

How To Deploy A XinFin Node
How to Deploy a XinFin Node

Masternodes are the force behind the XinFin (XDC) network. In this article, we'll guide you through the step-by-step process of deploying a XinFin masternode. Our goal is that everyone can easily set you their own node to contribute to XinFin's decentralized infrastructure.

What is a XinFin Masternode (Full Node)?

A Xin Fin full node,  commonly known as a masternode, is a computer that runs the XinFin XDC Network software and stores a complete copy of the XDC blockchain. This means that the node has all of the transactions that have ever been made on the XDC network, as well as the entire history of the blockchain.

A XinFin masternode performs additional functions to help secure and operate the XinFin XDC Network. These functions include:

  • Staking: Masternodes stake a minimum of 10,000 XDC tokens to participate in the network. This staking helps to secure the network and make it more decentralized.
  • Voting: Masternodes vote on important network proposals, such as changes to the protocol or the distribution of funds. This voting helps to ensure that the network is governed democratically.
  • Forging: Masternodes forge new blocks on the XDC blockchain. This forgery helps to keep the network running smoothly and ensures that transactions are processed quickly.

In return for performing these functions, masternodes are rewarded with XDC tokens. The amount of XDC tokens that a masternode receives is based on the number of XDC tokens that it stakes and the amount of traffic that it generates.

Xin Fin Mainnet vs. Testnet

XinFin provides two networks where you can run the XDC protocol:

  • Mainnet: Used for real XDC transactions with value tied to real fiat currency through cryptocurrency exchanges.
  • Testnet (XinfinTestNet): Used for application testing without involving real money.

XinFin Node Setup Requirements

Minimum requirements:

To run a XinFin masternode, you will need to:

  • 10,000,000 XDC tokens. This is the minimum amount of XDC tokens required to run a masternode.
  • A wallet to store your XDC tokens. A hardware wallet is the best option, as it is the most secure way to store your tokens.
  • A dedicated and stable hardware environment. This means a computer that is always online and has enough resources to run the masternode software.
  • A dedicated static public IP address. This is required so that the masternode can be identified on the network.
  • 100% network uptime. This means that the masternode must be online and running 24/7.
  • A minimum tier 3+ IDC environment. This is a measure of the quality of the internet connection at the data center where the masternode will be hosted.
  • (Optional but highly recommended) A Virtual Private Server (VPS). A VPS is a virtual machine that can be hosted in a data center. This is a good option if you do not have a dedicated computer that meets the requirements.

If you are using a VPS, the recommended VM size is Amazon EC2's m3.large. A similar configuration can be used with the Microsoft Azure Cloud network.

Additional requirements:

Public Identification and Compliance:

  • Your node must be publicly identified and compliant with the necessary regulations.
  • Every Node Holder needs to upload a KYC document, and this information will be visible to the public network.

Restrictions for Masternodes:

Nodes possessing any of the following characteristics may not qualify to become Masternodes:

  • An anonymous entity on the network.
  • Intentions to fork XDC Software.
  • Entity or Individual with a criminal record in the past.
  • Entity or Individual that does not comply with the local laws of the land.

Important Limitation:

  • The maximum number of Master nodes allowed in the network is 5000.

Special Incentives for the 18th Validator Node:

The information required depends on the number of blocks created by the validator node. The incentive is given in terms of XDC tokens.

  • Reward Cycle: Every Epoch.

Troubleshooting:

If you encounter any issues during the setup process, follow these steps:

Alternatively, you can set up your Masternode using one of the following 3rd party Masternode service providers. Please note that XinFin has not evaluated or endorsed these services, so exercise discretion when using them. To get the latest updates on Xin Fin node setup, you can navigate its documentation.

How to Deploy a XinFin Node

There are two methods you can choose from to set up a XinFin masternode:

  • DIY Setup
  • Delegate Setup to Third-party Service Provider

Method 1: DIY Masternode Environment Setup

Step 1: Basic installation

Clone the XinFin-Node repository:

git clone https://github.com/XinFinOrg/XinFin-Node.git

Navigate to the XinFin-Node directory:

cd XinFin-Node

Step 2: Docker & Docker Compose installation

sudo ./install_docker.sh

Step 3: Update the .env file with your details

  • Create a .env file using the provided .env.example.
  • Set your desired node name in the INSTANCE_NAME field.
  • Enter your email address in the CONTACT_DETAILS field.

Step 4: Start your Node

Run the following command:

docker-compose -f docker-services.yml up -d

Verify your Node - Check if your node is listed on http://Xinfin.Network

You can find your coinbase address in the xdcchain/coinbase.txt file.

Step 5: Troubleshooting

If you encounter any issues during setup, consider the following solutions:

  1. For outdated versions, install docker-compose version 1.21+.
  2. If ports are in use, terminate the docker-container running on port 30303 and try again.

For additional help, engage in public discussions, post articles, and request enhancements and technical contributions through platforms such as Slack, Telegram Chat, Forum, or GitHub.

Method 2: Delegate Masternode Setup to Third-party Service Provider

Alternatively, you can set up your masternode using one of the third-party masternode service providers. However, please exercise caution as these services have not been evaluated or endorsed by XinFin.

It's advised that you participate in public discussions, request enhancements, and contribute technically through appropriate channels to stay connected with the XinFin community.

Read more