PHP寫個網頁小工具來監控你的加密幣 原

編寫一個網頁小工具來監控你的加密幣投資組合的價值,只需要非常簡單的PHP和HTML技能就行。

文章目的超級簡單,但我認爲可能有很多人會加入加密貨幣的投資,在某個地方擁有一個網站,並想建立一個私人(或者hell,也許是public)頁面在某個地方實時顯示你的加密投資組合的價值。但是,你可能不知道如何自己編寫代碼。

使用免費的Coinmarketcap API非常容易。當你爲它添加一些樣式時,你可以製作你的投資組合小部件,方式沒有限制,你也可以添加多少額外的數學和計算。

對於我來說基本上只是做了一個小的Bootstrap表並將它設置爲輸出我自己的可憐的“portfolio”,在我擁有它的頁面上,它呈現出來如下:

現在這麼容易!每當我想知道我的組合價值時,我就在想我原來是多麼可笑,徹底厭倦了用幣值去更新電子表格。

你只需要一個可以使用的網站,例如,任何運行Wordpress的普通服務器。在下面的示例代碼中,我已經取出了bootstrap的東西,所以它應該只是渲染一個普通的舊HTML表。你可能想要添加自定義類或其他很酷的東西(例如,將負百分比設置爲紅色,將正數設置爲綠色)。

首先,你需要告訴代碼你擁有的每種貨幣的數量。我使用了一個數組來保存,在下面的代碼中稱爲$myCoins。希望你可以看到如何使用你自己的貨幣符號爲自己定製,並在那些位置放置餘額。請注意,無論何時購買更多加密幣和更改內容,你都需要在腳本的$myCoins部分更新餘額。

無論如何,這是基本代碼,我將在下面添加更多評論。:-)

<?php
$myCoins = array(
   'BTC' => array ( 'balance' => 0.0093 ),
   'ETH' => array ( 'balance' => 0.235724420 ),
   'XRB' => array ( 'balance' => 2.524402070 ),
   'MIOTA' => array ('balance' => 33.000000000 ),
   'XRP' => array ( 'balance' => 49.000000000 ),
   'XLM' => array ( 'balance' => 105.894000000 ),
   'TRX' => array ( 'balance' => 599.400000000 )
);
// ok now hit the api...
$coinbasePublicAPI = 'https://api.coinmarketcap.com/v1/ticker/';
$coinData = file_get_contents($coinbasePublicAPI);
$coinData = json_decode($coinData, true);
echo '<table>';
echo '<tr>';
   echo '<td>NAME</td>';
   echo '<td>SYMBOL</td>';
   echo '<td>PRICE</td>';
   echo '<td>HOLDINGS</td>';
   echo '<td>VALUE</td>';
   echo '<td>1hr</td>';
   echo '<td>24hr</td>';
   echo '<td>7day</td>';
echo '</tr>';
$numCoinbaseCoins = sizeof ($coinData);
$portfolioValue = 0;
for ( $xx=0; $xx<$numCoinbaseCoins; $xx++) {
   // this part compares your coins to the data...
   $thisCoinSymbol = $coinData[$xx]['symbol'];
   // if you have it, this var is true...
   $coinHeld = array_key_exists($thisCoinSymbol, $myCoins);
   // comment the next line out & you will see ALL of the coins 
   // returned (not just the ones you own):
   if ( !$coinHeld ) { continue; }
   
   echo '<tr>';
   
      // name:
      echo '<td>' . $coinData[$xx]['name'] .'</td>';
      
      // symbol:
      echo '<td>' . $thisCoinSymbol .'</td>';
      
      // price:
      $thisCoinPrice = $coinData[$xx]['price_usd'];
      echo '<td>&#36;' . number_format($thisCoinPrice,2) .'</td>';
      
      // holdings:
      echo '<td>';
         if ($coinHeld) {
            $myBalance_units = $myCoins[$thisCoinSymbol]['balance'];
            echo number_format($myBalance_units,10);
         }
      echo '</td>';
      
      // track running total value of coins:
      if ($coinHeld) {
         $myBalance_USD = $myBalance_units * $thisCoinPrice;
         $portfolioValue += $myBalance_USD;
      }
      // value:            
      echo '<td>&#36;'. number_format($myBalance_USD,2) .'</td>';
      // 1h market change:
      echo '<td>' . $coinData[$xx]['percent_change_1h'] .'%</td>';
      // 24h market change:
      echo '<td>' . $coinData[$xx]['percent_change_24h'] .'%</td>';
      // 7d market change:
      echo '<td>' . $coinData[$xx]['percent_change_7d'] .'%</td>';
      
   echo '</tr>';
   
}
echo '<tr>';
   echo '<td colspan="4"><strong>TOTAL</strong></td>';
   echo '<td colspan="4"><strong>&#36;' . number_format($portfolioValue,2) . '</strong></td>';
