while creating new account from angular using web3
- personal.newAccount function() undefined
import {
Injectable } from
'@angular/core';
import {
User } from
'./login/user';
const Web3=require('web3');
declare let
require: any;
declare let
window: any;
let tokenAbi =
require('./tokenContract.json');
@Injectable()
export class
ContractService {
private contAbi=require('./tokenContract.json');
private contAddr='0xadd2b6f750e0a05b25840ac9037365ce79f6a475';
web3:any;
private contract:any;
constructor() {
if (typeof
this.web3 !==
'undefined') {
this.web3 =
new Web3(this.web3.currentProvider);
} else {
this.web3 =
new Web3(new
Web3.providers.HttpProvider("http://localhost:8545"));
}
console.log(this.web3._provider);
this.web3.eth.getAccounts((err,
accs) => {
if (err !=
null) {
alert('There was an error fetching your accounts.');
return;
}
if (accs.length ===
0) {
alert('Couldn\'t get any accounts! Make sure your Ethereum client is configured correctly.');
return;
}
console.log(accs[0]);
this.web3.eth.defaultAccount =
accs[0];
});
this.contract=new
this.web3.eth.Contract(this.contAbi,this.contAddr);
// console.log(this.contract.methods.greet().call({from:this.web3.eth.defaultAccount,gas:0x27100},function(error,result){
// console.log(error);
// console.log(result);
// }));
}
public register(user:User){
user.address=this.web3.personal.newAccount(user.password);
}
}