Is there an existing issue that is already proposing this?
[X] I have searched the existing issues
NestJS version
10.0.0
Is your performance suggestion related to a problem? Please describe it
We are excited to announce the public release of the new EVM Transport, which seamlessly integrates with EVM blockchains to listen for on-chain events and route them directly to your NestJS controllers.
Key Features:
Event-driven Architecture: The transport is designed to subscribe to specific smart contract events on any EVM-compatible blockchain. It then emits these events directly to designated NestJS controllers, enabling real-time event handling and processing within your application.
Easy Configuration: By extending the capabilities of @ethberry/nestjs-ethers, configuring the transport is straightforward. You can specify network details in your root module setup and configure the smart contracts’ events in specific modules.
Scalable and Robust: The transport supports listening to multiple contracts simultaneously, ensuring that your application efficiently handles network requests. It supports both on-init and on-the-fly configurations that accommodate contract factories.
Seamless Controller Integration: Events emitted from the blockchain are passed to NestJS controllers as if they were typical HTTP requests. This allows developers to leverage NestJS decorators and other built-in features, providing a familiar and intuitive development experience.
Built-in Error Handling and Logging: The transport includes comprehensive error handling and logging, enabling developers to monitor and respond to issues quickly and effectively.
Example Usage
Here’s a quick example using @ethberry/nestjs-ethers to demonstrate how you can set up a listener for a blockchain event:
In this example, we are subscribing to the Transfer event of an ERC-20 contract. When a transfer occurs, the transport captures the event and triggers the corresponding handler in the controller.
Getting Started
To get started with the new transport, check out the documentation and example repository here. Integrate it into your existing NestJS projects to unlock new possibilities for building event-driven blockchain applications!
We look forward to seeing what you build with this new tool. Happy coding!
Describe the performance enhancement you are proposing and how we can try it out
Is there an existing issue that is already proposing this?
NestJS version
10.0.0
Is your performance suggestion related to a problem? Please describe it
We are excited to announce the public release of the new EVM Transport, which seamlessly integrates with EVM blockchains to listen for on-chain events and route them directly to your NestJS controllers.
Key Features:
Event-driven Architecture: The transport is designed to subscribe to specific smart contract events on any EVM-compatible blockchain. It then emits these events directly to designated NestJS controllers, enabling real-time event handling and processing within your application.
Easy Configuration: By extending the capabilities of
@ethberry/nestjs-ethers
, configuring the transport is straightforward. You can specify network details in your root module setup and configure the smart contracts’ events in specific modules.Scalable and Robust: The transport supports listening to multiple contracts simultaneously, ensuring that your application efficiently handles network requests. It supports both on-init and on-the-fly configurations that accommodate contract factories.
Seamless Controller Integration: Events emitted from the blockchain are passed to NestJS controllers as if they were typical HTTP requests. This allows developers to leverage NestJS decorators and other built-in features, providing a familiar and intuitive development experience.
Built-in Error Handling and Logging: The transport includes comprehensive error handling and logging, enabling developers to monitor and respond to issues quickly and effectively.
Example Usage
Here’s a quick example using
@ethberry/nestjs-ethers
to demonstrate how you can set up a listener for a blockchain event:In this example, we are subscribing to the
Transfer
event of an ERC-20 contract. When a transfer occurs, the transport captures the event and triggers the corresponding handler in the controller.Getting Started
To get started with the new transport, check out the documentation and example repository here. Integrate it into your existing NestJS projects to unlock new possibilities for building event-driven blockchain applications!
We look forward to seeing what you build with this new tool. Happy coding!
Describe the performance enhancement you are proposing and how we can try it out
ability to work directly with EVM chains
Benchmarks result or another proof (eg: POC)
https://github.com/ethberry/nestjs-ethers/