Happy new year everyone! Since my last blog post I've managed to implement the alternate network design I proposed.

Phone client design proposed in update #79, now implemented and functional

The major hudles where as follows.

Turns out Ipv6 multicast sockets need to be rebound on all network change events AND on a timer in order to work consistently. Getting Android to route your app over WiFi networks that aren't detected to have internet is possible in a limited since that's good enough to complete (1). But not good enough to go back to our original design. There are 8 possible connectivity states between the phone and router. Handling every one correctly took some doing.

I'm glad to report that everything works as expected and after some tweaking It's quite the smooth process to turn on and off.

The next major implementation step is to get into the billing code. I'm significantly less concerned about this portion of development because there aren't going to be a huge number of suprises to shake up the time line. Having a phone send transactions and act as a cryptocurrency wallet is something that lots of peole have done before and also something that doesn't need to interact with Android's restrictive network stack in any non-traditional way.

I hope to have a version with working billing out by mid January. This will be a generally usable Alpha build and at that point I will make a call for testing.

Multi-Collateral DAI upgrade

We successfully updated the routers in our various networks to MCD or 'multi collateral DAI'. The DAI stable coin works to maintain it's $1 = 1 dai exchange rate by using colateralized debt positions and up until now these positions where exlcsivley held in Ethereum. With this upgrade that is no longer the case and DAI is now backed by a mix of currencies.

Credit to the POA bridge development team for making backwards compatiblity happen with their bridge upgrade and saving us from a risky holiday deployment.