Over the past six weeks, we’ve been thoroughly testing our upcoming Cosmos-based BitCanna network. Together with 50 experienced participants, seven professional validators, and core BitCanna team members, we took a deep dive into the technology behind Cosmos.
Last Friday, we concluded the final contest in our final stage, Stage 5 (IBC Universe), in cooperation with Microtick, which marked the end of the BitCanna invitational incentivised testnet. We can now look back on a fantastic experience, and in this blog, we’d like to share the key takeaways.
Initial Invitational Testnet Goals
The goals for the invitational testnet were as follows:
🛡️ Secure the network
Increase the amount of validators in our network. Vote on proposals through governance, and secure the BitCanna blockchain.
📗 Educate and prepare validators
Teach our community what it takes to run a validator node in the BitCanna network.
🌻 Expand the community
Surround ourselves with a diverse and skilled group of people.
We documented our entire testnet structure on testnet.bitcanna.io. If you’d like a broad idea of what our invitational testers have been experiencing regarding instructions and information, make sure to take a look. Our upcoming Public Testnet will be published on there as well.
Stage 1 – Validator Creation & Environment
On June 7th, our network got off to a great start. During Stage 1, the focus was to create validators, get used to the chain, and fine-tune the environment. Fortunately, testing was a success, with every single participant (69) successfully spinning up his/her validator!
We already wrote about Stage 1 in this post. Go check it out if you’d like to know the details.
Stage 2 – Network Security
In Stage 2, we launched a new chain from scratch, together with the invitational testers—with them starting as a validator from block 1. The launch was amazing, with 59 of 63 validators raising the network without any delays, at the exact time that was planned.
Numerous hackathons have demonstrated and improved the stability and scalability of Cosmos. Almost all bad behaviour is punished in Cosmos, and without going into all the details, we wanted to know what problems we were exposing ourselves to if we moved to a new network with very low fees, or even no fees.
The goal for this stage was to flood the network with as many transactions as possible in order to analyse the impact on validators, our APIs, the explorer, and the network in general.
Some network statistics during Stage 2:
- 63 active validators
- 2 inactive validators
- 4 KiB to 97 KiB average block size
- 5.9-second average blocktime
- Roughly 1 million transactions
In the first phase of network flooding, we reached about 70 to 100 transactions per block. We discovered quickly that the scripts used to flood the network automatically ran into gas problems due to the nature of the chain, which is definitely a good thing.
Afterwards, we managed to spam the network by sending more effective concurrent transactions, without raising the gas. The network came to process up to 1,000 transactions per block (artificially forced by scripts from a few nodes). We know from other testnets that it can reach up to 5,000 without issue in an organic and distributed way. 96% of the nodes managed to stay connected to the blockchain without any problem. The impact on validators was minimal, but due to the astonishing amount of transactions, the explorer had some trouble keeping up.
Stage 3 Transaction Dynamics
Our developer team is currently dedicated to reviving the famous Lunie web wallet for the BitCanna network. We are in collaboration with the Tendermint team to make it fully functional for Starport-generated blockchains by sharing our issues and fixes.
During Stage 3, we tested our new BitCanna web wallet in an attempt to find as many bugs and security issues as possible.
This wallet will be one of the main differences from the current BitCanna chain for general users. No more lite wallet or full node wallet; instead, you’ll find a simple web wallet interface where you will perform transactions, vote on proposals, and earn stake rewards, all without running a live version of the blockchain. During Stage 3, we used Keplr as a secure login method for the web wallet, which worked like a charm. Keplr is a browser extension specifically focused on the Cosmos ecosystem. You can simply manage all your coins based on Cosmos within the extension.
On the other hand, we are glad that some bugs and feedback were raised during this stage, with most issues being solved as we speak!
Stage 4 Governance & Performing upgrades
The focus of Stage 4 was to perform network-wide upgrades. We launched a proposal to switch to a new version of Cosmos technology. Every validator managed to vote for the proposal using the web wallet, which also highlighted some additional wallet-related issues (which have already been tackled).
The goal of this upgrade was to have every validator update their node to the new version without halting the chain. To perform the update, we had our participants install Cosmovisor.
Cosmovisor is a tool used to automate updates by downloading the new binary from GitHub automatically. However, we opted to provide the binary ourselves to prevent a delay in block production. And so we did! The upgrade occurred on block 58,576, and as you can see in the image below, the blocktime remained at an average of five seconds, with no blocks being missed.
Stage 5 IBC Universe
Stage 5 was the most awaited stage by our experienced validators, and by the BitCanna team as well. IBC (inter-blockchain communication) is a very new feature rolled out by Cosmos that allows chains to interact with each other.
For this stage, we collaborated with Microtick, which also operates on a Cosmos-based blockchain. We established an IBC connection between our blockchains, which enabled us to test IBC transactions between both chains. We were able to successfully send BCNA coins to and from the Microtick chain, and TICKS to and from the BitCanna chain.
To finalise the stage, we ran a contest to use Microtick’s price discovery app to bet testnet BCNA coins on the Microtick chain. Utilising IBC, our coin managed to function flawlessly on another blockchain. A very smooth experience, and by seeing IBC in practise, it made us realise the endless possibilities of IBC even more.
Thanks to Stage 5, both Microtick and BitCanna were able to identify and solve a couple issues related to transaction sequence and relay timeouts.
The incentivised testnet provided the BitCanna team with an excellent opportunity to simulate some of the common processes that will occur in the mainnet. It came with loads of feedback by experienced Cosmos users that helped to optimise our network, in terms of both infrastructure and finding bugs and inconsistencies. As such, we were able to fine-tune our guides, which will be used in the future to educate new users joining our network.
To conclude, we’d like to highlight some of the comments and tweets made during and after the testnet by some of our experienced participants!
We definitely didn’t expect to receive so many compliments! Once again, thank you to everyone involved. We can’t wait to announce our final (public) testnet, followed shortly thereafter by our mainnet launch!