A very Tenderly update: Debugging Ethereum transactions, Verifying contracts and other newsworthy updates

Bogdan Habic
Tenderly
Published in
4 min readJul 18, 2019

--

Come a little bit closer dear reader. I have some whimsical news to share regarding stack traces, call traces, new colors and whatnot! I’m eager to share what we’ve been up to at Tenderly, so let us get started!

TXFlow

If you are one of the avid fans of our blog (Hi mom! 👋), you’ll remember we’ve open-sourced TXFlow this March. If you don’t know, TXFlow is an easy way to see the whole execution flow for a given transaction.

This way of visualizing saves time dramatically when it comes to debugging a Smart Contract or just when you want to reason about a particular transaction.

We built TXFlow as a Proof of Concept during the ETHParis Hackathon, so there were a lot of edge-cases and missing features for it to be a fully-fledged tool someone can use.

Now, four months later, we’re delighted to announce that TXFlow is integrated into Tenderly! You can go to your Tenderly Dashboard and view the Execution Overview for any of your Smart Contracts.

Likewise, if you want to see an Execution Overview for an Etherscan verified contract, let’s say for CryptoKitties, head over to the public contract listing, enter the address in the search bar, and you are ready to go! Here is an example Call Stack for the KittyCore Smart Contract.

Can you show me more examples?

I’m glad you asked! Let’s take this Kyber Network transaction as an example: 0x87f472db795d27d88f1954dc3ce36e6f9e08b5baad2cf0e13f939d2c12fbda9d.

When we go to the transaction details what do we see?

Well, firstly, we see that the transaction has failed. Because Tenderly knows this, the first thing that you see is the Stack Trace of the transaction, giving you means to see the exact line in the code where the transaction failed. How convenient!

The second thing we see is that TXFlow has extracted the full execution path for this transaction. We call this tab the Execution Overview. Once you click on it, you see the whole transaction represented in an easy to digest format.

All of this is available now over at https://dashboard.tenderly.co/.

Verifying your Smart Contracts

A new addition to our platform is a way to verify your Smart Contracts. When a contract is verified, it gets published on our public contract listing for everyone to see.

You can verify your Smart Contracts by using our CLI. If you don’t have our CLI already installed, you can follow the installation steps on our GitHub repo. After the CLI is set up, navigate to your project and type in:

tenderly verify

That’s it! Your Smart Contracts are now verified with Tenderly and publicly monitored!

The Tenderly CLI does so much more: local stack traces for failed transactions via the proxy command and a way to push your contracts to a project on the Tenderly Dashboard with the push command.

A new coat of paint

No, I’m not talking about the Tom Waits song, I’m talking about a complete redesign of the Tenderly Dashboard. We’ve rebuilt the components and the design language we use from the ground up, so everything is much more intuitive and easily accessible. Everything is loading crazy fast, and the new dashboard is a joy to use.

So what’s cooking up next in the Tenderly kitchen?

Another great question! You’re on 🔥! Now that we have TXFlow fully integrated, the next step is to provide a way to view variables.

Yup, you have read that correctly: we are working on a way to see the values of variables at every step of a transaction. This will reduce debugging times, even more, taking Blockchain development even closer to a state where we can say it’s ergonomic.

Is that all?

For this article, we covered a lot of stuff:

  • We learned what TXFlow is
  • We saw how we to use TXFlow and the new Visual Debugger to inspect transactions
  • You can start using TXFlow right now by going to https://dashboard.tenderly.dev/
  • We also saw how to use the new tenderly verify command to publish our Smart Contracts on Tenderly
  • Dashboard design overhaul
  • I hope I teased the hell out of variable values being added to the Visual Debugger
  • The new season of Stranger Things is great

As always, thanks for sticking until the end (love you mom)! You can reach us on our Discord or by shooting us an e-mail over at support@tenderly.co.

--

--

Bogdan Habic
Tenderly

A Software Engineer who has a great interest in distributed systems and the people side of software. An occasional speaker and all around TMI type of person.