As the blockchain ecosystem continues to evolve, the importance of testing infrastructure cannot be overstated: it is essential for experimenting and developing dapps.
And as interest in dapps increases exponentially, so does the use of testnets. As with any piece of technology that scales at an unprecedented pace, inefficiencies and limitations become increasingly apparent as time passes. This has certainly been the case with public testnets.
Despite their initial promise, developers face a number of hurdles in using testnets effectively, leading to calls for more efficient mechanisms to build and test dapps.
Public testnets: an inadequate 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 – initially designed for the primary purpose of network testing – have been repurposed for dapp development and experimentation. In the absence of a better alternative, developers are forced to use it to test their products, which brings with it a host of problems including incomplete mainnet data, token shortages, and lengthy deployments.
One of the main problems with public test networks is that they typically do not accurately emulate the data from their associated mainnets. There is often limited historical data available, which – combined with a lack of current production data – means that testnets do not accurately reflect the diversity and scale of their real mainnets.
Developers then struggle to test how their smart contracts handle different types of user input, smart contracts, and protocols, likely compromising the performance and security of their dapps.
Test tokens are also relatively difficult to obtain, with developers often waiting a long time to obtain the amount they need. The shortage of Goerli tokens is an example of this, forcing developers to pay a premium for what were intended to be freely distributed coins.
Some developers end up asking for charity so they can get on with their workday. Without enough testnet tokens, developers face limitations when testing complex dapp scenarios, posing a threat to innovation on the blockchain.
Developers also face the challenge of the short lifespan of public testnets. Each time a testnet is terminated, a new network must be deployed, meaning developers have to overcome the same hurdles multiple times. This understandably hinders the development process and causes frustration within the developer community.
Read more in our opinion section: Let developers walk so users can run
On the other hand, public testnets are intrinsically more collaborative than local node testing. Not only can the entire developer team test and debug the code in the same environment, beta testers can also be recruited from all over the world to interact with the dapp to collect more data and user feedback.
However, public testnets have a notoriously long deployment period. Developers face network congestion and transaction execution delays that slow down dapp development and testing. Beyond network congestion, external dependencies (such as developers waiting for the projects their dapps interact with to deploy their assets first) increase deployment time for Web3 teams.
Publicity problems
It is clear that developers find it difficult to deal with public testnets from a technical perspective. But there are also serious problems associated with protecting intellectual property on testnets.
As the name suggests, these testing solutions are designed for public use. On the surface, having a transparent arena where developers’ code is open to exploration and experimentation could foster innovation and collaboration. However, we cannot ignore the commercial reality.
The exposure of code to the public domain raises concerns about the protection of property rights
technology and protecting 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 accurately analyze and imitate the innovations of others without even knowing it, simply by observing public testnets. While legal protections can be leveraged, in the international, decentralized arena of blockchain, they can only go so far.
Blockchain and the dapps it enables have the potential to revolutionize various sectors of the economy and features of our personal lives. But while public testnets play a crucial role in the iterative development of these dapps, it is essential that developers and stakeholders 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 possible solutions, ranging from improving current testnets and developing more robust replacements to even moving to virtual or private testnets.
Taken together, these innovations could usher in a new testing paradigm that will accelerate progress in the Web3 space. It will not only ease the development of dapps, but also standardize the developer experience, bringing it closer to Web2 and lowering the barriers to entry.
As we emerge from the bear market, concerted efforts to build a more scalable testing infrastructure are a prerequisite for driving blockchain innovation, growth, and adoption. The future of dapps can be bright – as long as we ensure that the testnets on which they are developed are fit for purpose.
Bogdan is the co-founder and CTO of Tenderly, the full-stack infrastructure solutions provider that provides Web3 developer teams with the essential tools and services throughout their development journey. Before 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 building and managing the development of distributed cloud systems before realizing there was a lack of infrastructure support for Web3 developers. With his vast experience in building, expanding and overseeing extensive distributed cloud systems, he is well-versed in the intricacies of blockchain technologies and their practical applications.