In the blockchain development industry lot of new technologies had arisen in the latest months. Unfortunately, most of the new platforms are not ready to use in real world production enviroment, or directly they were built only to develop Demos.
Our developers in Coinfabrik have been struggling to use them in the real world. Our customer asked to use Hyperledger but our initial tests were not successful. It was difficult to make the blockchain work and the smart contract platform is not ready yet. Therefore, the only available option was an Ethereum based blockchain since the EVM is the only one able to run smart contracts out of the box. We first tried Monax Eris but they provide docker images which we were not able to make it work on AWS and also they did not provide a permissionable smart contract store. Then, we started testing JP Morgan Quorum platform for this blockchain software development project. To start, we solved the AWS issue, also present in Monax Eris.
In addition to this, we found that Cakeshop, Quorum’s smart contract deployment tool, was not working fine. It was able to publish only small smart contracts but we needed to develop some bigger ones and it did not work at all. In addition to this, Quorum does not have a Web3 like interface so the interaction with the smart contracts was very hard. Monax Eris provides a different API which is richer than Quorum interface.
Finally, we started testing our own Private Ethereum Blockchain. We had to solve some gas price issues to avoid ‘out of gas’ issues, PoW difficulty adjustments and some issues with Solidity versions but it mostly worked. The problem we found when relaying on a smart contract for all the website functionality is that everything was slower than we were expecting, user interaction was not fluent. That is why we had to adjust the complexity to generate blocks every second or faster, which ended up in a very fast blockchain storage grow. We fixed it modifying core code to trigger block creation in a different way. This problem is not present in Monax Eris since they use Tendermint which generates new blocks when it is necessary.
Private Blockchain development technologies are very immature and are not ready for the real world. Each small task requires a lot of time and adjusting the platforms is not straightforward and there is almost no documentation. I hope Enterprise Ethereum Alliance can fix the platform to use it for enterprise use.