Dear readers of the Development Update,
how does one know that what you’re doing is correct? If your lawyer or your doctor asks themselves this question, that might cause you to worry about you choosing them for the task. But these professions have been around for quite some time now and have well established rules and guidelines for their work. Software development however is still young in comparison and apart from some “best practices”, we have little to show for to convince ourselves that what we’re doing is going to work in the long run. Compare that with architecture — there are buildings that are hundreds of years old and are still safely being used today!
Of course, if you are developing a little game or a pizza delivery app, the worst case damage that a mistake can cause is somewhat limited. But software that moves around other people’s money is a different beast. So at the risk of sounding like a broken record (which I know a lot of the DJs at Chainflip dread… broken records I mean, not me voicing my opinion), I believe that testing is imperative!
Testing can come in all forms and shapes and we are fully committed to embrace all of them.
- The Chainflip Bouncer is coming along nicely and keeps surprising us with little edge cases and insights about our system.
- Another way of testing ones work is to have someone completely uninvolved look over it. As you may already know, we are currently in the middle of a secure code audit and a team of industry experts is sanity checking every line of code right now. While they have pointed out some more “best practices” that we can adopt and discovered a few juicy little things, the overall impression is very favourable for us so far.
- In order to get the most out of the community feedback, we introduced the “Chainflip Smooth Operator” program. This will help us to more effectively identify and resolve issues that appear on our perseverance testnet. You can read all about it in the corresponding community update post here.
- We also took a more holistic approach on ensuring quality and are exercising our annual 360 review process. The focus here is not on the software that we develop, but on ourselves. Receiving feedback, praise and suggestions for improvement from our peers can help us become better both as developers and as colleagues.
- Avid Twitter users will already know this: We performed our first Bitcoin swaps, going back and forth between BTC, DOT and ETH!
- We were able to significantly simplify the access control logic in our smart contracts, leading to a reduction of 5-10% of gas fees!
- Going forward we will focus on developing our SDK and APIs, which will make it easy for other projects to integrate Chainflip as a swapping and cross-chain messaging platform.
- As a result of some of the feedback in the 360 reviews, we will try our hand at running a SCRUM-style process to keep track of the development work
- Based on our past experience and the community feedback we received, we have decided to revisit the naming conventions for various parts and processes in the Chainflip ecosystem. Is it a “Swap Intent” or a “Swap Pipeline”? Do we “transfer” or “deposit” funds? We overcame the temptation to introduce names like the “Chainflip Token Orifice” (mostly because CTO already has a different meaning), and “App Chain Account Broker” (for similar reasons…). In the end we were quite happy with most of the new names and the fact that they should be much more intuitive for new users, but we’ll continue to think about them until we feel we’ve found a sweet spot.
The long easter weekend helped the Chainflippers to relax a bit and the weather thankfully played along. That also allowed me to follow up on a promise I made some time ago and take Simon and Nick on a flight over Berlin. We made our way overhead the Chainflip Office and landed on a small gras strip outside the city, grabbing a coffee and watching some vintage airplanes sparkle in the sun. Simon’s eyes stopped sparkling when our aircraft engine refused to start for our return trip, even though I had strictly followed all checklist items. This is a typical problem with engines that were designed in the 50s, but in the end we managed to get it running again and headed back. I guess there is some morale in this about how reliable critical things in the real world can be and how far testing will really help… Of course that won’t discourage us. More colleagues have already asked to join me for a flight! Vibes are good!
Until next time,