HomeBlogMagic

Bitcoin - PHP Transaction-Script

Um meine Bitcoins automatisch zu sichern, habe ich in PHP ein Script geschrieben, mit dem es mir auf einfache Weiße ermöglicht wird alle Bitcoins die ich besitze an eine bestimmte Adresse mit eigens festgelegter Gebühr zu überweißen.

Mit nur wenigen Änderungen ist es möglich die Transaktion den eigenen Bedürfnissen an zu passen, z.B. eine feste Fee (Gebühr) einstellen, mehrere Ausgabeadressen, etc.

Für die Funktion wird benötigt:

Das Script:

require_once("jsonRPCClient.php");
$jsonrpc = new jsonRPCClient("http://127.0.0.1:8332");
$unspent = $jsonrpc->listunspent();<br /> $i=0;
$amount=0;<br /> for(; isset($unspent[$i]); $i++)
{
    $input[$i] = array(
    "txid"=>$unspent[$i]['txid'],
    "vout"=>$unspent[$i]['vout']);
    $amount += $unspent[$i]['amount'];
}
$fee = (int) ((($i+1) * 181 + 34 + 10) /1024) + 1;
$fee *= 0.0001; //fee per kb
if($amount > $fee AND $fee > 0)
{
    echo "Amount:\t ".($amount - $fee)."\n";
    echo "Fee: \t ".($fee)."\n";
    $output = array(
        "1BackupVNHhsJrhnwTAuKiMz2nosj9vtxa" => ($amount - $fee));
    echo "Unsigned:\n";
    echo $tx = $jsonrpc->createrawtransaction($input, $output);
    echo "\nSigned:\n";
    $signed = $jsonrpc->signrawtransaction($tx);
    echo $signed['hex'];
    echo "\nResult:\n";
    if(isset($signed['complete']) AND $signed['complete'] != 0)
      $jsonrpc->sendrawtransaction($signed['hex']);
    else
      echo "failed";
    echo "\n";
}

Für Fragen dazu stehe ich gerne zur Verfügung.

Permalink: https://adirmeier.de/Blog/ID_86
Tags: Blog, Bitcoin, phpvon am 2013-03-12