如何為你的 web3 項目選擇數據提供者?

除了加密貨幣代幣,得益於 Footprint,區塊鏈還使分析師能夠更清楚地了解幾乎任何 GameFi 項目、NFT、市場或 DeFi 協議。

在 Footprint,我們創建了一種方法來編譯和有意義地聚合原始區塊鏈數據。 這適用於編程集成。

1. 使用區塊鏈數據的方法

先說編程集成方法。 有幾種不同的方法可以處理區塊鏈數據,您選擇的方法將取決於您的具體需求和目標。 這是一個快速概述:

1.1 區塊鏈探索者

區塊鏈瀏覽器是一種網站或工具,可讓您查看存儲在區塊鏈上的數據。 這是訪問有關特定交易、區塊和區塊鏈上其他數據的信息的一種快速簡便的方法。

區塊鏈瀏覽器可以成為訪問和查看存儲在區塊鏈上的數據的有用工具,但它們在軟件集成方面確實有一些限制。 以下是區塊鏈探索者可能缺乏的一些例子:

  • 主要關注原始數據。 區塊鏈瀏覽器通常顯示來自區塊鏈的原始數據。 這需要對原始數據實施抽象,這可能很乏味,特別是對於專注於交付而不是某些區塊鏈技術細節的項目。
  • 自定義選項:區塊鏈瀏覽器通常設計為用戶友好且易於使用,這意味著它們可能不會提供很多自定義選項。 這可能很難根據您的特定需求或偏好定制資源管理器。
  • 高級搜索功能:區塊鏈瀏覽器通常具有基本搜索功能,但可能不支持更高級的搜索功能,例如布爾運算符或正則表達式。 這可能會使在區塊鏈上搜索特定信息變得困難。
  • 交互性:許多區塊鏈瀏覽器本質上是只讀工具。

雖然區塊鏈瀏覽器是訪問和查看區塊鏈原始數據的有用方式,但它們確實有一些局限性,您在決定基於它們實施解決方案基礎設施之前應該了解這些局限性。

 1.2 自己的索引解決方案

設置你自己的索引器來處理區塊鏈數據可能有幾個優點和潛在的缺點。 以下是每個示例的幾個示例:

優點:

  • 自定義:設置索引器時,您可以完全控制數據的索引和訪問方式。 這可以讓您根據您的特定需求和偏好定制索引器。
  • 獨立性:通過設置索引器,您無需依賴第三方服務來維護和更新索引。 這可以在您使用區塊鏈數據時提供更大的控制和靈活性。
  • 提高安全性:當您設置自己的索引器時,您可以實施自己的安全措施來保護數據並防止未經授權的訪問。

缺點:

  • 複雜性:設置索引器可能是一個複雜且耗時的過程,尤其是當您不熟悉區塊鏈技術時。 您將需要了解底層技術並願意投入所需的時間和精力來啟動和運行索引器。
  • 維護:設置索引器後,您將負責維護和更新它。 這可能需要持續的技術專業知識和資源,如果您沒有必要的知識或支持,這可能是一個劣勢。
  • 成本:設置自己的索引器可能很昂貴,因為您必須購買運行索引器所需的硬件和軟件,並支付任何相關費用,例如電力和帶寬。

總的來說,設置自己的索引器來處理區塊鏈數據可以提供更好的控制和定制,但它也可能是一個複雜且昂貴的過程。 在決定這是否是正確的方法之前,仔細考慮優點和缺點很重要。

1.3 數據庫即服務

使用第三方索引器來處理區塊鏈數據可能有幾個優點和潛在的缺點。 以下是每個示例的幾個示例:

優點:

  • 易用性:第三方索引器通常設計為易於使用,這意味著您可以快速開始使用區塊鏈數據,而無需學習大量技術細節或運行您的自定義索引解決方案(無論是否自行開發或現成的SDK)
  • 高級搜索功能:許多第三方索引器提供高級搜索功能,例如布爾運算符和正則表達式,使得在區塊鏈上搜索特定信息變得更加容易。 這些可以有許多實際實現,但索引數據通常被添加到關係數據庫中,這意味著完整的 SQL 支持。
  • 可擴展性:第三方索引器通常設計用於處理大量數據,這意味著如果您需要從大型區塊鏈中搜索或訪問數據,它們可能是一個不錯的選擇。
  • 可靠性:第三方索引器通常由具有資源和專業知識的專業組織運行,以確保索引始終是最新和準確的。 解決方案並不總是分散的,因為它們專注於處理大量數據,但絕大多數是開源的,這增加了用戶對服務的信心。

