https://github.com/tenderly/node-extensions-library
Create custom JSON-RPC methods with Tenderly Node Extension Library
https://github.com/tenderly/node-extensions-library
blockchain extensions naas node-as-a-service node-extension tenderly web3
Last synced: 25 days ago
JSON representation
Create custom JSON-RPC methods with Tenderly Node Extension Library
- Host: GitHub
- URL: https://github.com/tenderly/node-extensions-library
- Owner: Tenderly
- License: mit
- Created: 2023-03-13T17:16:49.000Z (about 2 years ago)
- Default Branch: main
- Last Pushed: 2024-07-02T00:00:08.000Z (11 months ago)
- Last Synced: 2025-03-30T22:03:55.525Z (2 months ago)
- Topics: blockchain, extensions, naas, node-as-a-service, node-extension, tenderly, web3
- Language: TypeScript
- Homepage: https://docs.tenderly.co/web3-gateway/node-extensions
- Size: 343 KB
- Stars: 32
- Watchers: 11
- Forks: 22
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
- Code of conduct: CODE_OF_CONDUCT.md
- Codeowners: .github/CODEOWNERS
- Security: SECURITY.md
Awesome Lists containing this project
README
# Tenderly Node Extension Library
[](./LICENSE)
[](https://twitter.com/intent/follow?screen_name=TenderlyApp)
[](https://github.com/Tenderly/node-extensions-library)## 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](https://github.com/Tenderly/tenderly-actions) version >= **0.2.0**.
## Getting Started
Go to the [Node Extensions Library](https://dashboard.tenderly.co/register?redirectTo=node-extensions) 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](https://docs.tenderly.co/supported-networks-and-languages).Full documentation with detailed instructions can be found here:
[Tenderly Node Extensions Docs](https://docs.tenderly.co/web3-gateway/node-extensions).### 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](./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](./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](./chainlink-price-feed) - Use this Tenderly Node Extension to query Chainlink Price Feeds.
- [multicall-uniswap-erc20-balance](./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](./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](./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](./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](./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](./simulate-mempool-transaction) - This Tenderly Node Extension allows you to simulate a transaction in the mempool.
- [simulate-send-transaction](./simulate-send-transaction) - This Tenderly Node Extension allows you to simulate a transaction before sending on-chain.## Contributing
See [CONTRIBUTING.md](./CONTRIBUTING.md) for more information.
Our [Code of Conduct](./CODE_OF_CONDUCT.md) 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 **[email protected]** to disclose any security vulnerabilities.## Contributors
## License
This project is licensed under the MIT License - see the [LICENSE](./LICENSE) file for the details.