What is Moralis?
Before we get into the specifics of Moralis implementation for the Tryhards project, let’s talk about what Moralis is generally and what it is used for.
Moralis is a multi-chain, serverless development platform, that provides “ready to use” tooling for building dApps including authentication with a web3 wallet, getting instant access to all the on-chain transactions, tokens,s, and NFT balances simply through the Moralis database, getting real-time on-chain events, handling asset transfers and many more. You can view the full Moralis documentation here: https://docs.moralis.io/introduction/readme
Why We Used Moralis to Build Tryhards?
Tryhards is an NFT based play and earn online shooter game. It is based on the Polygon network. All in-game items are NFTs. Users can open Lootboxes; earn Crystals; buy and sell Fanatics and Weapons on Tryhards NFT marketplace. We also created an ERC-20 token – TRY and a TRY-Matic liquidity pool that users can stake in.
You can read the full case study on Tryhards here: https://redberry.international/project/tryhards/
Cutting down the go-to-market time was essential for Tryhard’s founding team. That was the initial reason why we proposed to build the product using Moralis. It enabled our team to focus on building the essential features of the dApp without the need of taking care of the basics of backend infrastructure, blockchain parsing, wallet integration, etc.
What is more, Moralis is a cross-chain solution meaning that the dApp can easily be ported to many other EVM compatible chains including Ethereum, Binance Smart Chain, Avalanche, and Fantom.
What Were the Limitations?
Even though we have already mentioned the essential benefits of using the Moralis platform for blockchain app development, we came across some limitations while building the Tryhards project.
When we started working on Tryhards, Moralis was still a freshly released platform, an alpha version, so it was not yet stable. That’s mainly why we came across some challenges during the process. Let’s discuss those limitations in more detail:
Moralis has a Triggers feature, which emits an event once there is a transaction on the blockchain side. This works perfect when server is running idle. But, if you deploy fresh code, restart the server, or will just have some issues in the codebase that stops code execution for some time, the triggers might fail to work, which means that you will miss events. You need to implement your own logic to ensure that on-chain events are not being missed.
You can not yet use custom domains on Moralis (as developers said, this feature will be introduced in the nearest future). Moralis will give you the xyzxyzxyz.usemoralis.com subdomain and you need to use that.
Deploying new code to the server needs approximately 30 seconds (depending on server configuration). This is not much of a problem if you plan to deploy new code once per month but when the application development is in active phase, you might end up losing substantial time because of it.
At the time of building Tryhards, you could not run the local version of Moralis. Moralis is a closed source platform. This means you are not allowed to view its codebase, access the server, or run a local deployment server. It also means you are not able to use step debug on Moralis. So you need to always deploy code to the server and test it there.
The documentation also missed information for some use cases, making it difficult to solve some issues.
However, the Moralis team was exceptionally helpful in overcoming the challenges we experienced. Their response time was incredibly low, enabling us to fix problems promptly and be swift in the development process.
Another thing worth mentioning is that we created a pretty massive project on Moralis with a lot of features (NFT marketplace, staking, NFT inventory management, etc.); thus, we used Moralis to its full potential. Many projects are unlikely to encounter at least some of the issues we did because many of the problems have already been resolved.
Would We Use Moralis For Future Projects?
Moralis is an absolute game-changer when it comes to the speed and ease of building web3 applications.
The platform is in the active phase of development and bug fixing. The team has recently been introducing new features like IPFS file storage and DeFi liquidity pool management.
Over time we expect Moralis to turn into one of the essential tools in the blockchain application development technical stack.
Written by Keti Getiashvili
Based on an interview with Konstantine Milorava, Archil Vardidze