Skip to content

Tenderly/node-extensions-library

Repository files navigation

Tenderly Node Extension Library

License Twitter Github

Introduction

This library is a collection of Tenderly Node Extensions. It’s used to extend Tenderly Web3 Gateway, our Node-as-a-Service, with additional functionalities.

Node Extensions are a game-changing enhancement to our existing production node. This feature allows devs to create custom JSON-RPC method names and write custom JS/TS code snippets that are executed each time the method is called. It’s like having your very own sorcerer’s apprentice working behind the scenes! 🧙‍

Note: Node Extensions require @tenderly/actions version >= 0.2.0.

Getting Started

Go to the Node Extensions Library and search for the extension that you want to include in your Web3 Gateway. Click on the extension and click "Activate". Once activated, go to JSON-RPC Request Builder and select your extension method from the dropdown menu. You can then enter the JSON payload and click "Send Request".

List of the supported networks can be found here: Tenderly Web3 Gateway Supported Networks.

Full documentation with detailed instructions can be found here: Tenderly Node Extensions Docs.

How to Create a Custom Node Extension - Video Tutorial

How to Activate an Extension from the Node Extension Library - Video Tutorial

Node Extension Examples

To get started creating your own node extensions, you can use the following Node Extension Starter Pack:

  • node-extension-starter - This Tenderly Node Extension gets the block from the network, where the result.transactions is a list of transaction hashes.
  • node-extension-starter-jest - This Tenderly Node Extension gets the block from the network, where the result.transactions is a list of transaction hashes and has the Jest testing library installed.

Here are examples of Node Extensions that you can use in your projects:

  • chainlink-price-feed - Use this Tenderly Node Extension to query Chainlink Price Feeds.
  • multicall-uniswap-erc20-balance - This Tenderly Node Extension uses Wonderland's multicall strategy to quickly fetch Uniswap's ERC20 balances.
  • pm-can-sponsor-user-operation - Use this Tenderly Node Extension to check whether Pimlico's Paymaster service can sponsor a User Operation on behalf of a third-party dapp.
  • pm-sponsor-user-operation - This Tenderly Node Extension asks Pimlico's Paymaster to sponsor a submitted User Operation on behalf of a wallet.
  • pm-supported-entry-points - This Tenderly Node Extension returns the list of entryPoint contracts that are supported on the chain you’re using.
  • polygon-block-author - Use this Tenderly Node Extension to get the block author for a given block number on Polygon (Matic) network.
  • simulate-mempool-transaction - This Tenderly Node Extension allows you to simulate a transaction in the mempool.
  • simulate-send-transaction - This Tenderly Node Extension allows you to simulate a transaction before sending on-chain.

Contributing

See CONTRIBUTING.md for more information.

Our Code of Conduct applies to all Tenderly community channels.

Security

If you believe you have found a security vulnerability in Node Extension Template, we encourage you to responsibly disclose this and not open a public issue. We will investigate all legitimate reports. Contact our customer support by email support@tenderly.co to disclose any security vulnerabilities.

Contributors

tenderly-contributors

License

This project is licensed under the MIT License - see the LICENSE file for the details.