district0x Dev Update - November 12th, 2019

Development progress and product changes from district0x

In the past two weeks, development of the district0x project was relatively bi-modal. On one hand, we spent a considerable amount of time deep diving and troubleshooting some relatively minor, but elusive issues with the District Registry. On the other hand, we made rather sweeping changes to both our entire Web3 library as well as our continuous integration pipeline, changes that will eventually propagate across all of our applications. Excitedly, after hammering out one final issue, we are nearing the public launch of the District Registry.

Meme Factory

Last update, we shared our newest feature for the Meme Factory application — a “NSFW” filter option which would allow meme creators to label their memes as not-safe-for-work, and allow browsing users to filter out these memes from the marketplace or registry lists. This change was deployed and pushed live in the past two weeks. However, the behavior we expected to see from our QA testing was simply not happening once the changes were deployed to our mainnet instance.

It took pretty extensive troubleshooting to figure out where the problem lies. We had to audit a large portion of the production server to see where it may be differing from the QA server. After a bit of searching, what we found is a bit more abstract of a problem. Essentially, while the logic surrounding the filtering of tags was working exactly as predicted, some quirk in our production server was preventing ALL tags from being correctly ingested into our database whenever we resynced— so the logic had nothing to act upon. With this problem now fully understood, we’re proceeding with fixes currently as we reproduce the issue locally.

Additionally, as mentioned previously, we have deployed a series of web3 library updates to bring our web3 integration to the 1.0.0 standard on our QA instance, and have been conducting testing to ensure these changes will fold into to other applications without issue. Alongside this, we cleared roadblocks we encountered via the use of Travis by instead reimplementing our continuous integration pipeline on CircleCI. Essentially, Travis wouldn’t allow us to reliably use hierarchical builds from docker images, which was troublesome and required constantly manual tweaking in order to deploy through Truffle. Our new setup instead checks for all latest image versions in the hierarchy whenever we deploy for BOTH our QA and production servers.

District Registry

The District Registry has been in the home stretch for the past few weeks, but has been blocked on testing progress by a minor but elusive issue. Essentially, when a challenge is active, users are able to vote for or against it. But, the buttons to actually fire off the vote transactions remain disabled until a “valid” amount of DNT to vote with is typed into the box. The way we were parsing balances from the metamask connection was resulting in a weird decimal place error, meaning the vote buttons would remain disabled even whilst a valid number was typed into the form. This has since been fixed, and we’ve proceeded to run through the entire application once more.

At this point, there are only a few very minor issues like to clear up, and we will begin launching the application to Ethereum Mainnet.

Ethlance

Ethlance 2.0 has been on the back foot of development while we race to wrap up the District Registry’s launch. However, this has not stopped us from making some progress in the past two weeks. Of note, we’re continuing to work on Ethlance’s scrollable components. Picking up from where we left off before, we realized the the direction we were choosing was great on desktop, but dreadful for mobile development. As a result, we did some research and ended up finding a Reactive library called simplebar-react. This library is written in Javascript, and so we need to repackage it in CLJS for our purposes. This is the direction we’ve been working towards in the past week.

In all, although there was a bit of tail-chasing as we hunted down several bugs, these past two weeks have been full of steady progress towards our larger vision. With the advent of the District Registry, we will establish a new de-facto hub for perusing and using the district0x network, and we’re eager for this new era to begin.