偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

使用Node.js和Cassandra,構(gòu)建加密貨幣價(jià)格跟蹤器

譯文
區(qū)塊鏈
本教程介紹了如何使用小型Node.js應(yīng)用程序從API獲取加密貨幣數(shù)據(jù),并將該數(shù)據(jù)持續(xù)攝入到Cassandra中。

 

【51CTO.com快譯】自15年前數(shù)據(jù)技術(shù)領(lǐng)域出現(xiàn)大爆炸以來,當(dāng)時(shí)催生出了像Hadoop這樣迎合四個(gè)“V”(數(shù)量、種類、速度和準(zhǔn)確性)的技術(shù),這種現(xiàn)象越來越普遍:使用擁有專門功能的數(shù)據(jù)庫(kù),以滿足不同類型的數(shù)據(jù)和使用模式。現(xiàn)在許多公司使用圖數(shù)據(jù)庫(kù)、時(shí)間序列數(shù)據(jù)庫(kù)、文檔數(shù)據(jù)庫(kù)及其他數(shù)據(jù)庫(kù),處理不同的客戶和內(nèi)部工作負(fù)載。

Apache Cassandra™是一種寬列的NoSQL數(shù)據(jù)庫(kù),很適合用于從物聯(lián)網(wǎng)傳感器、GPS設(shè)備、事務(wù)日志和任何時(shí)間序列應(yīng)用等更多應(yīng)用獲取數(shù)據(jù)的僅追加、寫入密集型工作負(fù)載。許多這些應(yīng)用需要與可視化引擎相結(jié)合,以創(chuàng)建報(bào)告和儀表板。由于大多數(shù)可視化庫(kù)使用JavaScript編寫,因此使用Node.js與數(shù)據(jù)庫(kù)和可視化引擎進(jìn)行交互是個(gè)好主意。

本教程將介紹如何使用小型Node.js應(yīng)用程序從API獲取加密貨幣數(shù)據(jù),并將該數(shù)據(jù)持續(xù)攝入到Cassandra中,供下游消費(fèi)。您可以將來自Cassandra的數(shù)據(jù)饋送給眾多應(yīng)用,比如加密貨幣交易平臺(tái)、加密貨幣價(jià)格監(jiān)測(cè)和警報(bào)等。

先決條件

在開始學(xué)習(xí)本教程之前,您需要以下內(nèi)容:

  • Node.js—本地Node.js安裝,隨帶默認(rèn)軟件包管理器npm。
  • Git—克隆含有本教程代碼的GitHub代碼存儲(chǔ)庫(kù)。
  • DataStax Astra—用于啟動(dòng)無(wú)服務(wù)器Cassandra數(shù)據(jù)庫(kù),與API或驅(qū)動(dòng)程序一起使用。
  • CoinGecko-API—用于訪問CoinGecko加密貨幣數(shù)據(jù)的Node.js庫(kù)。

克隆存儲(chǔ)庫(kù)

您可以使用git clone命令克隆Cassandra Node.js Cryptotracker的GitHub存儲(chǔ)庫(kù):

  1. git clone git@github.com:kovid-r/cassandra-nodejs-cryptotracker.git 

克隆存儲(chǔ)庫(kù)后,首要任務(wù)是安裝package.json文件和package-lock.json文件中指定的Node.js依賴項(xiàng)。npm將使用以下命令在存儲(chǔ)庫(kù)目錄中安裝依賴項(xiàng):

  1. npm install 

這些說明也存在于存儲(chǔ)庫(kù)的README文件中。

配置Astra

創(chuàng)建數(shù)據(jù)庫(kù)

在運(yùn)行應(yīng)用程序之前,您需要注冊(cè)由Apache Cassandra提供支持的DataStax Astra,并啟動(dòng)Cassandra數(shù)據(jù)庫(kù)。

雖然價(jià)格信息會(huì)隨著您改變?cè)铺峁┥毯偷貐^(qū)而變化,但對(duì)于概念證明、甚至小型生產(chǎn)應(yīng)用程序而言,您只需要Astra已經(jīng)為用戶提供的每月25美元的免費(fèi)積分,這可讓您獲得約40 GB 的免費(fèi)存儲(chǔ)空間、4000萬(wàn)次讀取和500萬(wàn)次寫入。無(wú)需信用卡即可注冊(cè),只需使用谷歌或GitHub登錄即可。

點(diǎn)擊Create Database選項(xiàng),您進(jìn)入以下頁(yè)面:可以在全球三大云提供商(谷歌云、AWS和Azure)中的任何一個(gè)云上創(chuàng)建數(shù)據(jù)庫(kù)。您需要提供數(shù)據(jù)庫(kù)名稱(節(jié)點(diǎn)應(yīng)用程序)和密鑰空間名稱(coingecko)。請(qǐng)使用指定的名稱。

初始化數(shù)據(jù)庫(kù)

想首次訪問數(shù)據(jù)庫(kù),請(qǐng)使用CQLSH瀏覽器內(nèi)控制臺(tái),如下圖所示:

