Dev Diary: September 2019

More leaps behind the scenes in development

Amidst a rocky few weeks in the cryptocurrency market, the Dimensions Network team has been busy cruising ahead by preparing our exchange to impact the market with its unique features and tools for traders of all sizes, from everyday traders to institutional clients.

This crucial development phase will pave the way for an effective and successful MVP, and limited public release. Explore further to see what we've been working on.

GENERAL STATUS AND ROADMAP

As per the current roadmap, August and September 2019 are marked for some product releases i.e. the MVP platform and the limited public launch. Work has been ongoing behind the scenes, but the reality is that these releases will have to be postponed until everything is ready. The team is busy with some in depth development activities, and will take a break to update the roadmap shortly.

The team is very aware that many of our community members have been looking forward to these releases, so we apologise for this change. There is only so much a small team can do with limited funding, and where resources are spread thin. With that said, the focus remains on getting as much as possible done with what is available. Progress is being made and the limited launch is much closer to a reality than previously.

GETTING READY FOR FULL DEPLOYMENT - 1 Click Installer

As mentioned in our last dev diary, we were working on a 1-click deployment facility for the full exchange platform. This involved dockerizing modules, and building the appropriate software to build, launch and manage each module. We have completed the initial build of this installer, and it is now possible to setup the full exchange on a blank server in less than 10 minutes.

As additional exchange modules move from the development stage to the completed stage, we will simply add them into this installer, and then push the update to everyone in our development team. This will save a huge amount of time discussing, troubleshooting and understanding new modules, they will simply just work.

To further speed up general development, our team has completed multi-environment testing for this 1-click installer and put in place detailed development documentation. At this time we have successfully tested and deployed into the following environments:

  • Linux - Ubuntu / Centos
  • Mac OS
  • Windows 10 (Insiders Program: WSL2)

This means that we can actively develop in any of these environments, and all development updates are immediately shared to everyone in the team.

GETTING READY FOR FULL DEPLOYMENT - Administrative Tools

As also mentioned in our last dev diary, we have been building management / administrative tools for the exchange. This includes everything from high level User management, to managing cryptocurrency nodes for processing deposits and withdrawals.

Security is our greatest concern when building administration tools, and we have chosen to entirely segregate this from the public face of the exchange, far out of the reach of potential attackers. We have completed the environment for the administrative tools and are internally reviewing the authorization process to ensure that everything is as secure as possible. Once complete, we will look into a 3rd party audit of our approach and the manner in which it is implemented.

DATABASE REPLICATION

We have completed the initial database table migration from our exchange to a secondary archive database. This secondary database serves as a read only repository of all user and trading data and can be used for complex data analytics, without adding any load to the main exchange. The current function of this replicated database is:

  • Long term data archive
  • GDPR report generation
  • User reporting - Historical activity: trading, deposits, withdrawals etc
  • Public historical data
  • Data analytics

As additional features are added to the exchange, we will assess their importance (priority) and assign them to the appropriate database. With this replication system in place, we can simply create additional database or sub database duplicates for any special use cases that may come up in the future.

AUTOMATED TESTING

At the start of our project we prepared a number of automated test cases to verify the correct operation of the exchange matching engine. As the exchange platform has grown, we have felt the need to revisit these test cases, and add substantially more automated tests which verify that everything works as it should. Some of the automated testing we are working on include:

  • Exchange matching engine: Make sure all orders execute correctly
  • Database operation: Make sure the databases are up and running, and can be read from and written to
  • Cryptocurrency node operation: Validate the sync status of our nodes against the rest of the network
  • User registration and login: Verify that users are able to access the platform

There are many other areas of the platform which we are looking to perform automated testing on. The goal is for us to find any issues before it can impact our users.

CODE REFACTORING

Refactoring continues on all active modules to simplify our code and keep things as efficient as possible.

WATCH THIS SPACE

So what's around the corner? Well, we'll be turning our attention to finalising the administrative tools, completing the user settings and reporting feature, and then a final review to tidy up all of the loose ends. Once the above is complete then we will take a major step forward and launch our much-anticipated MVP.

As always, we thank our community for being so supportive. Check in regularly - we're always here to chat about the project - and stay on the pulse when it comes to a busy and exciting end to 2019 for the project.

Thanks for being a part of our community!

Dev Diary: September 2019
Share this