【汇新云】为大家定期更新文章,【汇新云】IT人的产业链平台


最近看到一篇文章 Build a Cryptocurrency Price Tracker in 5 Minutes,笔者对加密数字货币价格走势不是特别关心,但这篇文章非常有趣,本文想从技术的角度分析下实现思路。

题图来自: © Mr. Crowd / Tether Claims US$30 Million Worth of Token Stolen / mrcrowd.com

Joe Hanson 实现此功能使用了如下的 技术栈:

PubNub JavaScript SDK,消息接口

EON SDK,图表框架

CryptoCompare,加密数字货币价格 API 接口

实现原理 如下:

采用发布订阅的功能,使用 PubNub 做消息发布

发布器根据设定的规则调用 CryptoCompare API 接口,这个可以理解成服务端

订阅器接收发布器采集到的数据,然后用图表框架 EON 展示

具体来说,发布器的构建需要 PubNub 账号。发布器使用 JavaScript 实现,需要使用 PubNub 账号提供的 Publish Key 和 Subscribe Key 构建 PubNub 和 XMLHttpRequest 对象。

接下来创建 processRequest 函数,这个函数的功能是接收 CryptoCompare 接口的返回结果,然后发布不同币种的加密货币价格走势数据到不同的 Channel。接着需要创建 main 函数入口,这个函数的功能是定时调用 CryptoCompare 接口。比如如下接口的含义表示同时获取 BTC、ETH、EOS 的实时价格,并且以人民币 CNY 展示:

https://min-api.cryptocompare.com/data/pricemulti?fsyms=BTC,ETH,EOS&tsyms=CNY

接下来我们再看下订阅器。发布器可以取到实时数据,我们需要订阅器来接收这些数据,并且用图表展示出来,此时就需要 EON 框架了。EOS 框架我们需要引入 eon.js 和 eon.css。然后我们创建 N 个 div 样式,接着我们仍然需要构建 PubNub 对象,不过此时只需要填写 Subscribe Key。接下来为了表格更加美观,我们需要设置一系列的参数。然后我们初始化 N 个 EON 图表,这些 EON 图表会接收来自发布器的不同 channel 的数据并展示给用户。

我们在浏览器同时打开发布器(cryptoPublisher.html)和订阅器(cryptoSubscriber.html),就可以在订阅器中看到实时展示的图表了。效果如图:

当然,生产环境我们还需要 Access Manager 来做安全控制。

这只是一个最小化的例子,CryptoCompare API 还有很多功能,订阅器也可以做美观优化,感兴趣的读者不妨试试。笔者根据原作者项目修改的源码已经上传到 GitHub。

94 之前,云币网是一个明星交易所,云币是基于开源的 peatio 构建的。peatio 是用 Ruby 实现的,对交易所感兴趣的读者不妨去读下 peatio 的源码。总之看了 peatio 提供的 feature,非常强大。

加密数字货币价格走势曲线图是交易所的核心功能之一。当然,线上业务比这复杂得多,本文只是提供了一个雏形供读者参考。


好区块链,拥抱新未来:

区块链产品经理(点击入驻),和圈内人士混个脸熟。

