Sé cómo crear una billetera manualmente , sin embargo, no me gustaría sacar a mis clientes del sitio web (dudo que alguien lo haga) y preferiría crear su billetera detrás de escena cuando se registran en el sitio web.
Al principio, estaba pensando en crear la billetera yo mismo, pero luego me di cuenta de que todos los que están tratando de construir un sistema para usuarios no técnicos intentarán hacer lo mismo: generar una billetera detrás de escena... y es muy probable que alguien tenga construyó una API para hacer esto ya ...
¿Hay una API para crear una billetera Ether?
BlockCypher es su respuesta, y ha sido utilizado por las principales organizaciones en el espacio criptográfico, incluidos los intercambios. Tanto las claves privadas como las públicas de ETH o BTC se generan instantáneamente y se eliminan de su servidor, pero puede almacenarlas en una base de datos, asignarlas a un usuario o hacer lo que quiera con ellas.
Obtenga token en https://accounts.blockcypher.com/
El plan GRATIS viene con:
2000 solicitudes por día
200 solicitudes por hora
3 solicitudes por segundo
Para generar la dirección y la clave ETH (la dirección ETH está codificada en hexadecimal, asegúrese de agregarla 0x
al frente):
curl -sX POST https://api.blockcypher.com/v1/eth/main/addrs?token=YOURTOKEN
Para generar la dirección y clave BTC:
curl -sX POST https://api.blockcypher.com/v1/btc/main/addrs?token=YOURTOKEN
Consulte la documentación https://www.blockcypher.com/dev/ethereum/#block-height-endpoint
NOTA: Genere siempre a través de HTTPS; de lo contrario, sus claves privadas pueden ser MITM.
Aunque puede que no sea recomendable usar esto para proyectos a largo plazo, también sugiero la técnica de dirección pregenerada que se puede adoptar para crear una billetera fría sobre la marcha.
Puede usar JSON RPC para crear una billetera y establecer una contraseña. Pero PHP y geth no van bien juntos, limitará su aplicación. Recomiendo ir directamente con web3.js y, por cierto, myetherwallet es un código muy bueno y de código abierto para que pueda integrarse como una billetera en el sitio.
Para generar billetera pensó JSON-RPC (pase enviado a través de la red):
//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;
}
Si confía en un tercero con la creación de su billetera, pueden almacenar las claves, lo que es un problema grave.
Si cree que no es técnico y puede hacer la llamada a la API, puede hacer más con la compilación fuera de línea de myetherwallet.com . Le ayudará a ejecutar todo myetherwallet.com en su máquina local, incluso sin Internet.
git clone https://github.com/MyEtherWallet/MyEtherWallet.git mew --depth=1
cd mew
npm i
npm run build
Esto creará una carpeta build
con el nombre mew/build
que le ayudará a hacer esto.
PD: no confíe en ningún tercero con las llaves de su billetera, si almacena una cantidad considerable de monedas.
Rápido y fácil con este comando:
curl -sX POST https://api.blockcypher.com/v1/eth/main/addrs
ética