Ladies and gentlemen,
The wait is over!!
The guide to joining bitsong-testnet-4 is out now!
The penultimate step before the Mainnet 1.0 is about to be completed.
We remind you that the goal of this testnet-4 is testing the sdk 0.39.1 the official release that we will use for Mainnet 1.0.
Prepare your node and start validating from the first block, ensuring a minimum reward of 5000btsg (max 64 validators).
Send your gentx no later than Tuesday October 13th at 15:00 UTC.
How to participate in bitsong-testnet-4 (incentivized)
This article is aimed at those validators who intend to participate in the third BitSong testnet. This guide replaces the previous ones and is not to be confused with other versions of the blockchain.
Awards & Conditions
This is a contest dedicated to validators who will take part in BitSong Testnet 4 and who will continue their participation also in Mainnet.
- Total Max Prize: 320,000btsg
- Max Partecipants: 64 validators
Conditions & further rewards:
- To be able to get the 5,000btsg prize, the validator must sign at least 90% of the blocks and be online no later than the first 100 blocks.
Registration to the form does not imply automatic approval by BitSong Group Ltd. The contest program is in testing phase, it may change at any time and it may be necessary to perform a KYC/AML procedure. All approval requirements will be announced before the endline. The participants in this phase are aware that they may not receive the rewards if the KYC/AML procedures are not approved.
First of all, some preparations need to be made on your server (dedicated or cloud). Using a dedicated server ensures high performance (even in high load situations). The network uses the Tendermint consensus, which will elect a leader for each block. If your validator is offline, consensus will delay the inclusion of the block and you may be slashed!
For this guide we used the following specifications:
- Ubuntu 18.04 OS
- 2 vCPUs
- 4GB RAM
- 40GB SSD
- Release of incoming connections on port 26656
- Static ip address (Elastic IP for AWS, floating IP for DigitalOcean)
You can find these features at any cloud provider (AWS, DigitalOcean, Google Cloud, Hetzner, Linode, etc.)
Installing the necessary software
First you need to log into the server via ssh and install the security updates
sudo apt update && sudo apt upgrade -y
- Install the packages necessary for Golang to work
sudo apt install build-essential libleveldb1v5 git unzip -y
2. Install Golang (1.13.x)
sudo tar -xvzf go1.13.6.linux-amd64.tar.gz
sudo mv go /usr/local
3. Update system variables
cat <<EOF >> ~/.profile
4. We verify that golang is properly working
5. If everything went well, we should get this type of output
go version go1.13.6 linux/amd64
go-lang and the necessary packages, we can proceed to install
go-bitsong (the bitsong blockchain)
- Clone the BitSong repository
2. Select the correct tag
git checkout v0.6.0-beta1
3. Fill the binaries
bitsongd version --long
5. If everything went well, we should get this type of output
go: go version go1.13.6 linux/amd64
Let’s proceed with the configuration of
<your-moniker> with the public name you want to assign to your validator,
bitsong-testnet-4 is the name of the testnet we will use
go-bitsongindicating the name of your validator and the chain we wish to connect to
bitsongd init --chain-id bitsong-testnet-4 <your-moniker>
bitsongd initsets the
node-idof your validator. You can get this by typing the command
bitsongd tendermint show-node-id. The value of
node-idwill be part of the transaction we will create for the genesis, so if you plan to send the
genesis-transaction, don’t reset your
bitsong unsafe-reset-allor by changing your ip address
2. Create a wallet for your node
<your-wallet-name> should be replaced with the name you want to give to the wallet. The name may differ from your
bitsongcli keys add <your-wallet-name>
BEFORE CONTINUING, DON’T FORGET TO SAVE AND KEEP SAFE THE MNEMONIC PHRASE!
If you plan to activate your validator from the first block, you need to execute these simple instructions and open a pull request. Make sure that the steps have been properly completed and your validator is active before the network is launched.
If you don’t intend to start your node from the first block, you can skip this guide.
- Create a genesis account with
bitsongd add-genesis-account $(bitsongcli keys show <your-wallet-name> -a) 1000000000ubtsg
Do not change the amount, in this way we will all have a correct distribution of btsg. We remind you that
1btsgis equivalent to
10 ^ 6
2. Sign the
gentx that will be included in
genesis, if you want, you can add the
--ip flag to indicate your public ip address
bitsongd gentx --name <your-wallet-name> --amount 1000000000ubtsg --ip <your-public-ip>
By running the command, a genesis transaction will be created and saved on the path
$HOME/.bitsongd/config/gentx/gentx-<gen-tx-hash>.json. This should also be the only file inside the
gentx directory. If you find other files inside, we suggest you delete them and reissue the command for the
gentx (as described above).
3. Fork the repository dedicated to networks
Make sure you haven’t fork the repository previously, otherwise we recommend deleting it before continuing.
Make sure you fork the correct repository (https://github.com/bitsongofficial/networks) under your username.
cd $HOME && git clone https://github.com/<YOUR-USERNAME>/networks.git && cd $HOME/networks
4. Create the branch dedicated to sending the tx
git checkout -b genesis-<your-moniker>
5. Check that there are no other TXs inside
6. Copy the gentx
cp $HOME/.bitsongd/config/gentx/* $HOME/networks/bitsong-testnet-4/
7. If this is your first time using git, you need to do some configuration (optional)
Remember to change the data with those of your github account+
git config --global user.email "firstname.lastname@example.org"
git config --global user.name "Your Name"
8. Add files and commit changes
git add bitsong-testnet-4/*
git commit -m 'feat: gentx for <your-moniker>'
9. Push the local branch to the remote repository
git push -u origin genesis-<your-moniker>
Great! If you have performed all the steps listed above, all you have to do now is opening a
Create a Pull Request
- Click on this link https://github.com/bitsongofficial/networks/pulls
- Click on
New Pull Requst
3. Click on
compare across forks
4. Change the following parameters
base repository: bitsongofficial/networks
base: masterhead repository: <YOUR-USERNAME>/networks
5. Continue by clicking on “Create pull request”
6. Confirm by clicking on “Create pull request”
Make sure you double check the previous steps before opening a PR.
gentx must be sent no later than Tuesday October 13th at 15:00 UTC.
In case you don’t have time to send the
gentx, don’t worry, you can run your validator after the network has been launched.
Launching the testnet 🚀
[Wait for further instructions.]
Fill out the form
In order to coordinate and/or send notifications to the validators, we invite you to fill in the form available here