BandChain Wenchang: Stage 3 Begins with Public Node

Sorawit Suriyakarn
Band Protocol
Published in
5 min readJun 29, 2020

The BandChain Phase 0 Mainnet has been publicly available for more than two weeks. Since the launch of Stage 1, we have onboarded numerous exchanges, wallets, and early community validators that are supporting the Mainnet. Starting from the initial 17 genesis validators, there are now 48 active validators producing more than 1,000,000 blocks and bonding over 80%+ of the total BAND supply to secure the BandChain network.

With the network stable and increasingly growing each day, we are ready to commence Stage 3 of the BandChain launch which will allow anyone to run a validator node — a critical step towards the complete decentralization of BandChain.

Running a BandChain Mainnet Node

Stage 3, onboarding public validators, is an ongoing phase where public nodes will be onboarded gradually to increase the degree of decentralization of the BandChain network while also ensuring stability. To reiterate, this is available to anyone in the general public who will be able to run their own node, stake BAND tokens, and join the open network. Below is a guide to operating the BandChain Mainnet validator node.

Step 1: Setting-up Server and Installing BandChain Wenchang

For this guide, we are assuming that you are running an Ubuntu 18.04 LTS machine that allows incoming connections on port 26656. We start by installing utility tools on the machine.

BandChain Wenchang Mainnet release is available on Github as a release. You can download bandd and bandcli binaries directly.

Alternatively, you can checkout the release tag and build from sources.

Step 2: Creating BandChain Account and Setup Config

Once installed, you can use bandcli to create a new BandChain wallet address and use bandd to initialize the chain. Please make sure to keep your mnemonic safe!

You can then download the official genesis file from the repository. You should also add the initial peer nodes to your Tendermint configuration file and set the minimum gas price your node is willing to accept transactions.

Step 3: Start Your Blockchain Daemon

With all configurations ready, you can start your blockchain node with a single command. In this tutorial, however, we will show you a simple way to set up systemd to run the node daemon with auto-restart.

  1. Create the following config at /etc/systemd/system/bandd.service. You will need to edit the default username ubuntu to your machine username. Note that you may need to use sudo as it lives in a protected folder.

2. Install the service and start the node.

While not required, it is recommended that you run your validator node behind your sentry nodes for DDOS mitigation. See this thread for some example setups.

Your node will now start connecting to other nodes and syncing the blockchain state.

Step 4: ⚠️ Wait Until Your Chain is Fully Sync

You can tail the log output with journalctl -u bandd.service -f. If all goes well, you should see that the node daemon has started syncing. Now you should wait until your node caught up with the most recent block.

... bandd: I[..] Executed block  ... module=state height=269819 ...
... bandd: I[..] Committed state ... module=state height=269819 ...
... bandd: I[..] Executed block ... module=state height=269820 ...
... bandd: I[..] Committed state ... module=state height=269820 ...
... bandd: I[..] Executed block ... module=state height=269821 ...
... bandd: I[..] Committed state ... module=state height=269821 ...
... bandd: I[..] Executed block ... module=state height=269822 ...
... bandd: I[..] Committed state ... module=state height=269822 ...

See the explorer for the height of the latest block. Syncing should take a few to several hours, depending on your internet connection. You should not proceed to the next step until your node caught up to the latest block.

Step 5: Send Yourself BAND Token

With everything ready, you will need some BAND mainnet tokens to apply as a validator. You can use bandcli keys list command to show your address.

$ bandcli keys list
- name: ...
type: local
address: band1g3fd6rslryv498tjqmmjcnq5dlr0r6udm2rxjk
pubkey: ...
mnemonic: ""
threshold: 0
pubkeys: []

Step 6: Apply to Become Block Validator

Once you have some BANDs, you can apply to become a validator by sending MsgCreateValidator transaction.

$ bandcli tx staking create-validator \
--amount <your-amount-to-stake>uband \
--commission-max-change-rate 0.01 \
--commission-max-rate 0.2 \
--commission-rate 0.1 \
--from <your-wallet-name> \
--min-self-delegation 1 \
--moniker <your-moniker> \
--pubkey $(bandd tendermint show-validator) \
--chain-id band-wenchang-mainnet

Once the transaction is mined, you should see yourself on the validator page. Congratulations. You are now a working BandChain mainnet validator!

Moving Forward

By having both professional and community validator nodes on BandChain Phase 0, the degree of decentralization and the security of the network will be significantly improved.

We’ll shortly begin testing Phase 1 of BandChain with the community soon which is in final stages and undergoing a security audit. To support the Phase 1 release we will be releasing in the coming weeks:

  • A technical deep-dive series on how Band Protocol oracle works
  • An instruction on how you can join BandChain Phase 1 testnet
  • More detail on developer grants and bounties to community developers

To stay updated as soon as possible, follow our development progress and releases here:

About Band Protocol
Band Protocol is a cross-chain data oracle platform that aggregates and connects real-world data and APIs to smart contracts. Blockchains are great at immutable storage and deterministic, verifiable computations — however, they cannot securely access data available outside the blockchain networks. Band Protocol enables smart contract applications such as DeFi, prediction markets, and games to be built on-chain without relying on the single point of failure of a centralized oracle. Band Protocol is backed by a strong network of stakeholders including Sequoia Capital, one of the top venture capital firms in the world, and the leading cryptocurrency exchange, Binance.

Website | Whitepaper | Telegram | Medium | Twitter | Reddit | Github

--

--