Skip to main content

Xen

Run the node using Docker

Hardware requirements

SPECRecommend
CPU8 Cores
RAM16 GB
SSD1 TB
NETWORK100 Mbps

Auto Installation

NOTE: Run as a root user

cd $HOME && curl -o auto-run.sh https://raw.githubusercontent.com/vnbnode/binaries/main/Projects/go-x1/x1-auto.sh && bash auto-run.sh

NOTE: Run as a non-root user

cd $HOME && curl -o auto-run.sh https://raw.githubusercontent.com/vnbnode/binaries/main/Projects/go-x1/x1-auto-non-root.sh && bash auto-run.sh

Check logs

docker logs -f x1 --tail 100

Backup your private key at ~/xen/data/keystore

1. Check Node

2. Fill Form

Remember: use wallet in output create at step 1

3. Add X1 chain to metamask

  • Scroll down and click on Add X1 Blockchain ᵀᴹ Testnet

4. Import wallet to Rabbit wallet and export private key:

Download Rabbit Wallet

  • Use private key ~/xen/data/keystore file name UTC-*** import to rabbit wallet and export private key to import to metamask

5. Create a validator and get the validator ID

  • After receiving 100010 XN token in your wallet go to Link

  • input in createValidator your public key created at step 1 and input value 100000 and click Write

image

Restart the node to active your validator:

Edit docker-compose.yml :

cd ~/xen/docker
vim docker-compose.yml

Update command in compose as below :

 command: ["--testnet", "--syncmode", "snap", "--datadir", "/app/.x1","--validator.id", "your_validator_id", "--validator.pubkey", "your_validator_public_key","--validator.password", "/app/validator_password.txt", "--xenblocks-endpoint", "ws://xenblocks.io:6668", "--gcmode", "full"]

And restart your node :

cd ~/xen/docker &&  docker compose up -d

Verify the status of your node at https://pwa-explorer.x1-testnet.xen.network/staking

Register Validator Name and Icon

  • Create a JSON Configuration File: You will need to create a JSON file containing the validator's name, logo URL, website, and contact information. This file will later be uploaded to the X1 Testnet smart contract.

Template for JSON file:

{
"name": "VALIDATOR_NAME", /* Name of the validator */
"logoUrl": "LOGO_URL", /* Validator logo (PNG|JPEG|SVG) - 100px x 100px */
"website": "WEBSITE_URL", /* Website URL */
"contact": "CONTACT_URL" /* Contact URL */
}

Example JSON configuration:

{
"name": "Validator_1",
"logoUrl": "https://yourwebsite.com/images/logo.png",
"website": "https://yourwebsite.com",
"contact": "https://t.me/your_twitter_name"
}

*Important: As a name of the server, do not include any special characters or spaces (e.g. Validator_1 is valid, but something like "🐧Validator #1" would not work).

  • Upload the JSON File: Save the JSON file with a .json extension and upload it to your web server. The file should be available at https://yourwebsite.pub/.../validator.json, accessible to anyone with a web browser.

  • Update the X1 Testnet Smart Contract: Visit the URL: X1 Testnet Smart Contract.

  • Connect your Metamask wallet and navigate to section number 5 (updateInfo):

  • Enter the URL of your JSON file (e.g., https://yourwebsite.com/.../validator.json) and press 'Write':

  • Upon completion, your validator's logo and name will be displayed on the list of validators at X1 Testnet Staking Explorer.

Remove Node

cd $HOME
docker stop x1
docker rm x1
rm -r $HOME/go-x1

Thank to support VNBnode.

Visit us at: