Xen
Run the node using Docker
Hardware requirements
SPEC | Recommend |
---|---|
CPU | 8 Cores |
RAM | 16 GB |
SSD | 1 TB |
NETWORK | 100 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:
- Use private key
~/xen/data/keystore
file nameUTC-***
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 value100000
and clickWrite
-
Wait some seconds and check your validator at ( search last 6 characters of your wallet address): https://pwa-explorer.x1-testnet.xen.network/staking
-
Use your validator ID for the next step
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