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.

Daniel Valland
  • 183
  • 1
  • 4
  • Take a look at this topic: https://ethereum.stackexchange.com/questions/19038/is-there-api-to-create-ether-wallet Hope it helps. – Paolo Guerra Jul 24 '17 at 09:41
  • Can you please mark my amswer as correct if that worked for you? IDK why but someome downvoted without giving a better answer nor saying why. – btc4cash Feb 20 '18 at 09:58

1 Answers1

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;
}   
btc4cash
  • 538
  • 4
  • 14