Ethereum, being one of the most popular blockchain-based distributed computing platforms, offers a wide variety of applications not only in the financial sphere but for any type of business where transparency, trustless data retention, and cryptographic proofs can help combat traditional scalability barriers. However, it still has a very high entry barrier when embedding it in your business, as well as less than optimal performance which makes it unsuitable for speed sensitive real-time applications.
Our client, Aerum, had an idea to create a blockchain platform that is reliable, fast, and free for the end user, while still being 100% compatible with Ethereum.
Aerum wanted to create a way to adopt and integrate blockchain solutions with maximum efficiency and minimal effort. The project would not rival, but instead complement Ethereum, being 100% compatible with it on a dApp and smart-contract level while offering in its basic form about 350% better network throughput and reaching transaction finality after 10 seconds. The system includes:
- Full integration with Ethereum for easy and secure token transfers (on-chain/off-chain atomic swaps).
- A highly decentralized consensus algorithm.
- Decentralized token exchange.
- Fully-developed software integration toolkit for users/merchants, dApps, marketplaces, and various liquidity providers.
Aerum had an ambitious goal and concluded the research and analysis step, releasing a white paper with the platforms specifications. Exyte came on board during the development phase as a Solidity-based smart contract developer. The project was moving very fast, which posed a number of challenges to us. These challenges included:
- Adopting a development process to quickly test out prototypes while retaining a high quality codebase.
- Optimising performance, especially for deployment.
- Quickly finding a way to update already deployed contracts.
Testing out a lot of different implementation approaches was essential, and eventually the dev team settled on a 1 week cycle. It included daily discussions about the desired changes, quick prototyping and testing, and in case the change was deemed beneficial, test coverage and main codebase integration.
There was a problem with newly introduced code, which would not perform as fast as we wanted. We learned that some of usual approaches don’t translate well to Solidity contracts where performance is crucial. For example, we switched from an object-oriented approach to using custom highly efficient algorithms on row data arrays, and in the end saw a 2x improvement of deployment cost and 3x improvement of execution cost.
Updating deployed contracts
During development Aerum decided to provide the ability to update already deployed contracts. We researched all available options and in the end chose ZeppelinOS. It’s a great system with a reasonably easy API, but nevertheless including it as soon as possible proved to be a challenge.
Exyte was a part of a project for 7 months, during which our team implemented a number of the infrastructural smart contracts powering the core of the Aerum, as well as providing general input to the overall performance and stability of the system. Aerum was pleased with our contribution, saying our team member was a "very skilled Solidity developer with a wide array of knowledge."
Just recently Aerum launched a crowdsale round, raising money to continue the development and introduction of new features.
«Exyte delivered a superior quality app by applying their expertise and adhering to guidelines. The user-friendly app garners positive feedback and serves as a solid tool for raising capital. In addition to designing a complex app, the team offers responsive communications and affable collaboration.»Read more on Clutch