Pain Points as Terra Developer
This dashboard aims to provide insight into two possible pain points of a Terra developer.
Introduction
Developing applications is hard. It requires countless hours of coding, researching, teamwork and debugging. This is especially true for blockchain development, as the space is so new. This is also true for the Terra blockchain. This dashboard will analyze two specific pain points Terra developers (or developers that want to develop on Terra) could be having. This analysis will be done by asking three questions for each pain point:
-
What is the pain point?
-
How does it empower blockchains that do not suffer this pain point?
-
What are possible solutions for this pain point
Using these three questions we can hopefully provide insight into what it takes to solve these pain points for Terra developers.
1. EVM Compatibility
What is the pain point
For developers that have worked in the crypto space for quite some time, EVM compatibility is a big deal. EVM stands for Ethereum Virtual Machine and can be thought of as a set of rules and an execution layer that facilitates the use of smart contracts on Ethereum. This means that EVM allows applications to execute their transactions on Ethereum. For a chain to be EVM compatible, it means that this chain is able to use the same program code to deploy existing Ethereum smart contracts.
Terra is built on the Cosmos SDK, which is an open-source framework for building public Proof-of-Stake blockchains. The Cosmos SDK is inherently not EVM compatible. This means that Terra is also not EVM compatible. This is where the first pain point for developers on Terra could lay. Many experienced blockchain developers have built smart contracts on Ethereum. But without EVM compatibility, many of these developers are reluctant to deploy their application on the Terra Network, as it requires rewriting the application, while also dealing with expensive and time-consuming smart contract audits. Of course, this is not such a pain point for developers writing their first application on Terra but more for more experienced developers that have built applications on Ethereum. Terra not being EVM compatible makes the barrier of entry for these experienced developers quite high.
How does EVM compatibility empower ecosystems that do support it?
One example of an ecosystem that was really empowered by EVM compatibility was the Binance Smart Chain (BSC). BSC was the first blockchain ecosystem to become an alternative to Ethereum. When BSC launched, it supported all the existing Ethereum tooling coupled with faster and cheaper transaction fees. Because of the EVM compatibility, applications like MetaMask could also be configured to work with BSC. This allowed users to work with DeFi apps outside of Ethereum. All this culminated in massive growth for BSC when it launched, mostly due to EVM compatibility.
Solutions for EVM compatibility on Terra
One solution to bring EVM compatibility (partly) to Terra is a project called Ethermint. This project is a fully functioning Proof-of-Stake blockchain built on the Cosmos SDK, that is EVM compatible. Because Ethermint is also built on the Cosmos SDK, it will allow users of Terra to more easily interact with an EVM compatible blockchain. Of course, this is not the same as direct EVM compatibility on Terra. But with Ethermint, Ethereum developers can deploy their applications on Ethermint, with which Terra users can easily interact.
2. NFT API
What is the pain point
The NFT space on Terra is starting to grow with projects like Galactic Punk and Luna Bulls gaining more traction. More and more NFT projects are starting to be developed. This has caused increased demand for a universal Terra dashboard for all things NFT. This dashboard could include the most popular NFT projects on Terra, be used to verify ownership, pull transaction history of NFTs etc. In order to build a dashboard like this, a universal Terra NFT API would be ideal.
Currently, Terra does not have such a network-wide NFT API, let alone an API for individual marketplaces like Knowhere.art and randomearth.io. This makes it a huge pain point for a developer to build applications, like such a dashboard, that utilize Terra NFT data.
How does an NFT API empower ecosystems that do support it?
The quicknode NFT API is a perfect example of network-wide NFT API. This API offers support for Ethereum and Solana and lets developers query all kinds of interesting data about NFTs on those blockchains. For example, developers are able to find NFTs, verify ownership and pull transaction history as well as key collection information. On Solana, developers using this API are even able to keep of NFTs by creator. Some notable creators have multiple collections, and this feature allows developers to query all NFTs from a creator regardless of collection. More specifically, developers pull the individual token addresses tied to a given creator automatically, along with elements like description of collections and how many assets are available in a collection at a given time. This is simply currently not possible for developers on Terra.
Solutions for EVM compatibility on Terra
Of course the simple solution would be for QuickNode or Terra to publish such an NFT API for the Terra blockchain. Developers could also opt for developing their own Terra NFT API, but this would probably be a lot of work. The largest NFT marketplaces on Terra, randomearth.io and knowhere.art currently also do not seem to offer an API for their marketplace. However, if these were to become available, it would be more easy to create a general Terra NFT API as you (a developer) could now combine the APIs of the largest marketplaces into one.
Conclusion
As said in the introduction, life as a developer is not always easy. For terra developers, the pain points described in this dashboard contribute to this. First, EVM compatibility. This pain point mainly applies to developers that have built an application on Ethereum and want to launch this application on Terra as well. Because Terra is not EVM compatible, the developer would have to rewrite the application to work with the Terra blockchain. However, there is a solution that somewhat lessens this pain point. Developers are able to deploy their application on Ethermint, which is EVM compatible and is also built on the Cosmos SDK, just like Terra. Therefore, Ethereum applications on Ethermint would be able to interact with Terra.
Secondly, we looked at an NFT API. Ethereum and Solana currently are supported by a very useful NFT API made by QuickNode. This API allows developers to query all kinds of useful information about NFTs on the network. However, Terra currently is not supported meaning that developers on Terra that want to do anything with NFT data, have to dig into blockchain data themselves. There is no easy solution for this other than Terra or QuickNode releasing an NFT API for Terra.
I think if these pain points are addressed, the life of a Terra developer would be a little less hard.