This is first release of this module. Readme under construction but here are a couple of tips
yarn add nest-web3
yarn add nest-web3
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 {}
For now module accept two parameters:
export interface Web3ModuleOptions {
name?: string;
url: string;
}
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/