step-by-step RUN Your Babylon Node (bbn-test-3)
March 1st, 2024

Binance Labs, the venture capital and incubation arm of Binance has invested in Babylon, a Bitcoin staking protocol that pioneers the concept of native Bitcoin staking allowing users to stake bitcoins for PoS blockchains and earn yields without any third-party custody, bridge solutions or wrapping services. It provides slashable economic security guarantees to the PoS chains while ensuring efficient stake unbonding to enhance liquidity for Bitcoin holders.

The Babylon team has announced that they has stopped their “bbn-testnet-2” and transitioned to “bbn-testnet-3”. This update is big news because it brings in Bitcoin staking on the testnet, showing Babylon is always looking to get better. Whether you’re looking to upgrade your current installation or set up a Babylon validator from the scratch, this guide will walk you through the process.

Becoming an active validator on the bbn-test-3 chain means you need to have more ubbn tokens than the last validator on the list, giving you more voting power in the network. This means might need to claim a lot of testnet tokens from the faucet and then delegate them to your node. It’s a tough competition to get enough tokens to be at the top, so make sure you’re ready for the challenge.

Currently, in the testnet phase, Babylon has already secured $18 million in funding from Binance Labs and others leading venture capital firms. In this step-by-step guide, you will learn to set up and run your node as well as becoming your own validator !

I) VPS configuration

To run a node you’ll need a VPS (Virtual Private Server). Using a VPS offers several advantages, such as enhanced performance, scalability and reliability.

**Contabo **is my preferred choice due to their combination of affordable pricing, reliable performance, and user-friendly interface. you can use any VPS provider whatever you like.

Minimum System Requirements :

4 CPU

32 GB RAM

1 TB NVMe

While the new hardware requirements are higher now, I’ll stick with the Cloud VPS 2 package for the time being. However, considering the network’s growth, it might be wise to opt for the Cloud VPS 3 package in the long run.

select a rental period of 1-12 month, i selected 1 month with the flexibility to extend it later if needed:

select European union

Select 400 gb SSD For the best storage solution

To access Docker with Ubuntu 22.04, navigate to the “Apps & Panels” section and make the appropriate selection:

To prioritize security, I highly recommend to generate a new password and securely store it to ensure maximum protection:

For the final step, it’s recommended to leave the sections titled “Object Storage”, “Networking”, and “Add-Ons” in their default state without any modifications.

click next and finished the payment. After successfully completing the payment for your order, you will receive an initial email. Within approximately 15 minutes, you will receive a second email containing all the information needed to connect to your VPS.

2) Connect To Your VPS via SSH

To connect to your VPS and securely run your node, you must download and install the Putty software, which enables a secure connection.

You will find the IP adress of your VPS in the second email. Launch PuTTY, enter the IP address of your VPS and click “Open”:

Once the server interface is open, you will be prompted to provide login details; simply enter “root” as the user and use your chosen password:

Congratulations! You are now successfully logged into your server:

3) Node deployment

3.1)Preparations

Running sudo apt update && sudo apt upgrade -y in the terminal will update the package lists for upgrades and then upgrade all the packages on your system to their latest versions.

sudo apt update && sudo apt upgrade -y

installs several packages using the apt package manager

sudo apt -qy install curl git jq lz4 build-essential

3.2) Install GO

Make sure you install the latest version of GO, whether it’s a fresh installation or an update:

Download GO programming language extracts the file

wget "https://golang.org/dl/go1.22.0.linux-amd64.tar.gz"
sudo tar -C /usr/local -xzf "go1.22.0.linux-amd64.tar.gz"
echo "export PATH=$PATH:/usr/local/go/bin:$HOME/go/bin" >> $HOME/.bash_profile
source $HOME/.bash_profile

check your Go version and ensure that it is indeed 1.22.0.

go version

3.3) Clone Babylon Repository

Change your current directory to your home directory

cd $HOME 

clone the babylon repository

git clone https://github.com/babylonchain/babylon.git 

switch the current state of the repository to the v0.8.3 version and execute the Makefile script.

cd babylon 

git checkout v0.8.3 
make build

3.4)Preparing The Directories And Install Cosmovisor

#Create a specific directory structure in your home directory for babylond.

mkdir -p $HOME/.babylond/cosmovisor/genesis/bin

#install cosmovisor

go install cosmossdk.io/tools/cosmovisor/cmd/cosmovisor@latest

Move the babylond executable from the build directory into the newly created bin directory under genesis.

