nestjs-web3
nestjs-web3 copied to clipboard
Module that makes it possible to work with Ethereum JavaScript API with NestJS
Web3 module for NestJS that allow to work with blockhains
This is first release of this module. Readme under construction but here are a couple of tips
Installation
Yarn
yarn add nest-web3
NPM
yarn add nest-web3
Getting started with module
Register Web3Module module in yours app.module.ts
(or other main module of yours project)
import { Module } from '@nestjs/common';
import { Web3Module } from 'nest-web3';
@Module({
imports: [
Web3Module.forRoot({
name: 'eth',
url: 'http://localhost:3450',
}),
]
})
export class AppModule {}
Or with Async
import { Module } from '@nestjs/common';
import { Web3Module } from 'nest-web3';
@Module({
imports: [
Web3Module.forRootAsync({
useFactory: (configService: ConfigService) => configService.get('web3'),
inject:[ConfigService]
}),
]
})
export class AppModule {}
Configuration
For now module accept two parameters:
export interface Web3ModuleOptions {
name?: string;
url: string;
}
Using in project
import { Injectable } from '@nestjs/common';
import { Web3Service } from "nest-web3";
@Injectable()
export class SomeClass {
constructor(
private readonly web3Service: Web3Service
) {}
async method(): Promise<number> {
const client = this.web3Service.getClient('eth'); // we are give name of client in config file
return await client.eth.getChainId();
}
}
Available methods and API of Web3 available here https://web3js.readthedocs.io/