Php

如何從不同來源獲得比特幣兌美元的平均價格

  • November 9, 2017

我在這裡創建了一個非常簡單的 php 函式來獲取比特幣的目前價格到美元,

   //get from coin market
$getCoinMarketPrice = getPrice('https://api.coinmarketcap.com/v1/ticker/bitcoin/?convert=USD');
$btcValues[1]= $getCoinMarketPrice[0]['price_usd'];
//get from bitstamp
//
$getBitstampPrice = getPrice('https://www.bitstamp.net/api/v2/ticker/btcusd/');
$btcValues[2] = $getBitstampPrice['last'];
//get from blockchain

$getBlockchainPrice = getPrice('https://blockchain.info/ticker');
$btcValues[3] = $getBlockchainPrice['USD']['last'];

//get from cytptonator
$getCtyptonatorPrice = getPrice('https://api.cryptonator.com/api/ticker/btc-usd');
$btcValues[4] = $getCtyptonatorPrice['ticker']['price'];

$total=0;
for ($i=0; $i < count($btcValues[$i]); $i++) {
   $total +=$btcValues[$i];
}
$average = $total/count($btcValues[$i]);
return $average;

上面的這段程式碼將從不同的來源獲得比特幣價格,並將它們加在一起,然後除以它獲得它們的來源的總數,例如

來自區塊鍊和 bitpay 和 Xapo 的比特幣分別為 6000,5689,5997,因此為了得到平均結果,我們將這些結果相加並除以 3。

這段程式碼執行良好,但它使我的應用程序非常慢,有時甚至超時。請我需要它比這更好,謝謝

您會希望避免在每次頁面載入時都這樣做。相反,我建議將其設置為每 N 分鐘執行一次並將值轉儲到數據庫中的 cronjob。然後從您的數據庫中提取每個頁面載入,而不是從外部來源獲取。這將使您的頁面載入速度更快,並且您不會有太多的 api 請求。大多數網站都會限制您的請求數量,如果您在每次頁面載入時都對它們進行 ping 操作,您可能會被阻止。

引用自:https://bitcoin.stackexchange.com/questions/62326