Chainflip Development Update — May 28th 2021
with Tom Nash
Another fortnite has passed, luckily there have not been any major roblox in the past couple of weeks and I have mostly been able to get on with minecraft. There have been a couple of German holidays since the last update, so progress has been a touch slower than we would like, but apparently there are no more days off here til Christmas. Onward.
Progress Since Last Update
Research
Research into range orders has kicked off this week, don’t expect answers too quickly as we need to perform a decent amount of comprehension on the V3 whitepaper and codebase, but we’re taking the task seriously. It’s not something we need to be concerned with implementing until we get a bit further down the track, so we’re getting well ahead of it.
We should be finalising the list of slashing conditions for Sandstorm by the end of this week, which is one of the final pieces of the design puzzle for the first release.
Development
State Chain
Validator rotation edge cases are now mostly enumerated and handled. We’ll get a better understanding of how this is performing once we have an updated inhouse testnet (and some scripts to simulate activity on-chain).
We’ve punted the validation of schnorr sigs on-chain until we’re happy that the signature generation is appropriately unit tested.
Weight (fee) calculations are mostly complete, we’ll have to recalculate these once we’re closer to the deliverable, but we’re familiar with the process now.
Chainflip Engine
We didn’t quite hit our ambitious goal of having an autonomous network signing transactions this week, but that’s okay. Most of the work that’s gone into the Engine this last fortnight has been around testing and refactoring. Our ETH signing module is arguably the most complex single component of this initial release, so it’s worth taking the time to get it right.
Staking Web App
Most of our shared component library is now complete and ready for a lick of paint. We’ve also integrated Blocknative’s excellent wallet and transaction support libraries to ensure that users have the easiest time possible using the staking app. We should have the completed designs for this app pretty much exactly two weeks from now, and then we can start the polishing process in earnest.
There’s also a new Chainflip brand and website design floating around internally. No sneak peeks for now (send me a few sats and maybe I’ll break) but I promise you’re going to love it.
Infrastructure
Migrated everything to Kubernetes this week.
Ethereum
Lost a little bit of time last week debugging some error within Brownie, the development framework we’re using. No worry, we’re back on track now and cranking out some vesting contracts for early investors.
Goals for the Next Fortnight
Some quick bullet points about what we hope to achieve by the time the next dev update rolls around.
Development Goals
- [SC] Initial set of integration tests for extrinsics and p2p rpc
- [SC] Validator liveness pallet
- [SC] Permissions pallet (for scoping extrinsic access on-chain)
- [SC] Transaction fees pallet
- [SC] Emissions pallet
- [SC] Validate the generated Schnorr signatures on-chain (rollover)
- [ETH] Vesting contracts for investors (rollover)
- [ETH] Replay protection for ETH signatures (rollover)
- [CFE] State Chain tx broadcaster
- [CFE] ETH tx broadcaster
- [CFE] ETH signing edge case tests
- [CFE] ETH signing dishonest participant identification
- [APP] Component states enumerated
- [APP] End-to-end ETH transactions
General Thoughts
We’re definitely in the trenches now. The most important thing in these stages of a project is ensure we don’t get too bogged down in the details and that we stay focused on shipping. There’s still a lot to do, but the growth of the todo list is starting to plateau. Soon it will begin to shrink and the first of many finish lines will come into view.
Until next time.
Tom