缺點:

  • 依賴性:使用第三方索引器,您依賴該服務來維護和更新索引。 如果索引器遇到技術問題或離線,您可能無法訪問區塊鏈數據。
  • 有限的定制:第三方索引器通常設計為易於使用,這意味著它們可能不會提供很多定制選項。 這會使根據您的特定需求或偏好定制索引器變得困難。
  • 成本:一些第三方索引器可能會對其服務收取費用,如果您的預算緊張,這可能是一個劣勢。

總之,使用第三方索引器來處理區塊鏈數據可能是一種方便有效的選擇,但有限且有時缺乏定制。

1.4小結

Footprint 的目標主要是降低進入分析和使用 web3 數據的門檻。 這種方法是易用性和靈活性之間的平衡。 這就是為什麼我們的服務之一是 DaaS(數據庫作為服務類型)。 在我們仔細研究我們服務的優勢之前,我們還將研究索引器的另一個實現選項,即自寫解決方案或 SDK。

在接下來的章節中,我們將探索只讀區塊鏈 API 應該具備的核心特性。 我們將從不同角度看待問題並考慮替代解決方案。 區塊鏈 API 的一些最重要的特性包括:

  • 易用性和靈活性
  • 可擴展性
  • 相容性

易用性和靈活性是區塊鏈 API 的兩個重要特徵。 易於使用的區塊鏈 API 將使開發人員更容易開始構建基於區塊鏈的應用程序,使他們能夠快速製作原型並測試他們的想法,而無需花費大量時間學習如何使用 API。

另一方面,靈活性是指區塊鏈 API 支持廣泛用例和應用程序的能力。 靈活的區塊鏈 API 將允許開發人員訪問區塊鏈的不同部分,並構建與不同類型的智能合約和其他基於區塊鏈的資產交互的應用程序。 這對於希望構建可用於各種行業和環境的應用程序的開發人員來說尤其重要。

總體而言,擁有既易於使用又靈活的區塊鏈 API 可以讓開發人員更輕鬆地構建創新和有用的應用程序,這些應用程序可以利用區塊鏈技術的獨特特性和功能。

1.5 足跡分析

我們的數據組織確保了易用性和靈活性,這影響了與 Footprint 生態系統交互的所有方面。 Footprint 有一個建立在這個數據模型之上的 API,允許用戶為數據分析和機器學習應用程序構建成熟的數據管道。 我們稱之為數據 API。 我們同時支持兩種類型的 API 和其中一種中的兩種子類型以涵蓋大多數情況:Rest API 和 SQL API。

REST API 使我們能夠快速集成應用程序,因為每個端點都是預構建的硬編碼腳本,我們已將其確定為最受歡迎的腳本之一。 所有端點都帶有易於使用的過濾、排序和分頁工具。

由於 SQL API 的適應性更強的接口,您可以獲得它以用於更具體的情況。 在 Web 應用程序和 API 中使用相同的 SQL 查詢的好處之一是它可以簡化開發和維護。 通過在兩個界面中使用相同的查詢,開發人員可以避免為 Web 應用程序和 API 編寫和維護單獨的查詢集。 這可以節省時間和精力,並降低兩個界面之間出現錯誤或不一致的風險。

此外,在 Web 應用程序和 API 中使用相同的 SQL 查詢可以讓開發人員更輕鬆地創建無縫的用戶體驗。 通過使用相同的查詢,開發人員可以確保 Web 應用程序和 API 訪問和操作的數據是一致的,允許用戶在兩個界面之間切換而不會遇到任何不一致或中斷。

 1.6 其他平台

