BandChain: Wenchang #2 Testnet Launch and XFN Update

Sorawit Suriyakarn
Band Protocol
Published in
7 min readApr 14, 2020

Band Protocol is proud to officially announce the second testnet launch of BandChain Phase 0 after the success of Wenchang Testnet #1 which had over 2 million blocks mined with no reported downtime — marking the final step before the official mainnet launch.

With over 15+ top validators such as Cosmostation, Stakefish, Chorus One, StakeWithUs, Figment Networks, Infstones, Forbole, and more supporting the BandChain testnet #2 as genesis validators— we are designing this to be as similar to mainnet as possible. This will allow an array of stress tests to be conducted on the network while also ensuring that the network is decentralized from the first block.

First genesis block from testnet#2 with 15+ validators mining together

The first genesis block has been successfully mined at 2:00PM UTC on 14 April 2020. Validators help Band Protocol emerge as a more resilient and secure oracle solution with those who perform well, i.e. uncover attack vectors, will have the opportunity for BAND mainnet tokens to be delegated from the Band Foundation.

We’ve shared our internal timeline and instruction for our partnered genesis validators as a guideline for our community to join us closer to the mainnet launch which will follow a similar process. The following release is intended for developers or tech-savvy users to walk through the steps of running a BandChain node alongside our validator partners.

Previous Development Timeline

  • 6th of April 2020: band-wenchang-testnet2 was announced to our official partner. The canonical binary for running a node was finalized and a Github repository opened for collecting genesis transactions. (See Part#1 for instruction)
  • 2:00 PM UTC 10th of April 2020: All genesis transactions must be submitted. We distributed the genesis file on Github and testnet nodes are expected to be up prior to the first block. (See Part#2 for instruction)
  • 2:00 PM UTC 14th of April 2020: The first testnet block is mined.

Part #1 — Submitting Genesis Transaction 📦

Must be done before 2 PM UTC of April 10.

To participate in the testnet as a genesis block validator, you must sign and submit a transaction containing MsgCreateValidator message.

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 + Genesis Transaction

Once installed, you can use bandcli to create a new BandChain wallet address and use bandd to create your genesis transaction with 1000000uband (= 1 band) as the initial stake.

Do not worry that you only have 1000000uband as the initial stake. We will delegate a LOT of BAND tokens for you to boost your power in testnet💪

Step 3: Adding the Genesis Transaction to the Pool

Once step 2 is completed, you will have your gentx JSON file written at $HOME/.bandd/config/gentx/gentx-<...>.json. You can add your genesis transaction to the pool by submitting a pull request to BandChain launch repository under band-wenchang-testnet2/gentx folder. The simplest way is to copy the content of your JSON file and submit a PR using “Create new file” interface on Github.

The precious “Create new file” button!

Once your PR is approved and merged to the repo, you are done for the first part! Congratulations on making it this far.

Part #2 — Launching the Testnet ⚡️

Must be done after 5 PM UTC of April 10, but before 2 PM of April 14.

After all genesis transactions are submitted, now we are ready to spin up the testnet nodes! Follow the instructions below to get your node up, ready to take part in validating the first block!

Step 0: Upgrade Your Band Software to the Latest Version

Recently, Tendermint team released a critical security vulnerability patch. We advise node operators to update BandChain Wenchang software to the latest release (version 0.2.0-rc2).

Step 1: Downloading Genesis File + Setting Initial Configurations

Download the official genesis file (available after 5 PM UTC of April 10) from the repository and use it to replace your existing genesis file. 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.

You may also add other block validators as your additional peers. You can find the IPs of the initial validators in their gentx’s memo field in the genesis file.

Step 2: Running the Blockchain Node

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.

⚠️ Step 3: Verify That Your Node is Up

You MUST tail the log output with journalctl -u bandd.service -f. If all goes well, you should see that the node daemon has started successfully. Example logs are provided below. Once verified, you can stop tailing the log by typing Control-C.

... systemd[...]: Started BandChain Node Daemon
... bandd[...]: I[...] starting ABCI with Tendermint ...

With this, you should be set for the first testnet block on 04/14/2020 at 2 PM UTC! Once the testnet is live, we will begin delegating more BAND tokens to active validators while ensuring network stability 🎉.

XFN Update

We want to thank all the XFN & BAND token holders who have staked and enjoyed 30% inflationary revenue from the many query activities since our Ethereum mainnet launch in October and 5% inflation from the bonding curve. As such, XFN has been performing well above the launch price of 0.20 BAND to the current price of ~0.35 BAND per token.

As we move forward to the next iteration of Band Protocol, the XFN token will be deprecated after BandChain Phase 0 is launched. BAND tokens will be the only tokens used for staking to secure the network to allow for a much more flexible oracle script and better user experience for all stakers.

To avoid the rush to cash out from the bonding curve where there will be large slippage, we will allow everyone to redeem XFN at the current price at 0.35 BAND per XFN. The Band Foundation will subsidize an estimated cost of 150,000 BAND from the token swap to ensure that our community can redeem tokens at a fair price.

The tokens can be immediately redeemed through the governance portal while we disable the buying and selling of XFN. If you choose not to redeem immediately, you are still able to stake XFN for rewards until BandChain phase 0 is live on the mainnet.

Here’s a guide below on how to conduct the token swap.

Token Swap Guide

You can convert your non-staking XFN back to BAND with the following steps:

Step 1: Withdraw Your Stake from Data Providers

Go to the governance portal, available at https://app.bandprotocol.com, and login with your MetaMask wallet, and go. You should make sure that you withdraw your stake from all of the data providers.

Step 2: Go to Home Page and Click “Convert XFN to Band”

Go back to the home page. You should see “Convert XFN to BAND” button. Click on it to proceed to the next step.

Step 3: Click “Get BAND” to Swap Your XFN back to BAND

After you click “Get BAND” button, you should see a MetaMask confirmation popup. Once you broadcast the transaction and it’s mined, you will be receiving your BAND tokens in your wallet.

What’s Next?

Wenchang Testnet #2 marks the final check before our new mainnet release and will be letting this testnet run for the next few weeks with our set of leading validators as we onboard exchanges, wallets & more ecosystem players for Band Chain.

Developers! Don’t forget we have an upcoming 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 decentralized oracle framework for Web3.0 applications. Band Protocol connects smart contracts with trusted off-chain information, provided through community-curated oracle data providers. Blockchains are enabled to connect to any web API with assured data integrity through dPoS economic incentives through one simple function call. Developers using Band Protocol will be able to easily build and manage off-chain oracles, reputation scores, identity management systems and much more.

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

--

--