BandChain Wenchang Testnet #2: How to Join as a Validator

Sorawit Suriyakarn
Band Protocol
Published in
5 min readApr 24, 2020

Excited to run your own BandChain node? The time is here BAND troopers and token holders! Join us in our mission to connect smart contracts to the real-world to power the next generation of decentralized applications. This is your chance to build out the BAND ecosystem. We’re only at the beginning of our reshaping of the oracle space, we will need your help and support to grow our decentralized community around the world!

Last week we shared our internal timeline and instruction for our genesis validators to join the Wenchang Testnet #2 as a guideline for our community to join us closer to the mainnet launch. That time has come!

We’re excited to share this guide as a starting point on how you can join as a validator on Wenchang Testnet #2. While this guide should be enough to get you set-up, feel free to message us on Telegram if you have any questions.

Validators who perform well or help Band Protocol emerge as a more resilient and secure oracle solution i.e. uncover attack vectors will have the opportunity for BAND tokens to be delegated for, after the official mainnet launch.

Register as Community Validator

👉 https://forms.gle/Giubtm8LCZwcHQnz9

Our team member will conduct an initial screening and personally reach out to discuss the next step.

How to run a BandChain Wenchang 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 Testnet 2 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 lastest 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: Request Your Testnet BAND Token

With everything ready, you will need some BAND testnet tokens to apply as a validator. Please send us an email with your address and we will fill your wallet with some BANDs. 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-testnet2

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

We look forward to having our community participate and run nodes during the final check before the official BandChain mainnet release. Thank you in advance to everyone that runs a community node — every effort on the testnet helps strengthen the decentralization and resilience of Band Protocol oracle network. Not only you will have a chance to receive direct support from us, you will have an opportunity to be our representative within your community. You will be one of the first long term supporters that helps us grow BAND members around the world, and together we can enable smart contract to seamlessly and securely connect with external data and APIs, enabling much more expansive use cases yet to come.

Developers! Don’t forget we have an ongoing hackathon alongside Cosmos & Agoric starting on April 20 and also a grant program for amazing dApps with great potential — let us know about cool things you’re building on Band Protocol, we’d love to support you.

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 | Telegram | Medium | Twitter | Reddit | Github

--

--