5

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.

2

As I said, 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, javascrio/jquery/nodejs.

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;
}   
  • Why -1 down? It's definitively the best answer. – btc4cash Feb 19 '18 at 23:58

Not the answer you're looking for? Browse other questions tagged or ask your own question.