Fantom extends smart contract functionality with Transaction Tracing API

Fantom extends smart contract functionality with Transaction Tracing API

Fantom has now extended support for Transaction Trace API calls to enhance compatibility with Ethereum nodes. This important feature improves both data extraction from blockchains and the overall developer experience.

What is Transaction Tracing?

A transaction trace offers a detailed snapshot of a single transaction (also known as an event) in an application.

Smart contracts on Fantom and Ethereum allow for transactions with arbitrarily complex data storage that both act on previously stored data and transact with other accounts and contracts. A single smart-contract transaction can therefore interact with many other accounts and smart-contracts.

It is easy to determine whether a smart contract is successful or not, but much more challenging to evaluate in granular detail what it actually does – there is no way to see what data was modified, or what external contracts were invoked. Transaction Tracing functionality solves this problem by extracting information about how an application handles events, like calls to other contracts or retrieval of external data.

How is Transaction Tracing Used?

A major benefit of transaction tracing is debugging: teams can expand their reporting with detailed messages, stack traces, and metrics about application functionality.

In addition, projects like The Graph and Gnosis Safe use Transaction Tracing APIs to index blockchains and harvest data that can be used for building other applications. The great advantage that Transaction Trace APIs offer is that they don’t require events to occur; this saves expenses on gas, which would otherwise need to be spent on events emitting. Fantom Transaction Tracing APIs also support filtering, allowing developers and applications to isolate required data.

To read more about this API and to access our developer documentation, please visit: https://docs.fantom.foundation/tutorials/transaction-tracing-api