Transactions
如何以 JSON 格式獲取比特幣地址的輸入/輸出交易列表?
有沒有一個例子說明如何以 json 格式獲取比特幣地址的所有交易數據?
您可以使用blockchain.info提供的 api。
例如
https://blockchain.info/rawaddr/$bitcoin_address
,用於以 JSON 格式獲取地址的所有交易。
如上所述,您可以使用 blockchain.info 來提取結果。在這裡,我想添加到 m1xolyd1an 提供的解決方案中,他的程式碼工作正常,但它僅提取您嘗試檢索數據的地址所做的最新 50 個結果/交易。
為了從一開始就提取交易的完整細節,必須對程式碼進行一些小的調整。以下是我的解決方案
<?php $address = $_POST['Address']; $url = "https://blockchain.info/address/".$address."?format=json&offset=0"; $json = json_decode(file_get_contents($url), true); $totalTxs = $json["n_tx"]; echo "Total transaction : $totalTxs"; for($ex=0;$ex<$totalTxs;$ex+=50){ //$address = "1HB5XMLmzFVj8ALj6mfBsbifRoD4miY36v"; $url = "https://blockchain.info/address/".$address."?format=json&offset=$ex"; $json = json_decode(file_get_contents($url), true); //total transactions $totalTxs = $json["n_tx"]; //final balance $balanceSatoshis = $json["final_balance"]; $balanceBitcoins = $balanceSatoshis / 100000000; $balanceBitcoins = number_format($balanceBitcoins, 8); //loop through each transaction and display all inputs and outs for($i=0;$i<50;$i++){ echo "<table><tr><td>"; echo "HASH OF TX:</br>"; $hash=$json["txs"][$i]["hash"]; echo " ".$hash; echo "</td><td width='550'>SENT FROM:<br>"; $n_inputs = count($json["txs"][$i]["inputs"]); for($ii = 0; $ii < $n_inputs; $ii++){ $inValue = $json["txs"][$i]["inputs"][$ii]["prev_out"]["value"]; $inValueCalc = $inValue / 100000000; $inAddy = $json["txs"][$i]["inputs"][$ii]["prev_out"]["addr"]; echo " ". rtrim(number_format($inValueCalc, 8), '0') ." ". $inAddy ." "; echo "<br>"; } echo "</td><td>SENT TO:<br>"; $n_outputs = count($json["txs"][$i]["out"]); for($io = 0; $io < $n_outputs; $io++){ $outValue = $json["txs"][$i]["out"][$io]["value"]; $outValueCalc = $outValue / 100000000; $outAddy = $json["txs"][$i]["out"][$io]["addr"]; echo " ". rtrim(number_format($outValueCalc, 8), '0') ." ". $outAddy ." "; echo "<br>"; } echo "</td></tr></table>"; } } ?>