district0x Dev Update - May 12th, 2020

Development progress and product changes from district0x

Published in
3 min readMay 12, 2020

--

Spring cleaning is in full swing here at district0x as we have spent the last few weeks cutting various services down to size while pressing forward with new development. Ethlance’s remake has received steady progress to the front and backend. The District Designer was forward planned and diagrammed. And thanks to recent updates migrating us to Infura, we’ve begun to vastly shrink our old AWS instances. We detail more below.

d0xINFRA

Over the past two months or so, we’ve been battling a collection of minor annoyances brought about by our previously mentioned migration Infura-based nodes. The worst offender was an intermittent websocket connection drop we’d see on our node. These would occur seemingly randomly after a week or two of uninterrupted stability, and was something we were struggling to reproduce and investigate.

After more closely examining what was happening through past connection logs, we would get these hard disconnection attempts immediately after successful reconnection attempts. This implied to us that we were being too aggressive when trying to re-establish connections, so we implemented an exponential backoff of reconnection attempts to prevent packet collision and resolve these problems.

Alongside this, we were able to rearrange some rules in our VPC and cloud networking to deal with spam attempts we were seeing. With these changes in hand, we’ve been able to complete close out a bunch of AWS and elastic instances, shrinking our footprint and monthly upkeep rather significantly.

Ethlance

Ethlance development continues along the slow and steady front. Our GraphQL calls for the frontend are done, and now the rest of the pages linking our Reframe and GraphQL modules are in progress. The majority of these are done, with only the “New Job” and “New Invoice” pages left to link as of this post. After completing that, we’ll be going back to the data generator to being to stitch together the application.

On the backend, most work being done involves re-checks and slight refactors of our smart contract events and event store systems, as well a small reimplementation of the authentication system for Ethlance. With some deeper understanding of our final technical vision for our event store, it was necessary for us to rerun through all our code to ensure an atomic nature to each event — where they either create a transaction or a mutation, but never both.

The District Designer

In our last update, we shared a rather massive undertaking in the form of our wireframes for our newest application. Since then, we’ve begun to outline and research the technical implementation for what we laid out in those images. This began with some research surrounding OrbitDB as a potential decentralized datastore for an application that would otherwise be more centralized than our previous offerings.

We created our first model of the database scheme, and also generated some relational diagrams. From here, we immediately moved on to the smart contract model, planning on designing it as a public interface for now and leaving specific implementations for later. Core modules, token modules, marketplace and TCR modules have all been prepared with relationships between contracts and events all outlined. Future weeks will be dedicated to specific implementation, as well as getting our design assets back and refining them through a second pass.

A quick look at one of the most basic schematics we’ve planned in the past few weeks. Find more at https://github.com/district0x/district-designer

The coming weeks will include much of the same progress on the initiatives listed above, with more research and forward planning going into the District Designer and more of the pieces of Ethlance being linked together leading to a testnet QA instance. We look forward to sharing those updates with you!

Learn More

For more information about the district0x Network:

--

--