mv build/babylond $HOME/.babylond/cosmovisor/genesis/bin/

remove the build directory and its contents to clean up your workspace.

rm -rf build

create application symlink

sudo ln -s $HOME/.babylond/cosmovisor/genesis $HOME/.babylond/cosmovisor/current -f
sudo ln -s $HOME/.babylond/cosmovisor/current/bin/babylond /usr/local/bin/babylond -f

3.5) Create Your Moniker

Assign the name of your choice to your node, such as MONIKER=”BigBrains” or MONIKER=”Cryptoboys27”

MONIKER="YOUR_MONIKER"

3.6) Initiate your Node

run:

babylond init $MONIKER --chain-id bbn-test-3

3.7) Get Genesis File

wget https://github.com/babylonchain/networks/raw/main/bbn-test-3/genesis.tar.bz2
tar -xjf genesis.tar.bz2 && rm genesis.tar.bz2
mv genesis.json ~/.babylond/config/genesis.json

3.8) modify configuration seeds and Peers setting

# add seeds

sed -i -e 's|^seeds *=.*|seeds = "49b4685f16670e784a0fe78f37cd37d56c7aff0e@3.14.89.82:26656,9cb1974618ddd541c9a4f4562b842b96ffaf1446@3.16.63.237:26656"|' $HOME/.babylond/config/config.toml

#Change network to signet

sed -i -e "s|^\(network = \).*|\1\"signet\"|" $HOME/.babylond/config/app.toml

#Set minimum gas price

sed -i -e "s|^minimum-gas-prices *=.*|minimum-gas-prices = \"0.00001ubbn\"|" $HOME/.babylond/config/app.toml

#set Peers and create config.toml file.

