編寫一個網頁小工具來監控你的加密幣投資組合的價值,只需要非常簡單的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資料提取到他們網站的人有所幫助。:-)
php以太坊,主要是介紹使用php進行智慧合約開發互動,進行賬號建立、交易、轉賬、代幣開發以及過濾器和交易等內容。
php比特幣開發教程,本課程面向初學者,內容即涵蓋比特幣的核心概念,例如區塊鏈儲存、去中心化共識機制、金鑰與指令碼、交易與UTXO等,同時也詳細講解如何在Php程式碼中整合比特幣支援功能,例如建立地址、管理錢包、構造裸交易等,是Php工程師不可多得的比特幣開發學習課程。
這裡是原文PHP寫個網頁小工具來監控你的加密幣