编写一个网页小工具来监控你的加密币投资组合的价值,只需要非常简单的PHP和HTML技能就行。

文章目的超级简单,但我认为可能有很多人会加入加密货币的投资,在某个地方拥有一个网站,并想建立一个私人(或者hell,也许是public)页面在某个地方实时显示你的加密投资组合的价值。但是,你可能不知道如何自己编写代码。

使用免费的Coinmarketcap API非常容易。当你为它添加一些样式时,你可以制作你的投资组合小部件,方式没有限制,你也可以添加多少额外的数学和计算。

对于我来说基本上只是做了一个小的Bootstrap表并将它设置为输出我自己的可怜的“portfolio”,在我拥有它的页面上,它呈现出来如下:

image

现在这么容易!每当我想知道我的组合价值时,我就在想我原来是多么可笑,彻底厌倦了用币值去更新电子表格。

你只需要一个可以使用的网站,例如,任何运行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数据提取到他们网站的人有所帮助。:-)

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

分享一些以太坊、EOS、比特币等区块链相关的交互式在线编程实战教程:

  • tendermint区块链开发详解,本课程适合希望使用tendermint进行区块链开发的工程师,课程内容即包括tendermint应用开发模型中的核心概念,例如ABCI接口、默克尔树、多版本状态库等,也包括代币发行等丰富的实操代码,是go语言工程师快速入门区块链开发的最佳选择。
  • EOS教程,本课程帮助你快速入门EOS区块链去中心化应用的开发,内容涵盖EOS工具链、账户与钱包、发行代币、智能合约开发与部署、使用代码与智能合约交互等核心知识点,最后综合运用各知识点完成一个便签DApp的开发。
  • java以太坊开发教程,主要是针对java和android程序员进行区块链以太坊开发的web3j详解。
  • python以太坊,主要是针对python工程师使用web3.py进行区块链以太坊开发的详解。
  • php以太坊,主要是介绍使用php进行智能合约开发交互,进行账号创建、交易、转账、代币开发以及过滤器和交易等内容。
  • 以太坊入门教程,主要介绍智能合约与dapp应用开发,适合入门。
  • 以太坊开发进阶教程,主要是介绍使用node.js、mongodb、区块链、ipfs实现去中心化电商DApp实战,适合进阶。
  • C#以太坊,主要讲解如何使用C#开发基于.Net的以太坊应用,包括账户管理、状态与交易、智能合约开发与交互、过滤器和交易等。
  • java比特币开发教程,本课程面向初学者,内容即涵盖比特币的核心概念,例如区块链存储、去中心化共识机制、密钥与脚本、交易与UTXO等,同时也详细讲解如何在Java代码中集成比特币支持功能,例如创建地址、管理钱包、构造裸交易等,是Java工程师不可多得的比特币开发学习课程。
  • php比特币开发教程,本课程面向初学者,内容即涵盖比特币的核心概念,例如区块链存储、去中心化共识机制、密钥与脚本、交易与UTXO等,同时也详细讲解如何在Php代码中集成比特币支持功能,例如创建地址、管理钱包、构造裸交易等,是Php工程师不可多得的比特币开发学习课程。

汇智网原创翻译,转载请标明出处。这里是原文PHP写个网页小工具来监控你的加密币

