Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

nestjs-web3js

Package Overview
Dependencies
Maintainers
1
Versions
5
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

nestjs-web3js

The nestjs-web3js is a NestJS module that provides a connection to Ethereum's blockchain. It uses the web3.js library, which is a collection of libraries that allow you to interact with a local or remote Ethereum node using HTTP, IPC, or WebSocket.

  • 1.0.4
  • latest
  • npm
  • Socket score

Version published
Maintainers
1
Created
Source

Web3jsModule - Interacting with Ethereum Blockchain

Build

The Web3jsModule is a NestJS module that provides a connection to Ethereum's blockchain. It uses the web3.js library, which is a collection of libraries that allow you to interact with a local or remote Ethereum node using HTTP, IPC, or WebSocket.

Features

  • Easily connect to Ethereum's blockchain through Infura or other Ethereum nodes.
  • Provides a service Web3jsService that can be injected to interact with Ethereum.
  • Highly modular, can be imported anywhere in your NestJS application.

Installation

To install this module, run:

npm install nestjs-web3js

Then, import Web3jsModule into your AppModule:

@Module({
  imports: [
    Web3jsModule.forRoot({
      infuraUrl: '<Your-infura-url>',
    }),
  ],
})
export class AppModule {}

or

@Module({
  imports: [
    Web3jsModule.forRootAsync({
      imports: [ConfigModule],
      useFactory: (configService: ConfigService) => ({
        infuraUrl: configService.get<string>('INFURA_URL'),
      }),
      inject: [ConfigService],
    }),
  ],
  providers: [AppService],
})
export class AppModule {}

Usage

Once Web3jsModule is imported, you can inject Web3jsService into your services, controllers, or providers:

@Injectable()
export class AppService {
  constructor(@Web3js private readonly web3: Web3) {}

  async getBalance() {
    const balance = await this.web3.eth.getBalance('Your account address');
    return balance;
  }
}

API

Web3jsModule.forRoot(options: CreateWeb3jsServiceDto): DynamicModule

The forRoot method accepts an options object with the following properties:

  • infuraUrl (string): The URL to your Infura Ethereum node. This property must be a valid URL.

DTO

The CreateWeb3jsServiceDto class is used as a type for the argument passed to the forRoot method. The schema for this class is as follows:

const CreateWeb3jsServiceSchema = z
  .object({
    infuraUrl: z.string().url().min(3),
  })
  .required();

This schema is validated using the nestjs-zod library.

Dependencies

This module depends on the following packages:

  • @nestjs/common
  • web3
  • nestjs-zod

Contribution

For issues, feature requests, and contributions, please open an issue in the repository.

License

This project is licensed under the MIT License.

Authors

  • Cláudio Filipe Lima Rapôso - Sertão será Cloud

See also the list of contributors who participated in this project.

Keywords

FAQs

Package last updated on 30 Aug 2023

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc