Chainflip Development Update—September 3rd 2021

Another fortnight, another flag flies above Fort Flip.

Chainflip Development Update—September 3rd 2021

Another fortnight, another flag flies above Fort Flip.

Progress Since Last Update

Research

Several hours have been spent in the past few weeks trying to work out a solution for fully refunding Validators for their account-based chain spend. It's a bit of a wonky one, because gas spend isn't deterministic due to the way that the EVM refunds gas for freeing up storage slots. Ideally Validators don't have to top up their ETH / BNB / etc. balances at all after setting up the initial wallet, so we'll keep digging to see if there's something workable. Worst case there's a tiny maintenance burden on a small set of Validator operators. Worse things have happened to better people, as my mother would say.

Development

State Chain

Vault rotations are now merged in, our State Chain is now concerned with every step of the process, instead of the previous concept-proving version which was extremely trustful. We've also got reputation penalties in there, and the initial version of governance is very close to completion. The next couple of weeks we're working on some of the finer details with regard to Backup Validators.

Chainflip Engine

The Message Queue is mostly gone (hurrah), just a few more stitches to unpick.

Unfortunately we canned the idea of the internal testnet for now. Since the first attempt to get one up and running, we've been merging in new features to the repository which have resulted in some feature divergence between the CFE and the State Chain. We're now going to proceed with getting to a feature-complete state for the Sandstorm release before we spend cycles getting an interim testnet going. The good news is that the first testnet should be good enough to be a public one.

Staking Web App

Condensed some of the staking app functions, which means we can remove a page which was lacking a bit of love. The app should be a bit easier to use now.

Ethereum

After merging in the (kinda-ok-but-not-perfect) refund code, we're now just working on upgradability.

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] Backup Validators
  • [SC] Transaction request/response abstraction (rollover++)
  • [SC] Ensure CFE knows which key to sign with
  • [CFE] Finish signing process refactor (rollover)
  • [CFE] Migrate p2p code from MQ to Channels
  • [CFE] Allow CFE to run in non-Validator mode
  • [CFE] Vault support in CFE
  • [WEB] QA Staking App (rollover)
  • [WEB] Migrate Block Explorer to Subsquid

General Thoughts

Progress is steady, I'm extremely keen to get to a feature complete state in the next couple of months, before the big refactor and test work comes through. Really excited to share what we're building, it's going to knock the punks right out of your wallet.

Until next time.

Tom