One of the biggest problems for software companies making SaaS apps is keeping track of how much it costs to make and maintain them. The financial commitment required can quickly get out of hand, especially when it comes to forming engineering teams, hosting infrastructure, and purchasing software licenses. That's where Laravel Wave comes into play.
2019-10-014 min read
TROUBLESHOOTINGS
Twenty years ago people knew nothing about blockchain, but now this entirely new way of storing data on the internet has already turned the IT world upside down. I’m sure you’ve heard about blockchain or maybe even worked with it.
For most people blockchain is just something related to bitcoins. However, technology has groundbreaking potential to become a key business focus not only when it comes to cryptocurrencies. Its capabilities are growing and this global platform is expected to revolutionize all industries even such as medicine, banking, online shopping, manufacturing, and social media.
The reason why blockchain is becoming more popular lies in its security. To put it simply, blockchain is a chain of blocks, each of them having a timestamp, a link to the previous block and the copies of the same data that are stored on different computers. Every record that is written on a blockchain is secured by a unique cryptographic key (aka wallet), making the blockchain and its information unchangeable. What is more, all the transactions are transparent so everyone in the network can see them.
We got to know more positive attributes of blockchain when we began the development of SteelTrace project, where it was used for processing smart contracts. Since we didn’t start from scratch, we had already existing blockchain services to work with. They were written using ethers.js library that had many features and was useful for the website.
For SteelTrace not only a website but also mobile applications were developed. Then the problem has occurred: all the encryption and decryption algorithms were written in JavaScript so the mobile phone could not process it as fast as a computer. It could take up to 10 minutes to process each smart contract. Too much time to waste, and we realized that we need to solve this issue and started our research.
As it turned out, the problem wasn’t something completely new among engineers. We could see a lot of discussion over this topic and found out that the new update of the library is planned but still nobody knows when it is going to be released. We couldn’t and didn’t want to wait. We knew that there should be one more way to resolve an issue, and that’s when SapientPro came up with own solution.
At first, we had an idea to move all the processing to server. In such a way we put security under great risk because if all the operations are encrypted directly on the mobile device, there is no one who can change or delete the data except the owner. We decided not to sacrifice security for the sake of high-speed processing and eventually chose another solution.
We realized that the problem should be solved inside the code. Our team came up with the idea to write the encryption and decryption algorithms using native languages for various platforms (Java for Android, Objective-C for iOS). We found a necessary lib and customized it according to the demands of our project.
By rewriting some code using React Native, we could reduce the waiting time from 10 minutes to 20-25 seconds by not putting the security at stake.
SapientPro feels motivated to develop and grow when working on interesting and challenging projects, like SteelTrace. If you need any help with developing your startup, website or application, be sure that our team will assist you on that, just send us mail, all the rest is on us!