Support the network and earn rewards!
NOTE: Need 32 million PLS to be a validator
What is Pulse?
https://PulseChain.com
Resources
Gitlab
https://gitlab.com/pulsechaincom/pulsechain-mainnet
Launchpad
https://launchpad.pulsechain.com/en/
Checklist
https://launchpad.pulsechain.com/en/checklist
=
Gamma Script
https://www.gammadevops.com/p/validator-setup
RHMax AWS Cloud Guide
https://docs.google.com/document/d/1eW0SDT8IvZrla7gywK32Rl3QaQtVoiOu5OaVhUKIDg8/edit
RHMax Clients Guide
https://docs.google.com/document/d/1RkAWt0Q_DmYpnykHFM4Qf5ItDLPLi-kaj1PDG74Mftg/edit
RHMax Key Guide
https://docs.google.com/document/d/1tl_nql6-Bqyo5yqFDJ2aqjAQoBAK0FtcCYSKpGXg0hw/edit
RHMax Script
https://github.com/rhmaxdotorg/pulsechain-validator
David Feder Videos
https://www.youtube.com/@DavidFeder
David Feder Script
https://gitlab.com/davidfeder/validatorscript/-/blob/main/PulseChain_MainNet_Install_Validator.txt
DipSlayer (tdslaine) Scripts
https://github.com/tdslaine/install_pulse_node
Jexxa Script
https://github.com/JexxaJ/Pulsechain-Validator-Script
Gamesys Guide
https://gitlab.com/Gamesys10/pulsechain-node-guide
Hodldog Guide
https://hodldog.notion.site/PulseChain-Node-Validator-Guide-1399a107ceb0481cb10f4bd6298ddc51
Togosh Guide
https://togosh.medium.com/pulsechain-validator-setup-guide-70edae00b344
=
Sacrifice Checker
https://pulsechain-sacrifice-checker.vercel.app
Block Explorer
https://scan.pulsechain.com
https://otter.pulsechain.com
Beacon Explorer
https://beacon.pulsechain.com
PulseX Exchange
https://app.pulsex.com/swap
=
Chat Support
https://t.me/PulseDEV
https://t.me/GammaDevOpsChat
https://t.me/PulsechainCom
=
Learn Command Line
https://missing.csail.mit.edu
https://linuxupskillchallenge.org
Learn Docker
https://www.docker.com/101-tutorial
https://www.howtogeek.com/733522/docker-for-beginners-everything-you-need-to-know
https://www.freecodecamp.org/news/the-docker-handbook
Docker Commands to View, Stop and Remove Containers and Images
sudo docker ps -a
sudo docker stop -t 300 CONTAINER_ID
sudo docker container prune
sudo docker images -a
sudo docker image rm -f IMAGE_ID
=
Firewalla
https://firewalla.com/collections/all/products/firewalla-purple-se
Starlink
https://www.starlink.com
0. Connect Metamask
a. Follow these steps:
https://gitlab.com/pulsechaincom/pulsechain-mainnet#connecting-metamask
Setup Notes
This guide uses local computers (built from parts purchased online)
(Note: if using cloud service, steps will be different, review resource links above)
Local Computers:
- 1 Windows Machine (to remote into validator with SSH)
- 1 Ubuntu (Linux) Machine (validator that we will set up)
1. Buy/Setup Validator Hardware
Minimum Specs:
https://gitlab.com/pulsechaincom/pulsechain-mainnet#advanced-users-running-a-pulsechain-node
- 4+ core processor
- 16GB+ RAM
- 1 TB+ SSD Full Node
- 15 TB+ Archive Node
(Note: Ethereum blockchain is currently ~900 GB, and grows >1GB a day)
Recommended Specs:
https://t.me/PulsechainCom/2411955
- 8 core processor
- 32-64GB RAM
- 2–4TB NVME SSD
Solid State Drive (SSD) List:
https://gist.github.com/yorickdowne/f3a3e79a573bf35767cd002cc977b038
Computer Parts I bought:
////// 2TB NVMe
$120 — 1x — SK hynix Gold P31 2TB PCIe NVMe Gen3 M.2 2280 SSD
https://www.amazon.com/dp/B099RHVB42
Note: I already had an extra PC (case, power supply, motherboard and 8 core processor) that I bought from newegg.com
$200 - 8 Core CPU (Ryzen 7)
$175 - Motherboard
$150 - 64GB RAM
$120 - 2TB NVME SSD
$100 - Power Supply
$80 - Case
====
~$825 Total?
Example machine for $400 Total
https://twitter.com/UTmortgagepro/status/1650995279435563008
2. Setup Ubuntu/Linux machine
a. Download Ubuntu v22.04.2 LTS iso file
Ubuntu Server (Command Line)
https://ubuntu.com/download/server
OR
Ubuntu Desktop (GUI)
https://ubuntu.com/download/desktop
b. Create USB stick
https://ubuntu.com/tutorials/create-a-usb-stick-on-windows
(David Feder Video: https://www.youtube.com/watch?v=ZqllGFvGlYg)
c. Install Ubuntu
- Insert USB stick into validator PC
- Restart validator PC
- While its starting keep pressing F2 (or whatever key needed to get to BIOS, F10, F12, F1, DEL, etc)
- Select to boot from USB
- Follow Ubuntu instructions
- Select to Install OpenSSH
d. Disable sleep?
https://linuxgenie.net/how-to-keep-your-ubuntu-22-04-from-sleeping
3. Check Disk Space
a. Check
df -h
lsblk
b. Extend and Resize
sudo lvextend -l +100%FREE /dev/mapper/ubuntu--vg-ubuntu--lv
sudo resize2fs /dev/mapper/ubuntu--vg-ubuntu--lv
Reference: https://askubuntu.com/a/1330709
4. Setup Router
a. Log into Router
http://192.168.0.1
(I forgot password and had to physically click the reset button on the router with a pen)
b. Setup Static IP for local Ubuntu validator machine
(DHCP Address Reservation)
(Google name of your router for how to do this)
(Choose static IP address outside of your DHCP range)
After setting static IP in your router, restart Ubuntu machine and test pinging static IP from Windows
Ubuntu command
sudo reboot
Windows command
ping 192.168.X.XXX
c. Setup Port Forwarding
(Google name of your router for how to do this)
Forward the ports to your Ubuntu static IP address
30303 all # Erigon and Go Execution Clients
13000 tcp # Prysm Consensus Client
12000 udp # Prysm Consensus Client
9000 all # Lighthouse Consensus Client
d. Test Ports
https://myexternalip.com
Ubuntu command:
(Replace EXTERNALIP, with your external IP address from above website)
nc -vz EXTERNALIP 30303
nc -vz EXTERNALIP 9000
5. Login to Ubuntu from local Windows machine
a. Run ip command on Ubuntu and confirm your local ip address, example: 192.168.X.XXX
ip a
b. Install and Run Putty (SSH client)
https://www.putty.org
c. On Windows use Putty to connect to your Ubuntu IP Address on port 22 (SSH), enter your Ubuntu credentials
6. Install DipSlayer (tdslaine) Scripts
(Sets up Firewall and JWT secret,
Installs Docker, and
Installs Execution, Consensus and Validator Clients)
a. Follow instructions from README.md file
https://github.com/tdslaine/install_pulse_node
sudo apt-get install git
git clone https://github.com/tdslaine/install_pulse_node
cd install_pulse_node
chmod +x setup_pulse_node.sh
sudo ./setup_pulse_node.sh
cd /blockchain
./start_execution.sh
./start_consensus.sh
./start_validator.sh
sudo docker logs -f execution
sudo docker logs -f beacon
sudo docker logs -f validator
b. Wait for your node to sync to latest block explorer number
https://scan.pulsechain.com
https://otter.pulsechain.com
7. Check RPC
a. View version
curl -H "Content-Type: application/json" -X POST --data '{"jsonrpc":"2.0","method":"net_version","params":[],"id":67}' http://localhost:8545
b. View sync status
curl -s http://localhost:8545 -H "Content-Type: application/json" --data "{\"jsonrpc\":\"2.0\",\"method\":\"eth_syncing\",\"params\":[],\"id\":67}"
c. View number of peers
curl -H "Content-Type: application/json" -X POST --data '{"jsonrpc":"2.0","method":"net_peerCount","params":[],"id":67}' http://localhost:8545
8. Create Validator Keys
(NOTE: Use Dipslayer (tdslaine) script:
https://github.com/tdslaine/install_pulse_node
it has a “setup_validator.sh” script and skip below steps)
a. Install deposit script
sudo git clone https://gitlab.com/pulsechaincom/staking-deposit-cli.git
cd staking-deposit-cli
python3 -V
sudo apt install python3-pip
sudo pip3 install -r requirements.txt
sudo python3 setup.py install
b. Create keys, write down mnemonic, store it somewhere safe
./deposit.sh new-mnemonic
Choose language: 3. English
Choose mnemonic language: 4. English
Choose how many validators: 1
Choose network/chain name: pulsechain
c. Change ownership of deposit data file
(replace USERNAME below with your Ubuntu username)
cd validator_keys
sudo chown -R USERNAME:USERNAME deposit_data-*.json
d. Transfer deposit data file
d.1. Install WinSCP on Windows
https://winscp.net/eng/download.php
d.2. Open WinSCP, Connect to Ubuntu machine, Open folder /blockchain/staking-deposit-cli/validator_keys, Transfer “deposit_data-*.json” to your Documents
e. Upload deposit data file to Launchpad, Connect Metamask and follow rest of instructions
https://launchpad.pulsechain.com
f. Find your deposit and check its status
https://beacon.pulsechain.com/validators/initiated-deposits
g. Import validator keys
sudo -u lighthouse docker run -it --network=host -v /blockchain:/blockchain registry.gitlab.com/pulsechaincom/lighthouse-pulse lighthouse --network pulsechain account validator import --directory /blockchain/staking-deposit-cli/validator_keys --datadir=/blockchain/
9. Run Validator Client
a. (Replace suggested-fee-recipient=0xADDRESS with your Pulsechain address)
sudo -u validator docker run -it --network=host -v /blockchain:/blockchain registry.gitlab.com/pulsechaincom/lighthouse-pulse:latest lighthouse vc --network=pulsechain --validators-dir=/blockchain/validators --suggested-fee-recipient=0xCB00d822323B6f38d13A1f951d7e31D9dfDED4AA --beacon-nodes=http://127.0.0.1:5052
TODO
- auto start on reboot
- “recommend going into the bios, and set “Power Loss” to “Last State” that will make it come back on after a blackout”
- alerting — https://t.me/PulseDEV/24428
email 1234567890@txt.att.net? - how to run multiple validators on same machine?
https://www.coincashew.com/coins/overview-eth/guide-or-how-to-setup-a-validator-on-eth2-mainnet/part-iii-tips/adding-a-new-validator-to-an-existing-setup
OPTIONAL
- Monitoring (Grafana and Prometheus)
— https://github.com/sigp/lighthouse-metrics
— https://docs.prylabs.network/docs/prysm-usage/monitoring/grafana-dashboard/
— https://www.coincashew.com/coins/overview-eth/guide-or-how-to-setup-a-validator-on-eth2-mainnet/part-i-installation/monitoring-your-validator-with-grafana-and-prometheus
- Simulations (stop, restart, power loss, migrating between clients)
- Battery backup
https://t.me/PulseDEV/31062
https://wiki.ubuntu.com/apcupsd - VPN? (Wireguard?)
- Fail2ban
https://www.fail2ban.org/wiki/index.php/Main_Page - Forgot Validator Password?
https://lighthouse-book.sigmaprime.io/key-recovery.html - Slashing
https://lighthouse-book.sigmaprime.io/slasher.html
Support:
https://t.me/PulseDEV
https://t.me/GammaDevOpsChat
https://t.me/PulsechainCom
https://t.me/slainemcroth (DipSlayer/tdslaine)
This guide is a work in progress, please report issues and provide feedback! Also please feel free to copy anything
Contact me on Telegram: https://t.me/togosh