Skip to content

Latest commit

 

History

History
71 lines (36 loc) · 5.24 KB

README.md

File metadata and controls

71 lines (36 loc) · 5.24 KB

Overview of Tenderly Tool

Author: Pavel Naydanov 🕵️‍♂️

Tenderly is a comprehensive Web3 development platform that includes tools for smart contract debugging, testing, and development. It also provides a variety of other useful tools. The platform can be used as a dashboard for collecting analytical data on deployed contracts. The following tools are included in Tenderly:

Web3 Gateway

This is a fast and reliable solution for accessing the blockchain with instant data synchronization. It allows you to analyze both real-time and historical data. Essentially, it is an interface or provider that enables sending queries to the blockchain and retrieving information such as address balances or the latest block on the network. Currently, you can only select predefined information to retrieve, and the options might appear limited (possibly due to it being a new feature). More details can be found here.

Contract Verification

You can verify a contract in a way that only the project owner in Tenderly can see it, and publicly verify it only when deploying the final version. This can be convenient to avoid exposing test code for contracts.

Transaction Simulator

You can simulate any transaction and see the resulting output. The transaction will not be included in the actual blockchain state. It works by calling the JSON-RPC method eth_call.

This powerful tool can show traces of function calls and can be invaluable during development. In case of errors, the tool can immediately highlight the error location within the code.

The history of executed simulations is saved.

Web3 Actions

This is a regular JavaScript function that operates within the Tenderly infrastructure. Depending on certain trigger rules, events within or outside the network will trigger the execution of actions.

With this tool, you can monitor transactions when a block is mined (e.g., by gas price), intercept user-entered data, simulate transaction execution, and more. It requires writing js code. Writing such functions requires immersion, and there is a dedicated documentation section and an npm package for local development of such functions.

Wallet Monitoring

Similar to contracts, you can add a wallet address to Tenderly. This allows you to monitor transactions, simulate transactions, and configure notification streams.

Transaction Filtering

This tool has a separate tab that represents a list of transactions for a specific contract or wallet. You can customize the table view and filter transactions based on your own parameters.

It is a powerful and convenient tool for transaction analysis. P.S. Customizing the column display of the table is free. Filter configuration is only available in the paid plan.

Visual Debugger

The Visual Debugger is a tool that allows you to examine in detail what happens within a transaction. It enables a detailed analysis of call traces. You can step forward and backward through the call stack, and the debugger will highlight the lines of code being called.

State Inspector

The State Inspector is part of the debugger and allows you to navigate through the call points within a transaction.

Smart Contract Analytics

This is a separate tool for collecting analytical data from smart contracts. It allows you to view transaction calls over time, statistics on various top calls, daily, weekly, and monthly activity. You can also create and add your own data charts to the analytics.

Real-time Alerting

You can configure custom alerts.

Gas Profiler

Part of the debugger, it shows detailed gas consumption by transactions. You can view statistics on gas consumption relative to each call.

Forks

Allows not only running contracts on network forks but also creating forks by branching networks. This provides flexibility in running transaction simulations or a group of simulations in isolation within a fork.

Here's how it works: create a fork based on a real network. Then, you can deploy and verify contracts in this fork. Afterward, you can run simulations in this fork. Unfortunately, creating a fork on a local network is not possible in the Tenderly interface. However, you can import locally executed transactions into Tenderly by following this guide.

Integrations

There is integration with hardhat using the hardhat-tenderly plugin. You will need to specify the Tenderly account and project for integration. You can export transactions to Tenderly and verify contracts using Tenderly. There is also an additional way to use the tenderly-cli for debugging.

Pricing

Tenderly is a paid product. The free plan is quite limited. You can only have one project and add one organization. You cannot add a team to dashboards. There are limitations on the number of contracts you can monitor. The default analytics are limited. You can find more information about pricing here.