PEERS="3774fb9996de16c2f2280cb2d938db7af88d50be@162.62.52.147:26656,b82b321380d1d949d1eed6da03696b1b2ef987ba@148.251.176.236:3000,3fb6251a235480e81c8f964ff25304b2b4e7a071@43.128.69.178:26501,c0ee3e7f140b2de189ce853cfccb9fb2d922eb66@95.217.203.226:26656,e46f38454d4fb889f5bae202350930410a23b986@65.21.205.113:26656,25abb614b96fa606fb5514fcf711635e8e861d8f@217.72.207.107:26656,670d3cc0b1b4d008db95110557190b1d51c3cc87@43.156.24.202:26501,8e4e408a2e157e7ed3fce000525ff8ba22e8f6a8@135.181.58.31:26656,c3e82156a0e2f3d5373d5c35f7879678f29eaaad@144.76.28.163:46656,82191d0763999d30e3ddf96cc366b78694d8cee1@162.19.169.211:26656,26acaa8356468376abcfbbafb92e45fcb9fb14c7@65.109.64.179:26656,bb60df4fc43fd4915e16a779611e919fda4a57cb@95.216.187.89:26656,73d0b886307757aa7e0778ca272851c1d24c2e7d@135.181.246.250:3400,35abd10cba77f9d2b9b575dfa0c7c8c329bf4da3@104.196.182.128:26656,26cb133489436035829b6920e89105046eccc841@178.63.95.125:26656,2b9433ec17f98c902ce6bf0031342f20fb6e9cf8@80.64.208.1:26656,9d840ebd61005b1b1b1794c0cf11ef253faf9a84@43.157.95.203:26656,59b484e1370f211ba74f5b8e1316a0752a55d090@65.108.75.197:26656,fd837edb83d1ad175041b9a72ae6b0f5874d1df7@3.136.250.177:26656,564af85d70a1f7227146b1840f467015f8e9af5a@141.95.110.70:26656,a1a0ec58bf2be5ba114a648f84e53e776f5e4902@3.139.218.231:26656,868730197ee267db3c772414ec1cd2085cc036d4@148.251.235.130:17656,ce1caddb401d530cc2039b219de07994fc333dcf@162.19.97.200:26656,79973384380cb9135411bd6d79c7159f51373b18@133.242.221.45:26656,94039e66a22103ce28c85852c594cacabc6decd1@37.27.54.184:27656,e2a105f8da7a3653fe8149471d84ca1e39d51e53@161.97.131.159:20656,163ba24f7ef8f1a4393d7a12f11f62da4370f494@89.117.57.201:10656,ac65cb7c09f9b0f8aaf2605a9cf9d5684cda87d9@3.129.218.47:26656,2cc3d19c8126a3cecdb95401a525d6a2832a76b8@121.78.247.252:33656,11a40047f142b07119b29262da9f7800640b0699@88.217.142.242:16456,4d992a77957f6937a275a7966ad906f9c3e2f0be@114.203.200.187:26656,09ecb5c2c5c039b35e87be56b43263d1b1552208@109.199.114.30:26656,3bd2dbed00eab2bdf777ecb012ceff403659f8ef@18.171.248.222:26656,be1ff98cfdad3b765d3ef0ebd44ead182a020d23@95.217.35.179:26656,1bdc05708ad36cd25b3696e67ac455b00d480656@37.60.243.219:26656,26240e4061426d22d5594f91f2754a28a80494bc@109.199.96.75:26656,7720914dd724043a1cd5950fad726f67e155fb15@88.198.54.190:43656,ddd6f401792e0e35f5a04789d4db7dc386efc499@135.181.182.162:26656,5afce223a3b96954d0fbbac00c22318600c7b6b9@173.249.44.69:26656,798836777efb5555cfb940129e2073b44f9117e5@141.94.143.203:55706,21d9dd05fa924cbcdaf501b92b74bf106af29c95@89.58.32.218:25000,8566da036cb96a50b011f7a04eb796748f71a71e@51.89.40.26:26656,90eac330252ff51bf461602e7b8df054ce8583ae@65.109.64.57:26656,d43f2ed7961c199dc304e3e34d03247f0aa0615e@51.158.77.69:26656,424325d33fcc86c1cfc085cf412b105348ac2fcd@65.109.85.221:2050,86e9a68f0fd82d6d711aa20cc2083c836fb8c083@222.106.187.14:56000,5b197ab8f05c0140d622b258f0734a3bb7c4128d@88.198.8.79:2050,326fee158e9e24a208e53f6703c076e1465e739d@193.34.212.39:26659,259e9bdb6aabf01f42cdd5367f69aab5996afea4@37.27.59.71:20656,5463943178cdb57a02d6d20964e4061dfcf0afb4@142.132.154.53:20656,b9aaacb74ff31b304c294bdfc7d59c616e8b811a@213.202.212.75:26656,179a498904d880587cc37d07ebd1e01ff81a02fe@3.139.215.161:26656,a25c37941e272b5ed0ea40e8f39e95c0d9c55083@178.63.105.185:26656,05ec92459362ea3969a8980ec87e64df49cf8826@65.108.236.43:21156,e3b214c693b386d118ea4fd9d56ea0600739d910@65.108.195.152:26656,f7c9542e9d9af79f37d1698839787a86f7f8aef0@37.60.234.51:26656,59df4b3832446cd0f9c369da01f2aa5fe9647248@65.109.97.139:26656,5e02bb2c9a644afae6109bf2c264d356fad27618@15.165.166.210:26656,49b15e202497c231ebe7b2a56bb46cfc60eff78c@135.181.134.151:46656,6990fd085c9e2e8c9256f144799d18df51f74022@141.94.195.144:26656,118d4b1b0f58d9c038fafc18085808a593539e7a@78.46.71.227:26656,6359d70612b9abf7d4d458dc1938ec06f2a21652@129.226.152.250:26501,b4215706647068b234d8b72da1736b0e460e5cf1@65.21.228.25:26656,e27df9014fd0d37d917fb33f2d9de7500a8fab70@35.91.9.184:26656,5145171795b9929c41374ce02feef8d11228c33b@160.202.128.199:55706,1eb7b2585cf32255abc0371cd07624cba0706e29@103.35.191.186:26656,2abdfe743b995a8d86fa32f8a38127f1e36a628d@207.180.204.34:26656,4e893ae5671ac29b90229ec69528f731b5e359bb@36.153.240.230:26656,197d15d24b7f83bff06ef6e8ecc6120c5a14a556@37.60.227.81:26656,5b124ed79f5f0c02ffca4bfb8a73469265f46de1@3.132.112.231:26656,f887f4a18019563bcf3fc23079eb68b86931a766@37.60.226.84:16456,f0043c64dff1f95d356107b9f31ace39b4154990@38.242.253.112:26656,bcc5bd089b30bc8c96095a5cd4a8cd45e8c197a0@112.213.190.1:26656,bdd106eaa1b0ecb5ea13e03344147f34d1f457a1@65.108.43.51:26656,89a4dbf6593caa6d337cf02b049cab245ceb6ede@128.140.73.180:26656,7138083f9a513a33d3fd4d477d28436ff368367a@84.247.133.117:26656,0c9f976c92bcffeab19944b83b056d06ea44e124@5.78.110.19:26656,8f618f4f40d1c27e27b760ca10246b8b113e94be@18.222.121.72:26656,10b483d706782dd53834eca77562e081e52b16dd@3.137.160.91:26656,b1783b0d95ffeeac6c81be47ff8552bbc27bc054@18.191.27.217:26656,6460741d8b2701f6d733e0c5a9a52a9d5a924c9f@217.76.63.213:26656,94a6b8d058bc3db464ab8ec0b824cd40c09a2385@3.131.193.119:26656,9f7fd2aebea04d099eb9a60c8483a5b88a5b1db6@161.97.123.142:26656,d9b3f259aa6271351485e75c1adfc949a6c8919d@38.242.253.115:26656,73c9f1a0eba78497adadfd3a23b6391219eae29d@43.128.123.8:26501,d06147e71166c7e5fdf97378aa32ba5ef2a2be2f@43.134.176.53:26501,dbceef939143cdbf7131d9a185314c4849c81a98@202.61.199.52:26656,395af7ddf487e3adb1600adfdf276e9410d2bc39@36.189.234.219:26656,fad3a0485745a49a6f95a9d61cda0615dcc6beff@89.58.62.213:26501,f90d6a73190698aaec5554839229cad20693e04a@37.27.14.222:26656,9e36d595b69c75f94771d9dee791f822578e14da@173.212.244.215:26656,be95de5f28496fe8b7e93ce5ccbeec9db271520b@162.19.95.240:14656,e8f550ed3fea54eda7fa3f8ed3d6b17cb222fedf@95.111.239.100:26656,36123e2b3e3612c6a4abf6c81b71546168f7688d@109.199.114.26:26656,6c14e076d92f715b0a1f7b03b09af8c28f0d9469@65.108.153.90:26656,a31b620c076899133e44d195eae0d6308283230d@57.128.19.189:26656,4dbf5157b735de59fb84be26f2bd40a16cee056c@54.238.212.246:26656,1ecc4a9d703ad52d16bf30a592597c948c115176@165.154.244.14:26656,6e96d1fa4ff9cc573b3c41c3f722aa9b373d886e@154.91.1.78:26656,b5bbe6054b46055242aa72e71614c5b14527dce3@150.109.95.158:26501,37d27ecded8181952f99648628ff2c8d85286432@62.195.206.235:26656,ac0b5e230dfdc573f74642c48898e1398a1e5050@65.108.78.101:26656,0ccb869ba63cf7730017c357189d01b20e4eb277@185.84.224.125:20656,86eecc48c181a2e508852f6f3a170b99a09cae87@74.208.197.25:26656,e9913c53da2a7a1432ee65e17f8b90b072ff3ee6@109.199.113.189:26656,1a0b3386617587ad7e678e0ea522c79f1fe4113a@65.109.88.254:38656,07d1b69e4dc56d46dabe8f5eb277fcde0c6c9d1e@23.88.5.169:17656,fb5ea45358d13679518f43d995f42442a79b161f@185.246.87.105:56656,b80b2fb6002557b468add907074d0bf2ef4f911e@158.220.84.179:29656,ef83feb0f03af81e65a9fa511f7a99401308a99a@43.156.182.164:26501,3deaff1478542cf7f28123ad33be50d4bc08b728@2.56.97.152:26656,40662747f0e01678dbdf1e50879f40a68139d7aa@35.163.58.204:26656,b08f08b8f10103ce97f3b5cbd274795687ce4866@164.68.96.90:26656,68de398f1d36546c002086b91f6018ed5c6105f2@5.189.136.136:26656,34807baef8c02bc202fb14035f7d375a6a5ff30e@95.217.193.182:21656,69c1b7e1eb114703733c3000baa6c008ebc70073@65.109.113.233:20656"


