[Ethereum] Generate Ethereum address in PHP

etherphp

I am working on a web application where I need to generate Ethereum addresses in PHP, how do i go about generating a random Ethereum public/private key pair in PHP?

thanks.

Best Answer

You coud use JSON rpc to create a wallet and and set password. But PHP and geth don't go well together, it will limit your app. I recommend going directly with web3.js and javascript/jquery/node. By the way, myetherwallet is a very nice code and open-source so you could integrate as on site wallet.

For generating wallet thought JSON-RPC (pass sent over the network):

//create eth wallet supplying pass, return wallet address if created

function getethwallet($pass) {

    $url = "http://node.ip:8545";   
    $data = array(
                 "jsonrpc" => "2.0",
                 "method" => "personal_newAccount",
                 "params" => array($pass),
                 "id" => "1"
                 );

    $json_encoded_data = json_encode($data);


$ch = curl_init($url);                                                                      
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "POST");                                                                     
curl_setopt($ch, CURLOPT_POSTFIELDS, $json_encoded_data);                                                                  
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);                                                                      
curl_setopt($ch, CURLOPT_HTTPHEADER, array(                                                                          
    'Content-Type: application/json',                                                                                
    'Content-Length: ' . strlen($json_encoded_data))                                                                       
);                                                                                                                   

$result = json_decode(curl_exec($ch));
curl_close($ch);

        $parsed = $result->result;

return $parsed;
}