无法解析 ECPair 的所有参数:(?, ?, ?)
Can't resolve all parameters for ECPair: (?, ?, ?)
我尝试在新的 angular 4 应用程序中实现 bitcoinjs-lib
我做了什么:
npm install bitcoinjs-lib --save
npm install @types/bitcoinjs-lib --save
我的 app.component.ts :
import { Inject } from '@angular/core';
import { Component } from '@angular/core';
import { HDNode, Transaction, ECPair } from 'bitcoinjs-lib'
@Component({
selector: 'app-root',
templateUrl: './app.component.html',
styleUrls: ['./app.component.css']
})
export class AppComponent {
title = 'app';
constructor(private ecPair: ECPair){
console.log(this.ecPair.getAddress())
}
}
编译成功但我进入浏览器:
Uncaught Error: Can't resolve all parameters for ECPair: (?, ?, ?).
at syntaxError (compiler.js:466)
这是 node_modules 中的 ECPair:
export class ECPair {
constructor(d: BigInteger, Q?: null, options?: { compressed?: boolean, network?: Network });
constructor(d: null | undefined, Q: any, options?: { compressed?: boolean, network?: Network }); // Q should be ECPoint, but not sure how to define such type
d: BigInteger;
getAddress(): string;
...
}
我知道他不知道如何实例化它,因为参数类型不同,我该如何解决?我尝试使用@Inject,但也无法解决。
谢谢
您必须正确提供。在你的 @NgModule
你应该使用这样的东西:
@NgModule({
...
providers: [
...
{ ECPair, useFactory:()=>new ECPair(d,Q,options) }
]
})
为 d
Q
和 options
指定适当的参数。
我尝试在新的 angular 4 应用程序中实现 bitcoinjs-lib 我做了什么:
npm install bitcoinjs-lib --save
npm install @types/bitcoinjs-lib --save
我的 app.component.ts :
import { Inject } from '@angular/core';
import { Component } from '@angular/core';
import { HDNode, Transaction, ECPair } from 'bitcoinjs-lib'
@Component({
selector: 'app-root',
templateUrl: './app.component.html',
styleUrls: ['./app.component.css']
})
export class AppComponent {
title = 'app';
constructor(private ecPair: ECPair){
console.log(this.ecPair.getAddress())
}
}
编译成功但我进入浏览器:
Uncaught Error: Can't resolve all parameters for ECPair: (?, ?, ?).
at syntaxError (compiler.js:466)
这是 node_modules 中的 ECPair:
export class ECPair {
constructor(d: BigInteger, Q?: null, options?: { compressed?: boolean, network?: Network });
constructor(d: null | undefined, Q: any, options?: { compressed?: boolean, network?: Network }); // Q should be ECPoint, but not sure how to define such type
d: BigInteger;
getAddress(): string;
...
}
我知道他不知道如何实例化它,因为参数类型不同,我该如何解决?我尝试使用@Inject,但也无法解决。
谢谢
您必须正确提供。在你的 @NgModule
你应该使用这样的东西:
@NgModule({
...
providers: [
...
{ ECPair, useFactory:()=>new ECPair(d,Q,options) }
]
})
为 d
Q
和 options
指定适当的参数。