X1
Last updated
Last updated
0. Minimum System Requirements
Linux Operating system requirement
Ubuntu 22.04.3 LTS (Jammy Jellyfish) for long term support
Create a NEW ERC20 wallet
You can use the existing Metamask Wallet (we highly recommend using a hardware wallet connected to Metamask), or you can create a brand-new Metamask software wallet (less secure). If you want to create a dedicated and brand new software X1 Testnet Validator Metamask wallet from scratch, follow these instructions in Metamask:
Click the account selector at the top of your wallet.
Click 'Add account or hardware wallet'.
Select 'Add a new account' in the subsequent menu.
Enter your preferred name
Hit 'Create' to confirm and you'll be able to see the new account
For additional guidance, visit Metamask Support.
Switch your Metamask to X1 Testnet, if you do not have the X1 Tesnet Network configured in Metamask, add the following RPC:
Network name: X1 Testnet
New RPC URL: https://x1-testnet.xen.network/
Chain ID: 204005
Currency symbol: XN
Block explorer URL: https://explorer.x1-testnet.xen.network/
REQUEST XN Testnet Tokens to JOIN THE X1 VALIDATOR
To join as a block producer or a validator in the X1 testnet phase, you will need 100,000 Test XN tokens (plus a little more to run the staking transaction). To qualify for the airdrop of 100k XN Testnet tokens, you'll need to fill up the application form. URLs:
Application form: Google Form
More details in Jack's tweet: Twitter
After ensuring your validator wallet has sufficient XN, you're ready to move on to STEP 4. If you're currently low on XN, you can still advance to STEP 4, but be aware that the instructions provided will only take you up to Step 5. However, there's no cause for concern, as you'll have the opportunity to establish a read-only node and operate it while awaiting the XN airdrop.
CONFIGURE the X1 VALIDATOR NODE!
sudo su
apt-get update && apt-get upgrade -y
Install GO as one of the major and critical pre-requisite for running an X1 validator. Copy the entire block below and run it to automatically install go version 1.22.2
sudo rm -rf /usr/local/go curl -Ls https://go.dev/dl/go1.22.2.linux-amd64.tar.gz | sudo tar -xzf - -C /usr/local eval $(echo 'export PATH=$PATH:/usr/local/go/bin' | sudo tee /etc/profile.d/golang.sh) eval $(echo 'export PATH=$PATH:$HOME/go/bin' | tee -a $HOME/.profile) echo "export PATH=$PATH:/usr/local/go/bin:$HOME/go/bin" >> $HOME/.bash_profile source $HOME/.bash_profile go version
cd ~
chmod -R 777 go-x1 && cd go-x1 && go mod tidy
make x1
cp build/x1 /usr/local/bin
RUN the X1 validator node in READ-ONLY mode first (while waiting for the 100,000 XN testnet tokens)
x1 --testnet --syncmode snap --xenblocks-endpoint ws://xenblocks.io:6668
CREATE an X1 VALIDATOR KEY
x1 validator new
(Please save OR remember the location of your validator public key and keystore location e.g. /root/.x1/keystore/validator/)
Navigate to the SFC Contract (Write part) on the explorer: https://explorer.x1-testnet.xen.network/address/0xFC00FACE00000000000000000000000000000000/write-contract#address-tabs
START your X1 Validator Node
(Please ensure that you have achieved 100% sync with the X1 chain and that you have successfully staked 100,000 XN to the X1 tesnet smart contract)
/usr/local/bin/x1 --testnet --validator.id $VALIDATOR-ID --validator.pubkey $PUBKEY --validator.password /root/.x1/.password --xenblocks-endpoint ws://xenblocks.io:6668 --gcmode full --syncmode full --http --http.port 8545 --cache 31843
FUTURE UPDATES
STOP X1 VALIDATOR systemctl stop x1-testnet OR ps -ef | grep validator then kill -9 PID)
cd $HOME or cd ~
cd go-x1
git stash
git pull
git checkout test_1_1_7 && git pull
git stash pop
go mod tidy
make x1
cp -f build/x1 /usr/local/bin
START X1 VALIDATOR systemctl start x1-testnet systemctl status x1-testnet
CHECK if your X1 Validator node is successfully registering and emitting blocks, you can use the URLs below.