Tenderly's Optimistic Rollup Network Report is live! 🎉 Explore how optimistic rollups help scale Ethereum ecosystem!

Case Study

Uniswap Teams up With Tenderly to Streamline Development and Focus on Product Quality

Organization: Uniswap Labs

Website: uniswap.org

Industry: Decentralized Finance

Uniswap Teams up With Tenderly to Streamline Development and Focus on Product Quality

Key challenges

  • Long and manual development and debugging
  • Limited insight into smart contract behavior during development
  • Making sacrifices during the issue resolution process

Key results

  • More efficient debugging and incident resolution
  • More time to focus on improving product quality
  • Greater control and in-depth data prior to sending txs on-chain

"The people who get the most value out of Tenderly are people whose day job is smart contract development and who really care about the quality of their products”

Connor McEwen

Engineering Lead, Uniswap Labs


Download

Believing in contract immutability

Uniswap Labs, with a team of 40+ engineers across multiple departments, is one of the leading names in decentralized finance (DeFi). By developing the Uniswap protocol, the company introduced a decentralized exchange (DEX) system that transformed the crypto landscape once dominated by centralized exchanges.

The Uniswap team consists of “big believers in immutable contracts,” says Connor McEwen, the engineering lead at Uniswap Labs. They support core blockchain values by developing immutable core contracts. As a result, their development process is long and rigorous. It entails in-depth contract audits to identify and eliminate potential issues early on.

Accompanied by upgradable governance and peripheral routing contracts, the core contracts make up the network behind the protocol. Additionally, a major part of their backend is the routing API service that helps Uniswap deliver the most efficient and cost-effective swaps to its users. On the user-facing side, Uniswap features highly optimized web and mobile apps that allow users to interact directly with the protocol and swap tokens.

Facing uncertainty in Web3 development

With limited development tools and resources available, Web3 development is a time-consuming and challenging process. Traditionally, it requires a great extent of manual decoding and debugging. However, for a team that truly believes in the immutability of smart contracts, this process carries even greater weight.

“If something's broken, it's totally, totally horribly broken, and there's nothing we can do about it”, says McEwen.

Not having insight into the actual smart contract behavior prior to deployment required the Uniswap team to make sacrifices throughout the process. Assessing the resources they had at their disposal, they often had to pose a difficult question: “Do we want to figure out exactly what's going on here, and how much time do we have to do it?”

And with the CI/CD process being completely different in Web3 than in Web2, Uniswap faced an additional level of uncertainty. In Web2, engineers have complete control over their databases. In Web3, however, Uniswap relies on the blockchain as its database, which means anyone can work with this shared global state. This requires the Uniswap team to ensure their code executes as planned without knowing what to expect once in live production.

Opening new possibilities with Tenderly

To improve their development and debugging processes, Uniswap engineers explored different development tools, which put Tenderly on their radar. Tenderly Debugger was the first tool to enter the Uniswap engineering stack. It helped take out the manual part of debugging and bring in-depth information through Stack, Execution, and Function Traces. With such an intricate level of detail, Uniswap’s protocol and web engineering teams can trace everything happening in a transaction and understand blockchain data in a wider context.

As Tenderly added new functionalities, Uniswap continued introducing them to their development process. Through integration with Transaction Simulator, Tenderly has become an integral part of Uniswap’s CI setup. Uniswap developers can now test code changes prior to updating an existing service.

Additionally, the ability to play out transactions before sending them on-chain enables the Uniswap team to see if their code would behave as expected in a real production environment. This way, Tenderly helps provide answers to some of Uniswap’s crucial questions – “if we were to send this transaction to do this series of hops, would we get the expected output” or “if we were to execute this governance proposal, what would happen?”.

Welcoming development efficiency & predictability

By including essential Tenderly tools, the Uniswap development process has become not only more time- and cost-efficient but also even more rigorous and detailed. Uniswap developers can now get a wider context around blockchain data, opening new paths toward understanding it. This ability to understand and interact with the blockchain state more easily has improved their incident resolution process and streamlined the overall development experience.

Additionally, being able to predict transaction outcomes in DeFi helps Uniswap developers prevent potentially costly smart contract errors and secure user funds. Given the nature of Web3 and the immutability of Uniswap core contracts, having a great level of certainty and predictability during development allows the engineering team to deliver higher-quality, more professional products.

For instance, as one of the features behind Uniswap’s new gas estimation service, Simulator allows the Uniswap development team to deliver more accurate gas assessments.

“Being able to do things like estimate gas more accurately or have a CI pipeline that checks out if our code breaks allows us to offer better products and more reliable experiences”, explains McEwen.

Ultimately, Tenderly allows the Unisawap team to focus on what truly matters to them and their users, concentrate on growth, and ensure product-market fit.

“It mainly enables us to do what we wouldn't be able to do otherwise,” says McEwen.

A road to a more mature, professional blockchain

By adopting Tenderly features and thinking of their engineering stack more holistically, Uniswap engineers have been able to optimize their development process and move toward creating better and more reliable products.

Uniswap now boasts consistent usage across the blockchain, with $1.1T+ in trade volumes and over 300 integrations with the protocol. As McEwan explains, “the people who get the most value out of Tenderly are people whose day job is smart contract development and who really care about the quality of their products.”

The growing blockchain industry places many challenges before engineers who decide to take on smart contract development. However, as McEwan describes them, “this isn’t necessarily your average person. They're already interested in learning something new”. And with a host of Tenderly tools, the Uniswap team and other engineers are now able to use the drive and curiosity behind their Web3 journey to face these challenges and solve them more efficiently.