testHost); $this->web3 = $web3; } public function getCoinbase(){ $this->web3->eth->coinbase(function ($err, $coinbase) { if ($err !== null) { //return $this->fail($err->getMessage()); }else{ $this->coinbase = $coinbase; } }); return $this->coinbase; ////获取本机账号列表 // $this->web3->eth->accounts(function ($err, $accounts) use ($eth) { // if ($err !== null) { // echo 'Error: ' . $err->getMessage(); // return; // } // dump($accounts); // }); } /** *创建账号 * * @return void */ public function createAccount($pass){ $web3->personal->newAccount($pass, function ($err, $account) use (&$newAccount) { if ($err !== null) { return WSTReturn($err->getMessage()); // echo 'Error: ' . $err->getMessage(); //return; }else{ $data['account'] = $account; return WSTReturn('',1,$data); } }); } public function getBalance($address){ $msg=''; $status=-1; $data['balance']=0; $this->web3->eth->getBalance($address , function ($err, $balance) use (&$msg,&$status,&$data) { if ($err !== null) { $msg=$err->getMessage(); //return WSTReturn($err->getMessage()); //echo 'Error: ' . $err->getMessage(); //return; }else{ $my_balance = $balance->toString(); $my_balance = $my_balance/pow(10,$this->wei); $status=1; $data['balance'] = $my_balance; } }); return WSTReturn($msg,$status,$data); } //账号解锁 public function unlock_account($pass,$address){ $web3->personal->unlockAccount($address, $pass, function ($err, $unlocked) { if ($err !== null) { exit(jsonReturn($err->getMessage())); // echo 'Error: ' . $err->getMessage(); // return; } if($unlocked) { $data['unlock'] = 1;//$unlocked; return WSTReturn('',1,$data); } else { $data['unlock'] = 0; return WSTReturn('',1,$data); //echo 'New account isn\'t unlocked' . PHP_EOL; } }); } }