PHP写个Web小工具来监控你的加密币相关推荐

  1. 【kimol君的无聊小发明】—用python写截屏小工具

    [kimol君的无聊小发明]-用python写截屏小工具 前言 一.技术实现 1. 相关库 2. 定义窗口 3. 绘制工具条 4. 定义事件函数 二.后续改进 写在最后 前言 今天我看了一下自己的文件 ...

  2. 某程序员为方便老婆工作,写了一些小工具给老婆用!如今老婆要离职,公司老板却要求必须把工具留下!网友:跟他收费!...

    请点击上面 一键关注! 最近一个程序员发帖说了这么一件有意思的事: 老婆是一个小公司的hr兼行政,工作繁琐,为了支持老婆工作,这个程序员就写了一些小工具给老婆用,包括工牌生成器.日报格式化工具.年会抽 ...

  3. python小工具小发明_【kimol君的无聊小发明】—用python写截屏小工具

    前言 今天我看了一下自己的文件夹,发现了自己写了许多似乎很无聊的代码.于是乎,一个想法油然而生:"生活已经很无聊了,不如再无聊一点叭". 说干就干,那就开一个专题,我们称之为kim ...

  4. aspose 转pdf表格大小乱了_自己写了一个小工具类:pdf转word,没有页数和大小限制,保真!...

    昨天下午遇到一个问题,想把一个比较大的pdf转化为word,结果使用了各种工具都收费.想着干脆写一个小工具吧,一开始使用的python等等试了好几个网上的代码,结果全都失真.于是乎不得不花了一下午自己 ...

  5. 如何用python写小工具_用python写一个录音小工具

    Python的paramiko,wxPython库的应用 Sound eXchange 命令行 需求 最近在给一个做语音识别的项目做QA工作.众所周知,此类人工智能方面的项目都需要一些数据收集的工作. ...

  6. python登录网站下载excel_写了一个小工具,爬去指定网站的的登陆后的数据进行整理,可以正常登陆了,但是无法下载excel文件?...

    题目描述 我计划写一个小工具,爬取我账号里面的数据,采用requests登陆后,虽然可以正常登陆,但是无法下载里面Excel数据,麻烦大货帮我分析一下,怎么解决.我知道可能是权限问题,下载的时候需要带 ...

  7. AI代写计划总结怎么做?分享一个代写计划总结小工具

    计划总结是规划和安排工作的重要步骤,可以帮助我们更好地了解任务和目标,明确工作重点和时间表,从而提高工作效率和质量.它还可以帮助我们识别问题和挑战,制定相应的解决方案和应对策略,提高工作的成功率和可持 ...

  8. python自制语音识别_为了满足我的需求,自己用python写了个小工具合集,包括图片、语音识别、翻译pdf等...

    本帖最后由 zhaoyun007 于 2019-6-29 20:10 编辑 V2.0版更新: 加入免费的音频转文字接口,免费的有普通话.英文.粤语.四川话识别,速度慢些,但准确率还可以. QQ截图20 ...

  9. 之前帮朋友写的一个小工具-征途2新浪卡全自动淘号工具+按钮精灵脚本

    比较简单的小工具 using System; using System.Collections.Generic; using System.ComponentModel; using System.D ...

最新文章

  1. 微服务认证模式_微服务之“网关模式”
  2. python动态生成数据库表_使用Python创建MySQL数据库实现字段动态添加以及动态的插入数据...
  3. zabbix配置邮箱报警
  4. 渗透技巧——利用netsh抓取连接文件服务器的NTLMv2 Hash
  5. ext 如何判断是否是整数_Excel表格技巧—如何用ISNUMBER判断是否是数值
  6. Java 算法 FBI树
  7. 串口IO、定时器、回调函数
  8. MongoDB中常用的几种数据类型
  9. mysql 网吧管理系统设计_网吧管理系统开题报告.doc
  10. 在谷歌浏览器中安装IE Tab插件
  11. 国内无代码平台数据统计功能对比
  12. 阿里云ACP认证适合什么样的人考?
  13. 02-2017.07-计算机设计大赛《盲人的眼睛》
  14. MySql 如果字段为NULL则返回0
  15. 快速傅里叶变换(研二的我终于弄懂了)
  16. [摘] 什么是网络流量劫持?揭秘详解黑客劫持的攻击手段与防御方法 (一)
  17. vue页面fav icon
  18. 使用Cloudberry Explorer管理和访问阿里云OSS
  19. python量化实战 顾比倒数线_外汇高手分享:顾比倒数线的画法与经典战法
  20. Lawliet|Python学习笔记——turtle库

热门文章

  1. 中国首个开源基金会“开放原子开源基金会”亮相
  2. airpods pro是按压还是触摸_外媒曝AirPods Pro出现广泛故障:触摸和佩戴识别失效...
  3. 光引发剂 907/UV光固化引发剂/阳离子光引发剂320/水性无味引发剂
  4. 桥牌坐庄训练bm2000 level3闯关记录——A9
  5. 实验三 敏捷开发与XP实践 实验报告 20135232王玥
  6. 金三银四,给大家肝一下面试~
  7. 电子线路实验I综合设计:数字钟
  8. 《土力学与地基基础(二)》在线平时作业1
  9. Mat 颜色空间转换
  10. 增值税发票生成EXCEL——调用百度开发接口