mirror of
https://github.com/benjamin-wilson/public-pool.git
synced 2026-09-29 17:15:03 -07:00
bitcoin rpc
This commit is contained in:
+8
-2
@@ -1,17 +1,23 @@
|
||||
import { Module } from '@nestjs/common';
|
||||
import { ConfigModule } from '@nestjs/config';
|
||||
|
||||
import { AppController } from './app.controller';
|
||||
import { AppService } from './app.service';
|
||||
import { BitcoinRpcService } from './bitcoin-rpc.service';
|
||||
import { BitcoinStratumProvider } from './bitcoin-stratum.provider';
|
||||
|
||||
|
||||
|
||||
@Module({
|
||||
imports: [
|
||||
|
||||
ConfigModule
|
||||
],
|
||||
controllers: [AppController],
|
||||
providers: [AppService, BitcoinStratumProvider],
|
||||
providers: [
|
||||
AppService,
|
||||
BitcoinStratumProvider,
|
||||
BitcoinRpcService
|
||||
],
|
||||
})
|
||||
export class AppModule {
|
||||
constructor(private readonly bitcoinStratumProvider: BitcoinStratumProvider) {
|
||||
|
||||
@@ -0,0 +1,33 @@
|
||||
import { Injectable } from '@nestjs/common';
|
||||
import { ConfigService } from '@nestjs/config';
|
||||
import { RPCClient } from 'rpc-bitcoin';
|
||||
|
||||
|
||||
@Injectable()
|
||||
export class BitcoinRpcService {
|
||||
|
||||
private client: RPCClient;
|
||||
|
||||
constructor(configService: ConfigService) {
|
||||
const url = configService.get('BITCOIN_RPC_URL');
|
||||
const user = configService.get('BITCOIN_RPC_USER');
|
||||
const pass = configService.get('BITCOIN_RPC_PASSWORD');
|
||||
const port = parseInt(configService.get('BITCOIN_RPC_PORT'));
|
||||
const timeout = parseInt(configService.get('BITCOIN_RPC_TIMEOUT'));
|
||||
this.client = new RPCClient({ url, port, timeout, user, pass });
|
||||
console.log('Bitcoin RPC connected');
|
||||
}
|
||||
|
||||
|
||||
public async getBlockTemplate() {
|
||||
|
||||
const result = await this.client.getblocktemplate({
|
||||
template_request: {
|
||||
rules: ['segwit'],
|
||||
mode: 'template',
|
||||
capabilities: ['serverlist', 'proposal']
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user