編寫一個網頁小工具來監控你的加密幣投資組合的價值,只需要非常簡單的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>$' . 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>$'. 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>$' . 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數據提取到他們網站的人有所幫助。:-)
=====================================================================