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.
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.
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.
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.
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!