Dispatch Developers Update 9 — Radical Transparency
New year. New Mainnet. Now what?
We want your opinions. I’ve got a lot of ground to cover in this update, but first and foremost I want you to know that we’re looking for your perspectives, opinions, and involvement in the future of the Dispatch protocol.
From now on, we’re recording and sharing our weekly planning meetings. We constantly making decisions about the future of the Dispatch protocol, but these are decisions that effect you too. Please watch and let us know if you agree or disagree with the direction we’re heading. You can join our Discord and chat directly with us directly anytime.
Huge thank you to the patient developers actively giving us feedback over on our Discord (shout-out the amazing Arsenie Ye in particular).
Here’s the quick rundown of what’s been going on since the last update
- 🍾 Our Mainnet went live 4:06 p.m. Pacific Standard Time on Monday Dec 3rd 2018
- 🐞 An awesome Dapp developer found a bug in in our Disgo repo
- ✅ The Bug is officially patched on Mainnet as of January 3rd
- 😲 The first Dapp on Mainnet has over 1,000 users already!
- 📑 BlockHunters has finished our security audit!
- 🛠 Currently testing System Update code to make future code changes easier
- 💻 Currently working on fixing the Scanner’s Execute contract function
Mainnet is live
We’ve already written about this awesome accomplishment in our post Authentically Bold, but for those of you who haven’t heard the good news, the Mainnet is fucking live!
Big thanks to all the friends and advisors who showed up to help us celebrate the big occasion. I had this moment of “It’s live😃” followed by a moment of “Oh my God, It’s live😳” So this is where it gets really real. The stakes are a lot higher, but so are the opportunities. It’s going to be a fun ride.
ABI Duplication Bug Found in Testnet
Our Testnet went down the evening of December 18th, 2018. Upon further investigation the cause was a bug in the Execute Transaction API that was saving a duplicate of the entire ABI of the smart-contract on every Execute call. The result was that, with minimal Testnet resources, a developer managed to bloat the ledger to the point of running out of disk space on the Delegate machines, and leading to the corruption of some of the Delegate DBs.
After much research and deliberation (and over the holidays), we decided the Testnet in its current state no longer represented a ‘sandbox’ version of the Mainnet. On the morning of December 21st, we launched a the Dispatch Devnet, so developers could keep buidling over the holidays.
On January 3rd, we pushed the Bug fix to the Mainnet. Everybody warned me not to launch our product on a Friday (unless you like working through the weekend), but I wish I had thought about launching in December as launching on the Friday of the year. Lessons learned.
PureLand Launches on Dispatch
PureLand is a Dapp for environmental conservation that is already protecting 841.7 hectares of primeval forest cover in the Térraba Sierpe National Wetlands of Costa Rica. They are also the first Dapp to officially launch on the Dispatch Mainnet!
They’re still putting the finishing touches on the UI/UX, but they’ve been doing a great job at on-boarding their customers by distributing Divvy to the wallets of over 1,000 users! We’re excited to share more with you as the PureLand Dapp becomes public.
BlockHunters Security Audit
A little more awesomeness that happened over the holidays: our security audit was completed!
The BlockHunters team did a fantastic job of finding vulnerabilities in our code. Only a couple of critical issues were found, most of which involve malicious delegates. For security reasons, we’ll be doing a little more due diligence in replicating the vulnerabilities and evaluating their severity before doing a full public report on the results of our audit.
I have nothing but great things to say about the BlockHunters team. Kamil and Jakub are professional, communicative, and did a fantastic job looking for security vulnerabilities. If you’re looking for a security audit on the protocol or dapp level, I would highly recommend the team over at BlockHunters.
What we’re focusing on right now
Our current development efforts can be broken down into two buckets: 1) back-end functionality, and 2) usability.
- On the back-end side, we’re working on getting the code for Delegate updates tested/documented/and pushed to master. This code will make it easier for us to push system-wide updates and bug hotfixes in the future.
- As the System Update code is being wrapped up, we’re also working on Read-Only Execute functions. By skipping the gossip cycle on Read transactions, we can increase throughput of the system. And by not saving Read transactions to the ledger, we can slow the growth of the size of the chain as an added benefit.
- Finally (and arguably most urgently), we are working on fixing the Scanner’s Execute TXs with parameters bug. This will make deploying and using smart-contracts using the web GUI much easier.