Install
Latest Version Tag | Chain ID |
---|---|
Install dependencies
Update system and install build tools
sudo apt -q updatesudo apt -qy install curl git jq lz4 build-essentialsudo apt -qy upgrade
Synchronize date and time
timedatectl
If the NTP service parameter is set to no, then your node’s time may get out of sync. Set up time synchronization by running the command:
timedatectl set-ntp on
Install file2ban
# set and copy the config that will have higher prioritysudo apt install fail2ban -y && \sudo cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local && \sudo nano /etc/fail2ban/jail.local# uncomment and add your IP: ignoreip = 127.0.0.1.1/8 ::1 [ip]sudo systemctl restart fail2ban
# check statussudo systemctl status fail2ban# check which jails are active (by default only sshd)sudo fail2ban-client status# check sshd statisticssudo fail2ban-client status sshd# look at the logssudo tail /var/log/fail2ban.log# stop work and remove from autoloading#sudo systemctl stop fail2ban && sudo systemctl disable fail2ban
Setup and Connect a node to the Mainnet
cd ~
git clone _repo_path_
The binary files required to run JuneoGo are:
- juneogo
- jevm
- srEr2XGGtowDVNQ6YgXcdUb16FGknssLTGUFYg7iMqESJ4h8e
To grant execution permissions of the binary files, please execute the following commands:
chmod +x ~/juneogo-binaries/_project_name_chmod +x ~/juneogo-binaries/plugins/jevmchmod +x ~/juneogo-binaries/plugins/srEr2XGGtowDVNQ6YgXcdUb16FGknssLTGUFYg7iMqESJ4h8e
After this, the juneogo binary should be moved to the home directory. The remaining two binaries should be moved to the ~/.juneogo/plugins
directory.
To do so, please execute the following commands:
mv ~/juneogo-binaries/_project_name_ ~
mkdir -p ~/.juneogo/plugins
mv ~/juneogo-binaries/plugins/jevm ~/.juneogo/pluginsmv ~/juneogo-binaries/plugins/srEr2XGGtowDVNQ6YgXcdUb16FGknssLTGUFYg7iMqESJ4h8e ~/.juneogo/plugins
Create service file
sudo tee /etc/systemd/system/juneod.service > /dev/null <<EOF[Unit]Description=JUNEO NodeAfter=network.target
[Service]User=$USERType=simpleExecStart=/home/juneo/juneogo-binaries/_project_name_Restart=on-failureLimitNOFILE=65535
[Install]WantedBy=multi-user.targetEOF
Start service and check the logs
sudo systemctl daemon-reload && \sudo systemctl enable juneod && \sudo systemctl start juneod && \sudo systemctl status juneod
Wait for synchronization.
Check logs
sudo journalctl -u juneod.service -f --no-hostname -o cat
This will start fetching blocks and bootstrapping your node.
Add a Node to the Validator Set
- Retrieve Your nodeID, publicKey and proofOfPossession:
curl -X POST --data '{ "jsonrpc":"2.0", "id" :1, "method" :"info.getNodeID"}' -H 'content-type:application/json' 127.0.0.1:9650/ext/info
Output should look like this:
{ "jsonrpc": "2.0", "result": { "nodeID": "NodeID-4JfgcoMWBpxCQL5VmyQ1f6L36mUbLLBga", "nodePOP": { "publicKey": "MyBLSKey", "proofOfPossession": "MyBLSSignature", } }, "id": 1}
-
Copy the value for the
nodeID
,publicKey
, andproofOfPossession
from the response. -
Log into mcnwallet.io.
You can use your own seed phrase to connect or create new for this node project.
- Go to Stake and open the Validate window.
Enter the Node ID
, BLS key
, and BLS signature
that you previously saved.
Add at least 100 JUNE token and set the validation period to at least 90 days.