Estoy creando una aplicación y una de mis características es poder escanear una clave privada de bitcoin y luego enviar una parte de sus fondos a otra dirección. ¿Cómo puedo hacer algo como esto en javascript o php? ¿Necesito ejecutar mi propio servidor Bitcoin?
¿Hay algún script de ejemplo que pueda usar en el que solo pueda conectar una clave privada?
Puede usar su propio servidor bitcoind o puede usar un servicio API de terceros.
Hagamos algunos ejemplos de lo que está preguntando.
Usaré direcciones falsas cortas y claves privadas como ejemplos para facilitar las cosas.
<?php
require("easybitcoin.php");
$bitcoin = new Bitcoin("username", "somepassword");
//add the private key (label, key)
$import = bitcoin->importprivkey("5KL3cN..SOME_PRIVATE_KEY", "Satoshi1");
?>
Lo que hicimos aquí fue importar una clave privada y darle una etiqueta única específica. Esta parte puede demorar un tiempo, ya que su nodo deberá volver a escanear a medida que agregó una nueva clave privada y debe verificar las transacciones.
Una vez que se vuelve a escanear el nodo, puede enviar los fondos.
<?
require("easybitcoin.php");
$bitcoin = new Bitcoin("username", "somepassword");
//send the funds from the Satoshi1 account/label
$send = $bitcoin->$bitcoin->sendfrom("Satoshi1","1receivingAddress", 0.5);
echo $send ? $send : "Oops an error: ".$bitcoin->error;
?>
Lo que hicimos arriba fue usar el sendfrom()
comando JSON RPC para enviar 0.5BTC desde la cuenta/etiqueta Satoshi1 a la dirección de recepción 1. Si tiene éxito, responderá con el ID de la transacción, o si hay un error, imprimirá el error.
Este es solo el código, aún necesitará configurar su VPS con bitcoind o puede ejecutar un nodo en la computadora de su hogar y experimentar localmente usando algo como xampp.
Aquí hay un ejemplo con la API de billetera blockchain.info. Puede importar la clave privada usando su utilidad de creación de billetera y luego enviarla desde esa dirección específica.
$private = "5KL3cN..SOME_PRIVATE_KEY";
$url = "http://127.0.0.1:3030/merchant/YOUR-GUID/create?password=YOUR-PASSWORD&api_code=YOUR-API-CODE&priv=".$private;
$ch = curl_init();
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); //change to true if your host can verify SSL
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_URL, $url);
$ccc = curl_exec($ch);
$json = json_decode($ccc, true);
echo "<pre>";
var_dump($json);
echo "</pre>";
Luego, una vez creado, puede enviar desde esa nueva dirección específica que se importó.
$from = "1fromAddress";
$to = "1receivingAddress";
$url = "http://127.0.0.1:3030/merchant/YOUR-GUID/payment?password=YOUR-PASSWORD&api_code=YOUR-API-CODE&from=".$from."&amount=1000000&to=".$to;
//amounts are in satoshi so 1000000 is 0.01BTC
$ch = curl_init();
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_URL, $url);
$ccc = curl_exec($ch);
$json = json_decode($ccc, true);
echo "<pre>";
var_dump($json);
echo "</pre>";
Si necesita ayuda para configurar la API de billetera de bitcoind o blockchain.info, le sugiero que consulte mis tutoriales en youtube. La parte más difícil con la ruta de terceros es obtener una clave API; Escuché que blockchain.info ha sido estricto con estos últimamente.
método de servidor bitcoind: https://www.youtube.com/watch?v=cMM-t7azzJE
blockchain.info método de terceros: https://www.youtube.com/watch?v=X8jsaf4sEgs
Patoshi パトシ
Patoshi パトシ
m1xolyd1an
Patoshi パトシ