許多替代分析解決方案允許用戶根據不同級別的要求分析不同的網絡。 然而,在大多數情況下,替代解決方案往往會走極端,要么實施需要查詢語言甚至編程語言知識的非常靈活的產品,要么實施具有準備好的腳本的非常簡單的界面,因此靈活性較低。

Moralis 和 Quicknode 等解決方案只有一個 REST API 接口。 儘管有很多端點,但它仍然限制了開發人員返回數據的靈活性。

Dune 最近推出了它的 API。 這種異步解決方案意味著平台上初步存在某個id(dune.com/query/{{query id}})下的查詢,通過它可以以SQL的形式執行查詢。 該解決方案的關鍵限制是需要預先修改平台上的 SQL,以便隨後執行更新的查詢。

Chainbase 以與 Footprint 相同的方式發布 SQL API。 儘管如此,與 Footprint 不同的是,Chainbase 沒有如此復雜的 ETL,因此只能對原始交易執行 SQL 查詢。

2。 可擴展性

區塊鏈 API 應該能夠處理大量數據和交易,允許開發人員構建可同時被許多用戶使用的應用程序。

 2.1 足跡分析

 2.1.1 現代開放數據棧

Footprint 團隊自 2021 年 XNUMX 月上線以來,已經進行了多次架構升級,這得益於其強大的技術探索和迭代能力。 在不到一年半的時間裡,團隊已經能夠成功實施這些變革。 這證明了團隊在技術和數據科學方面的技能和專業知識。

通過實驗,Footprint 迭代地進行了三個全局架構更新,最終達到了滿足平台各種用例要求的架構。 有關實施演變的更多信息,請參閱下一篇文章:

https://www.footprint.network/article/iceberg-spark-trino-a-modern-opensource-data-stack-for-blockchain-fp-HGZpPm3D

 2.1.2 同步和異步執行

在 Footprint 中,有兩種​​模式可以執行對 SQL API 的查詢——同步和異步。 對同步端點的 API 調用意味著一旦從應用程序收到 HTTP 請求,Footprint 服務器就會執行 SQL 查詢,從而保持連接。 這在使用輕量級請求時很有意義,因為在這種情況下,應用程序不必等待很長時間即可執行。 詳情可以在以下頁面找到:

https://docs.footprint.network/reference/post_native

對於重請求,建議使用異步請求。 與同步應用程序不同,客戶端應用程序在執行期間不必保持與服務器的連接。 而是立即獲取request-id,根據request-id一段時間後,分別獲取執行結果。 作為異步 API 的一部分,應該包括兩步來獲取數據——以下端點將用於發送 SQL 執行的“命令”:

https://docs.footprint.network/reference/post_native-async

第二步是通過訪問上一個端點時獲得的標識符發送請求接收結果。 第二步的端點在下一頁中描述:

https://docs.footprint.network/reference/get_native-execution-id-results

2.2 其他解決方案

DuneV2 改變了整個數據庫架構。 Dune 現在正在從 PostgreSQL 數據庫過渡到託管在 [[Databricks]] 上的 [[Apache Spark]] 實例。 只有異步 API。

3。 兼容性

區塊鏈 API 應該兼容廣泛的編程語言和開發環境,以便開發人員可以使用他們最熟悉的工具和框架。

REST 更容易集成,因為每種編程語言都有許多庫可以提供與此類 API 的舒適工作。 然而,歸根結底,SQL API 和 REST 都是基於 HTTP 工作的,因此默認發送請求的開發體驗幾乎相同。

4。 總結

正如我們所分析的,在大多數情況下,應用程序使用現成的 DaaS 解決方案就足夠了,因為它們可以返回抽象(不僅僅是原始數據)並節省大量時間和金錢,因為它們最終允許團隊關注的不是基礎設施,而是產品的價值。 經歷了 DaaS 市場的各種解決方案,

Footprint 似乎是最適合集成的,因為它具有最靈活的生成請求模型,同時易於使用並且在引擎蓋下具有現代開源數據堆棧,可確保不間斷,最重要的是,快速執行最複雜的請求。

發表於: 分析, Web3

閱讀我們最新的市場報告

資料來源:https://cryptoslate.com/how-to-choose-a-data-provider-for-your-web3-project/