echo '</tr>';
echo '</table>';
?>

......這就是你所需要的。只需自定義初始的$myCoins數組,它應該渲染你的表。很可能,你的投資組合比我的投資組合更令人印象深刻,因爲我對這一切都很陌生,而且我仍然在學習加密投資。

筆記

上面的腳本擊中了Coinmarketca.com API。API方法和其他說明如下:https://coinmarketcap.com/api/

他們要求你每分鐘調用API不超過10次,所以,也許不要把它放在一個24/7流量瘋狂的網站上。

上面的例程只調用了一次主API,所以它只會輸入前100個代幣。如果你正在投資一個位於列表中的代幣,你需要自定義上面的腳本以迭代多次調用API,這可以通過在URL的末尾添加“start”參數來完成,如:https://api.coinmarketcap.com/v1/ticker/?start=100你需要設置API命中循環並從結果中構建更大的數據集,然後將其全部解析到屏幕上。

OTOH,我想,爲了讓他們全部(我認爲他們有大約1,500個代幣),你需要調用他們的API超過10倍,所以它不是做任何大型開發或項目的好資源。顯然,他們會爲這樣的東西推出付費API。

除了添加樣式等,可能需要構建你的代幣列表以包含更豐富的信息。例如,不是我展示的簡單數組,也許你的看起來像:

$myCoins = array(
   'BTC' => array ( 'balance' => 0.0093, 'wallet' => 'Coinbase', 'notes' => 'whatever', 'buy-in-price' => '8005.22' ),
   'ETH' => array ( 'balance' => 0.235724420, 'wallet' => 'Trezor', 'notes' => 'whatever', 'buy-in-price' => '555.88' ),
   'XRB' => array ( 'balance' => 2.524402070, 'wallet' => 'Binance', 'notes' => 'whatever', 'buy-in-price' => '1.25' ),
   'MIOTA' => array ('balance' => 33.000000000, 'wallet' => 'GDAX', 'notes' => 'whatever', 'buy-in-price' => '0.25' ),
   'XRP' => array ( 'balance' => 49.000000000, 'wallet' => 'Kucoin', 'notes' => 'whatever', 'buy-in-price' => '1.25' ),
   'XLM' => array ( 'balance' => 105.894000000, 'wallet' => 'Paper wallet', 'notes' => 'whatever', 'buy-in-price' => '2.50' ),
   'TRX' => array ( 'balance' => 599.400000000, 'wallet' => 'Bittrex', 'notes' => 'whatever', 'buy-in-price' => '0.054' )
);

......然後你的小部件或報告可能會更令人興奮。我實際上喜歡使用一個小型數據庫應用程序來跟蹤餘額,而不必在餘額發生變化時隨時更新代碼。但是,對我來說,這就像其他任何事情一樣簡單,而且速度很快......當然,我的餘額是相當可悲的。但是,這個想法是你不僅限於存儲代幣餘額;你也可以存儲其他信息,並使用它來計算和/或顯示你的小部件或財務報告中的結果,或者你正在構建的任何內容。

簡單,我知道......但有點樂趣,並希望對一些想要將Coinmarketcap.com數據提取到他們網站的人有所幫助。:-)

=====================================================================

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章