sed -i 's|^persistent_peers *=.*|persistent_peers = "'$PEERS'"|' $HOME/.babylond/config/config.toml

3.9) Create Corresponding service

Creating a system service for your Babylon node ensures it can run as a background service, automatically start on boot, and restart in case of failure. Here’s how to set up the service correctly

sudo tee /etc/systemd/system/babylond.service > /dev/null <<EOF[Unit]Description=Babylon daemonAfter=network-online.target[Service]User=$USERExecStart=$(which cosmovisor) run start --x-crisis-skip-assert-invariantsRestart=alwaysRestartSec=3LimitNOFILE=infinityEnvironment="DAEMON_NAME=babylond"Environment="DAEMON_HOME=${HOME}/.babylond"Environment="DAEMON_RESTART_AFTER_UPGRADE=true"Environment="DAEMON_ALLOW_DOWNLOAD_BINARIES=false"[Install]WantedBy=multi-user.targetEOF

3.10) Finalize the set up

To finalize the setup and ensure your Babylon node service is active and set to start automatically on your system’s boot, follow these steps:

sudo -S systemctl daemon-reload
sudo -S systemctl enable babylond
sudo -S systemctl start babylond

3.11) Check the Logs status

#check service status

systemctl status babylond

Press CTRL+C to leave.

