可丽金
首页 区块链 使用Node.js和Cassandra,构建加密货币价格跟踪器 译文

使用Node.js和Cassandra,构建加密货币价格跟踪器 译文

【综合网.com快译】自15年前数据技术领域出现大爆炸以来,当时催生出了像Hadoop这样迎合四个“V”(数量、种类、速度和准确性)的技术,这种现象越来越普遍:使用拥有专门功能的数…

【综合网.com快译】自15年前数据技术领域出现大爆炸以来,当时催生出了像Hadoop这样迎合四个“V”(数量、种类、速度和准确性)的技术,这种现象越来越普遍:使用拥有专门功能的数据库,以满足不同类型的数据和使用模式。现在许多公司使用图数据库、时间序列数据库、文档数据库及其他数据库,处理不同的客户和内部工作负载。

Apache Cassandra™是一种宽列的NoSQL数据库,很适合用于从物联网传感器、GPS设备、事务日志和任何时间序列应用等更多应用获取数据的仅追加、写入密集型工作负载。许多这些应用需要与可视化引擎相结合,以创建报告和仪表板。由于大多数可视化库使用JavaScript编写,因此使用Node.js与数据库和可视化引擎进行交互是个好主意。

本教程将介绍如何使用小型Node.js应用程序从API获取加密货币数据,并将该数据持续摄入到Cassandra中,供下游消费。您可以将来自Cassandra的数据馈送给众多应用,比如加密货币交易平台、加密货币价格监测和警报等。

先决条件

在开始学习本教程之前,您需要以下内容:

  • Node.js—本地Node.js安装,随带默认软件包管理器npm。
  • Git—克隆含有本教程代码的GitHub代码存储库。
  • DataStax Astra—用于启动无服务器Cassandra数据库,与API或驱动程序一起使用。
  • CoinGecko-API—用于访问CoinGecko加密货币数据的Node.js库。

克隆存储库

您可以使用git clone命令克隆Cassandra Node.js Cryptotracker的GitHub存储库:

  1. gitclonegit@github.com:kov综合网id-r/cassandra-nodejs-cryptotracker.git

克隆存储库后,首要任务是安装package.json文件和package-lock.json文件中指定的Node.js依赖项。npm将使用以下命令在存储库目录中安装依赖项:

  1. npminstall

这些说明也存在于存储库的README文件中。

配置Astra

创建数据库

在运行应综合网用程序之前,您需要注册由Apache Cassandra提供支持的DataStax Astra,并启动Cassandra数据库。

虽然价格信息会随着您改变云提供商和地区而变化,但对于概念证明、甚至小型生产应用程序而言,您只需要Astra已经为用户提供的每月25美元的免费积分,这可让您获得约40 GB 的免费存储空间、4000万次读取和500万次写入。无需信用卡即可注册,只需使用谷歌或GitHub登录即可。

点击Create Database选项,您进入以下页面:可以在全球三大云提供商(谷歌云、AWS和Azure)中的任何一个云上创建数据库。您需要提供数据库名称(节点应用程序)和密钥空间名称(coingecko)。请使用指定的名称。

初始化数据库

想首次访问数据库,请使用CQLSH浏览器内控制台,如下图所示:

如果数据库中没有密钥空间,使用该控制台运行两个命令来创建,并在指定的密钥空间创建表。表的结构在存储库中的initialize.sql文件中预定义。来自CoinGecko API调用的数据将出现在该表中。

下载Secure Bundle

您需要将DataStax Secure Bundle zip文件下载到Node.js应用程序目录。确保您的浏览器在下载文件时没有解压缩文件。

您需要为后面步骤中的配置提供该文件的路径;想了解有关Secure Bundle的更多信息,请访问DataStax Astra的官方文档。

生成身份验证令牌

下一步是生成身份验证令牌。为此,点击顶部菜单栏上的Billing选项。将会出现下图所示的屏幕:

进入到左侧菜单栏中的Token Management选项,选择Select Role下拉菜单中的R/W User角色,然后按Generate Token。

您将看到以下带有身份验证令牌的屏幕。下载CSV格式的Client ID、Client Secret和Token,或直接复制它们。

运行Cryptotracker

使用Npm Config进行身份验证

现在,我们可以继续运行Node.js Cryptotracker应用程序了。在本教程中,我们使用config软件包避免在代码中存储令牌信息。我们在存储库config/default.json中包含了一个文件,看起来这样:

想验证身份,按照说明替换该JSON文件中的secureConnectBundle、用户名和密码的值,但确保不要将其提交到代码库中。

运行Npm Start

如果您已正确配置好一切,现在应该能够从Node.js应用程序目录运行以下命令了:

  1. npmstart

Node.js应用程序将运行40秒,命中CoinGecko API。可以通过找到index.js文件中的这两行,并重新配置主函数调用来更改它。

运行npm start几次后,您可以前往Astra网站查看您的配额已使用多少,如下图所示:

您还可以登录CQL控制台,编写CQL查询,从coingecko.coin_prices表中获取一些数据,如下图所示:

如果您想获取其他货币的价格,可以将不同的参数传递给getCoinPrice方法变量:coinName和coinSymbol。

连接其他应用程序

其他应用程序可以使用来自Cassandra的数据。DataStax Astra支持C#、Python、Node.js、Java和C++的驱动程序。您可以将Grafana等流行的可视化引擎与Astra无缝集成。

结语

本教程介绍了如何使用Cassandra作为时间序列数据库,使用Node.js应用程序来获取加密货币价格变动信息,还介绍了使用您首选的云提供商在云端配置DataStax Astra数据库。

原文标题:Build A Crypto Price Tracker Using Node.js and Cassandra,作者:Kovid Rathee

【综合网译稿,合作站点转载请注明原文译者和出处为综合网.com】

相关推荐: 区块链与餐饮结合开发出的场景

要想利用区块链来突破当前餐饮行业所存在的问题或瓶颈,那么要看清的一点就是区块链能作用在餐饮行业的哪些方面,作用之后能否综合网带来实质性的效果。其实餐饮行业要做的话这条链都是可以的,餐饮业整体可分为上游(如食材)、中游(如供应链服务)、下游(如餐饮服务)三个部分…

本文来自网络,不代表综合网立场。转载请注明出处: https://zonghe.com/56778.html
网赚兼职
上一篇
下一篇

作者: 阿吉

这个人很懒,什么都没有留下~

为您推荐

发表回复

联系我们

联系我们

0532-83636888

在线咨询: QQ交谈

邮箱: 70859888@qq.com

工作时间:周一至周五,9:00-17:30,节假日休息

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

关注微博
返回顶部