如果數(shù)據(jù)庫(kù)中沒有密鑰空間,使用該控制臺(tái)運(yùn)行兩個(gè)命令來創(chuàng)建,并在指定的密鑰空間創(chuàng)建表。表的結(jié)構(gòu)在存儲(chǔ)庫(kù)中的initialize.sql文件中預(yù)定義。來自CoinGecko API調(diào)用的數(shù)據(jù)將出現(xiàn)在該表中。

下載Secure Bundle

您需要將DataStax Secure Bundle zip文件下載到Node.js應(yīng)用程序目錄。確保您的瀏覽器在下載文件時(shí)沒有解壓縮文件。

您需要為后面步驟中的配置提供該文件的路徑;想了解有關(guān)Secure Bundle的更多信息,請(qǐng)?jiān)L問DataStax Astra的官方文檔。

生成身份驗(yàn)證令牌

下一步是生成身份驗(yàn)證令牌。為此,點(diǎn)擊頂部菜單欄上的Billing選項(xiàng)。將會(huì)出現(xiàn)下圖所示的屏幕:

進(jìn)入到左側(cè)菜單欄中的Token Management選項(xiàng),選擇Select Role下拉菜單中的R/W User角色,然后按Generate Token。

您將看到以下帶有身份驗(yàn)證令牌的屏幕。下載CSV格式的Client ID、Client Secret和Token,或直接復(fù)制它們。

運(yùn)行Cryptotracker

使用Npm Config進(jìn)行身份驗(yàn)證

現(xiàn)在,我們可以繼續(xù)運(yùn)行Node.js Cryptotracker應(yīng)用程序了。在本教程中,我們使用config軟件包避免在代碼中存儲(chǔ)令牌信息。我們?cè)诖鎯?chǔ)庫(kù)config/default.json中包含了一個(gè)文件,看起來這樣:

想驗(yàn)證身份,按照說明替換該JSON文件中的secureConnectBundle、用戶名和密碼的值,但確保不要將其提交到代碼庫(kù)中。

運(yùn)行Npm Start

如果您已正確配置好一切,現(xiàn)在應(yīng)該能夠從Node.js應(yīng)用程序目錄運(yùn)行以下命令了:

  1. npm start 

Node.js應(yīng)用程序?qū)⑦\(yùn)行40秒,命中CoinGecko API。可以通過找到index.js文件中的這兩行,并重新配置主函數(shù)調(diào)用來更改它。

運(yùn)行npm start幾次后,您可以前往Astra網(wǎng)站查看您的配額已使用多少,如下圖所示:

您還可以登錄CQL控制臺(tái),編寫CQL查詢,從coingecko.coin_prices表中獲取一些數(shù)據(jù),如下圖所示:

如果您想獲取其他貨幣的價(jià)格,可以將不同的參數(shù)傳遞給getCoinPrice方法變量:coinName和coinSymbol。

連接其他應(yīng)用程序

其他應(yīng)用程序可以使用來自Cassandra的數(shù)據(jù)。DataStax Astra支持C#、Python、Node.js、Java和C++的驅(qū)動(dòng)程序。您可以將Grafana等流行的可視化引擎與Astra無(wú)縫集成。

結(jié)語(yǔ)

本教程介紹了如何使用Cassandra作為時(shí)間序列數(shù)據(jù)庫(kù),使用Node.js應(yīng)用程序來獲取加密貨幣價(jià)格變動(dòng)信息,還介紹了使用您首選的云提供商在云端配置DataStax Astra數(shù)據(jù)庫(kù)。

原文標(biāo)題:Build A Crypto Price Tracker Using Node.js and Cassandra,作者:Kovid Rathee

【51CTO譯稿,合作站點(diǎn)轉(zhuǎn)載請(qǐng)注明原文譯者和出處為51CTO.com】

 

責(zé)任編輯:華軒 來源: 51CTO
相關(guān)推薦

2013-03-28 14:54:36

2023-01-10 14:11:26

2023-04-18 15:18:10

2022-08-22 07:26:32

Node.js微服務(wù)架構(gòu)

2022-09-12 15:58:50

node.js微服務(wù)Web

2022-06-10 10:24:02

JavaScriptCOVID-19前端

2024-03-22 11:40:40

Node.jsNodeCRUD

2022-05-09 17:33:23

PWA漸進(jìn)式Web應(yīng)用程序離線優(yōu)先

2022-06-10 14:10:38

加密貨幣代幣比特幣

2021-06-15 15:03:21

MongoDBNode.jsCRUD

2022-08-28 16:30:34

Node.jsDocker指令

2021-10-03 15:02:50

HTTPNodejs

2021-06-04 10:31:41

PythonUniswap加密貨幣

2024-03-27 11:18:02

2013-11-01 09:34:56

Node.js技術(shù)

2015-03-10 10:59:18

Node.js開發(fā)指南基礎(chǔ)介紹

2022-05-05 08:02:44

MongoDBNode.js加密

2019-01-03 09:06:55

Node.js命令行工具 前端

2015-07-21 16:23:22

Node.js構(gòu)建分布式

2020-09-28 06:57:39

Node.jsGraphQLAPI
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)