As the blockchain ecosystem continues to evolve, the importance of testing infrastructure cannot be overstated: It’s essential for the experimentation and development of dapps.
And as interest in dapps increases exponentially, so does the use of testnets. Like any piece of technology that is scaling at an unprecedented rate, inefficiencies and limitations become more apparent as time goes on. This has certainly been the case with public testnets.
Despite their initial promise, developers are facing a number of hurdles in utilizing testnets effectively, leading to calls for more efficient mechanisms to build and test dapps.
Public testnets: An insufficient and incomplete testing infrastructure
In the grand scheme of their development, blockchain and dapps are still in their infancy. As such, the infrastructure used to develop dapps is still under construction.
Public testnets — which were initially designed with the primary purpose of network testing — have been repurposed for the development and experimentation of dapps. In the absence of a better alternative, developers are forced to use them to test their products, which requires dealing with a host of problems including incomplete mainnet data, token supply shortage and long deployments.
One of the key issues with public testnets is that they usually do not accurately mimic the data of their associated mainnets. There is often limited historical data available, which — coupled with a lack of up-to-date production data — means that testnets do not accurately reflect the diversity and scale of their real-world mainnets.
Developers then struggle to test how their smart contracts interact with different types of user inputs, smart contracts and protocols, likely compromising the performance and security of their dapps.
Test tokens are also relatively tricky to come by, with developers often waiting for a long time to obtain the amount they need. The Goerli token supply shortage is one example, forcing developers to pay a premium for what was intended to be freely distributed coins.
Some developers end up asking for charity just so they can continue with their workday. Without sufficient testnet tokens, developers face limitations in testing complex dapp scenarios, thereby posing a threat to innovation on the blockchain.
Developers also face the challenge of public testnets’ short lifespan. Every time a testnet deprecates, a new network needs to be deployed, meaning developers need to go through the same hurdles several times. This understandably stunts the development process and causes frustration within the developer community.
Read more from our opinion section: Let developers walk so users can run
On the other hand, public testnets are intrinsically more collaborative than testing with local nodes. Not only can the entire developer team test and debug the code in the same environment, beta testers may also be recruited from all over the world to interact with the dapp to collect more data and user feedback.
However, public testnets have notoriously long deployment periods. Developers have to deal with network congestion and transaction execution delays that slow dapp development and testing. Aside from network congestion, external dependencies — such as developers waiting for the projects their dapps interact with to deploy their assets first — prolong deployment times for Web3 teams.
Publicity problems
It is clear that developers find public testnets tricky to deal with from a technical standpoint. But there are also serious problems associated with safeguarding intellectual property on testnets.
As the name suggests, these testing solutions are designed for public use. On the face of it, having a transparent arena where developers’ code is open to scrutiny and experimentation could foster innovation and collaboration. However, we can’t ignore commercial realities.
The exposure of code to the public domain raises concerns about protecting proprietary
technology and safeguarding intellectual property. The decentralized nature of public testnets makes it challenging, if not impossible, for developers to maintain control over who can access and use their code.
Competitors can closely analyze and emulate the innovations of others, without them knowing, simply by observing public testnets. While legal protections can be employed, they can only go so far in the international, decentralized arena of blockchain.
Blockchain and the dapps it enables have the potential to revolutionize various sectors of the economy and attributes of our personal lives. But while public testnets play a pivotal role in the iterative development of these dapps, it is essential for developers and stakeholders to approach them with a critical eye.
Recognizing the limitations and addressing the drawbacks of public testnets is essential to fostering sustainable, long-term innovation in blockchain. The developer community is exploring several potential solutions ranging from improving current testnets and developing more robust replacements to even moving toward virtual or private testnets.
Taken together, these innovations can usher in a new testing paradigm that will accelerate progress in the Web3 space. It will not only facilitate dapp development, but also standardize developer experience, bringing it closer to Web2 and lowering the barriers to entry.
As we emerge from the bear market, collaborative efforts to build a more scalable testing infrastructure are a prerequisite for driving innovation, growth and blockchain adoption. The future of dapps can be bright — as long as we ensure the testnets they are developed on are fit for purpose.
Bogdan is the Co-Founder and CTO of Tenderly, the full-stack infrastructure solutions provider powering Web3 developer teams with the essential tools and services throughout their development journeys. Prior to co-founding Tenderly, Bogdan worked as a software engineer for major software platforms such as MVP Workshop and Go Daddy where he was responsible for constructing and managing the development of distributed cloud systems before realizing the lack of infrastructural support for Web3 developers. With his vast experience in constructing, expanding, and overseeing extensive distributed cloud systems, he is well-versed in the intricacies of blockchain technologies and their practical applications.