#View the Logs and status

sudo journalctl -u babylond.service -f --no-hostname -o cat

babylond status | jq

3.12) Create Or Import Your Wallet

#create new wallet : Do not forget to write these informations (address, pubkey and mnemonic phrase) in a safe place !

babylond keys add wallet

#to Recover your existing wallet, use :

babylond keys add wallet --recover

Then, enter your mnemonic phrase when prompted.

3.13) Obtain Funds from the Babylon Testnet Faucet

#Request testnet Token using your wallet in previous step

To receive funds, visit the #faucet channel on the official Babylon Discord server .

Please be aware that you can only claim 1 BBN from the faucet every 24 hours.

claim $bbn test tokens by typing !faucet <your_adresse>.

example : !faucet bbn1g7cls7ungmx6htkua846cu2c2pqtjfuplyzs95

#check your wallet Balance

babylond q bank balances $(babylond keys show wallet -a)

3.14)Generate a BLS Key Pair

#generate your BLS key pair

babylond create-bls-key $(babylond keys show wallet -a)  

#restart your node to apply new configurations/updates.

sudo systemctl restart babylond 

3.15) Create the Validator

#Create Validator.json

Ensure you replace

your_moniker,

https://yourwebsite.com,

contact@gmail.com,

and "description of your validator"

with your actual moniker, website, email address, and validator description.

sudo tee ~/validator.json > /dev/null <<EOF { "pubkey": $(babylond tendermint show-validator), "amount": "100000ubbn", "moniker": "your_moniker", "website": "https://yourwebsite.com", "security": "contact@gmail.com", "details": "description of your validator", "commission-rate": "0.10", "commission-max-rate": "0.20", "commission-max-change-rate": "0.01", "min-self-delegation": "1" } EOF

With the validator.json file ready, use the following command to create your validator on the blockchain. This command references the JSON file for validator details and executes the transaction to register your validator on the bbn-test-3 network:

babylond tx checkpointing create-validator ~/validator.json \
    --chain-id="bbn-test-3" \
    --gas="auto" \
    --gas-adjustment="1.5" \
    --gas-prices="0.025ubbn" \
    --from=wallet

They will request confirmation by prompting you to enter “y”.

You now need to wait a few hours for your validator to become active on the Balyon chain. Its address can be found by typing:

babylond keys show wallet -a --bech val
babylond query staking validator wallet

If your validator has been successfully created, the output from these commands will confirm its active status and provide relevant details such as your validator’s address and status information

you can verify and view your validator’s presence and status on the Babylonscan blockchain explorer by navigating to their website and searching for your moniker.

Remember that only the top 80 are active, so, you need to delegate a lot of tokens for this !

You can now delegate tokens to your node:

babylond tx epoching delegate $(babylond keys show wallet --bech val -a) 900000ubbn --from wallet --chain-id bbn-test-3 --gas-adjustment 1.2 --gas 500000 --fees 10ubbn -y

You can finally past your txhash on explorers to ensure your transaction is a success.

Please Note : 1000000 ubbn = 1 bbn

Congratulations, you’ve successfully become a validator on the Babylon network!

As always, I recommend staying informed about Babylon by following their updates on Twitter and joining their Discord community. This way, you can keep up with all the latest news and information. For troubleshooting, consult the official documentation first, and if needed, seek assistance on the official Discord server or feel free to reach out to me directly on our Discord community.

Subscribe to Cryptoboys27.Validator
Receive the latest updates directly to your inbox.
Nft graphic
Mint this entry as an NFT to add it to your collection.
Verification
This entry has been permanently stored onchain and signed by its creator.
More from Cryptoboys27.Validator

Skeleton

Skeleton

Skeleton