从 0 到 1 构建加密货币价格走势图相关推荐

  1. Vitalik万字长文:困扰加密货币的硬核难题五年后都怎么样了?

    写在前面:本文为以太坊联合创始人Vitalik Buterin发布的硬核长文.文章中列出了他五年前认为加密货币应该解决的问题,并且给出了五年后的进展.这些问题主要被分为了密码学问题.共识理论和经济学这 ...

  2. 全球范围内可使用的8张加密货币借记卡

    点击上方 "蓝色字" 可关注我们! 暴走时评: 加密货币正逐渐成为适用于各种市场和司法辖区内的支付手段.如果有一个工具可以显着扩展数字货币在传统支付系统占主导地位的世界中的可用性, ...

  3. 加密货币、区块链不断贴近生活,阿里、腾讯、脸书等大厂们在做什么?

    北京时间5月12日凌晨3点23分,高度为63万的比特币区块被蚂蚁矿池(AntPool)挖出,四年一度的减半盛事落下帷幕.减半后,虽然比特币的价格有所起伏,但并没有出现所谓的"减半行情&quo ...

  4. 全面解读Facebook加密货币——从零开始构建Libra区块链

    文:文学 来源: 火星财经 6月18日下午5点,Facebook加密货币项目Libra白皮书正式发布. 根据白皮书描述,Libra的使命是建立一套简单的.无国界的货币和为数十亿人服务的金融基础设施. ...

  5. 构建现代应用程序:区块链和加密货币架构

    作者:禅与计算机程序设计艺术 本文是结合互联网和金融领域相关的专业背景知识,对比分析区块链和加密货币技术在不同场景下的应用以及优劣势,从而阐述如何构建现代应用程序.我们将阐述以下几个方面: 1)什么是 ...

  6. 如何构建一个加密货币交换应用程序将要花费多少钱

    你可能听说过加密货币世界最近的趋势.毕竟,现在每个人都在"挖矿".然而,没有足够的gpu来满足需求. 即使对那些不懂科技的人来说,加密货币也是可以实现的.在某种程度上,人们发现了以 ...

  7. 第三代互联网蓄势待发 a16z:加密货币和Web 3.0将是下个周期的中心 分析红杉资本的Web 3版图

    ​​最近一个月二级跌跌不休,但从长线来看,希望大家不要忘记 Web3 正处于建设阶段.按照Bankless的说法:熊市使 CEO 能够从基本原则角度进行思考,花更多的时间来打造有意义的技术.随着大批新 ...

  8. 比特币和加密货币入门

    链客,专为开发者而生,有问必答! 此文章来自区块链技术社区,未经允许拒绝转载. 比特币与加密货币 现在人们对加密货币空间产生巨大的兴趣的同时也同样也存在这疑惑与不解.比特币,加密货币,区块链,ICOs ...

  9. Node.js和NoSQL开发比特币加密货币应用程序(下)

    在使用Node.js和NoSQL开发比特币加密货币应用程序(上)中,我们创建了HD钱包,它可以为给定的种子生成无限量的密钥,每个密钥代表一个用户钱包.我们将根据主种子创建每个包含钱包的用户帐户.下面我 ...

最新文章

  1. 已知小红今年12岁c语言编程,C语言程序设计第轮复习习题.doc
  2. csgo国服文件转国际服务器,csgo国际服怎么转国服 csgo国际服转到国服方法介绍...
  3. 锁的用处及脏读、不可重复读和幻觉读的概念
  4. Linux系统结构 详解
  5. FFMPEG结构体分析之AVCodecContext
  6. java 第十一章总结
  7. 在switch语句中,case后的标号只能是什么?
  8. 两个numpy取相同值_闲谈Numpy的切片规则
  9. python优雅编程_Python优雅地可视化数据
  10. FreeModbus RTU传输
  11. windows下使用Nginx服务器实现负载均衡方法
  12. SQL Server元数据损坏(metadata corruption)修复
  13. webservice服务及客户端 编程 - 入门
  14. 历经外企、创业公司、大厂的程序员告诉你:第一份工作有多重要!
  15. SAP ABAP第一,两,三代出口型BADI实现 解释的概念
  16. 2021年度最全“Java面试宝典+Java核心知识集”,一箭双雕杠春招
  17. 免流类软件无ROOT开热点教程
  18. 2019顺网无盘服务器配置,顺网无盘如何不安装网维客户端上传系统到无盘服务器...
  19. 以下服务器系统运用呼吸,一种呼吸训练系统
  20. 搜索功能这样设计,大家都说我有点东西

热门文章

  1. 硬盘的P表和G表介绍
  2. 伯乐识马,天九共享独角兽加速合作大会盛大开幕
  3. CAD文件怎样转换成PDF?CAD转换成文件的各种小窍门
  4. mysql用户口令复杂度_MySQL设置密码复杂度
  5. 一个数如果恰好等于它的因子之和,这个数就称为“完数“。例如,6的因子1,2,3而6 = 1+2+3,因此6是完数。编程序找出1000之内的所有完数
  6. [Python工具]-批量处理excel数据
  7. 4G标准制定组P802.16m遭否决
  8. 早安朋友圈文案简短正能量
  9. 学习状态通道,Part-4:账本通道和虚拟通道
  10. 最长回文子序列[经典动归二类--开头结尾双循环 + 状态压缩]