GET IN TOUCH

To give you the best possible experience, this site uses cookies. Using this site means you agree to our use of cookies. More information is available in the INN4SCIENCE LLC Privacy Policy. Learn More

Cryptocurrency exchange full audit


The way to success begins with a thorough testing

Our latest project was a full audit of a cryptocurrency exchange. The client has contacted us, as an outsource team to conduct an investigation of his platform. While he had difficulties of examining his service and had issues in managing, as there was no following documentation prepared.

It’s a good practice to conduct full-fledged testing, code review and prepare the following documentation by an outsourced team. First of all, the team created code has seen it a million times and therefore cannot adequately estimate how good it is, if it doesn’t have errors. Secondly, a third-party would be more critical and may be fairer. Finally, another team can be stronger in various aspects, for example, security.

2020
img
2020
img
Key Objective

The Challenge

The client requested to implement code review, conduct testing, prepare recommendations and draft corresponding documentation. And actually, the most challenging part was the lack of documentation for the crypto exchange. Thus the test team couldn’t know for sure how the platform should operate. Therefore, several tasks were reviewed only with a little understanding and mostly on basic knowledge of similar platforms.

Another issue was the preparation of the documentation itself. Not only our team needed to conduct the full-fledged investigation but to draft a user story and technical manual. We were responsible for making adequate analysis, reports and drafting amendments proposal. And the team managed to fulfill the goal perfectly!

Technologies

The Technologies

To perform testing we have used several devices and operating systems to ensure having the full scope of issues. Among devices for testing were Windows 10 (64 bit) & macOS Mojave (10.14.6), browsers (Chrome 74.0.3865, Firefox 69.0.1, Safari 12.1.1), ​Android (7-9) with Chrome browser 77.03865 & IOS 13.1.2 on iPhoneXS max and iPad Pro 3.

For conducting load testing our team used Jmeter. To increase the efficiency of manual testing we have used Test Data, which is creating data sets. And finally, the Go framework was used 
to perform unit and integration testing.

img
img
Summary

The Result

We have prepared documentation, bug report summary, and code review summary. As well as we have prepared recommendations document with several amendments to improve the usability and functioning of the system.

Including:

  • — Creation of a mobile application
  • — Localization of the platform into several languages
  • — Migration of architecture into microservices
  • — Rewrite the code using Go language
  • — Optimization of Nginx, MySQL, PHP-FPM configurations
  • — Urge to use Redis
  • — Review of SQL queries
  • — Replacement of sessions with a JSON Web Token (JWT)
  • — Need to purchase two separate servers
  • — Necessity to run PHP-FPM+Nginx and MySQL separately