Web3 的開發者,如何評估以及選擇調用鏈上數據的解決方案

FP是鏈上數據分析平台以及數據處理基礎設施,使命是讓鏈上數據分析以及使用隨手可得。目前,Footprint 從 22 條公鏈上收集、解析和清理數據,把無語義以及無序的鏈上數據,轉化成讓用戶能使用無代碼拖放介面、SQL 等多種形式構建圖表以及儀錶盤。除了提供鏈上原始數據,Footprint 根據業務邏輯抽象出具有業務邏輯的流水數據,既能實現快速生產數據,也能方便分析師在此數據的基礎上,快速計算自己需要的業務指標。而這也適用於開發者使用。

1. 使用鏈上數據的方法

我們先來談談開發整合數據的方法。目前,有幾種不同的方法來處理區塊鏈數據,而選擇哪種方法將取決於你的具體需求和目標。

方案優點缺點
區塊瀏覽器易用、實時主要提供原始數據缺乏定制缺乏高級搜索缺乏互動性
自建索引方便高級搜索高度自定義部署以及維護成本高費用高
第三方API 服務易用方便高級搜索可規模化高可用依賴性強相對缺乏自定義費用一般比較高

1.1. 區塊瀏覽器

區塊鏈瀏覽器是一個網站或工具,允許你查看存儲在區塊鏈上的數據。這是一種快速和簡單的方式來訪問有關區塊鏈上的特定交易、區塊和其他數據的信息。

區塊鏈瀏覽器可以成為訪問和查看存儲在區塊鏈上的數據的有用工具,但它們對於軟件開發集成存在一些限制。以下是區塊鏈瀏覽器可能存在限制的幾個例子:

  • 主要是圍繞原始數據。區塊鏈瀏覽器通常顯示區塊鏈的原始數據。如果要使用,需要在原始數據上實現抽象,特別是對於那些專注於交付而不是某些區塊鏈的技術細節的項目來說,會十分繁瑣。
  • 定制選項。區塊鏈瀏覽器通常被設計為用戶友好和易於使用,這意味著他們可能不提供大量的定制選項。你難以根據你的具體需求或偏好來進行二次開發與統計。
  • 高級搜索功能。區塊鏈瀏覽器通常有基本的搜索功能,但他們可能不支持更高級的搜索功能,如布爾運算符或正則表達式。這可能使搜索區塊鏈上的特定資訊變得困難。
  • 互動性。許多區塊鏈瀏覽器本質上是只讀工具。

雖然區塊鏈瀏覽器可以成為訪問和查看區塊鏈原始數據的有用方式,但它們確實有一些限制,在決定基於它們實施你的解決方案基礎設施之前,你應該意識到這些限制。

1.2. 自建索引的解決方案

設置自己的索引器來處理區塊鏈數據可以有幾個優勢,也有一些潛在的劣勢。下面是對應的幾個例子:

優勢:

  • 定制化。當你建立你自己的索引器時,你可以完全控制數據如何被索引和訪問。這可以讓你根據你的具體需要和喜好來定制索引器。
  • 獨立性。通過建立你自己的索引器,你並不依賴第三方服務來維護和更新索引。這可以為你如何處理區塊鏈數據提供更大的控制和靈活性。
  • 提高安全性。當你設置自己的索引器時,你可以實施自己的安全措施來保護數據,防止未經授權的訪問。

劣勢

  • 複雜性。建立自己的索引器可能是一個複雜而耗時的過程,特別是如果你是區塊鏈技術工作的新手。你需要對底層技術有深刻的理解,並願意投入所需的時間和精力來啟動和運行索引器。
  • 維護。一旦你建立了自己的索引器,你將負責維護和更新它。這可能需要持續的技術專長和資源,如果你沒有必要的知識或支持,這可能是一個不利因素。
  • 成本:建立你自己的索引器可能是昂貴的,因為你將需要購買運行索引器所需的硬件和軟件,以及支付任何相關費用,如電力和帶寬。

總的來說,設置自己的索引器來處理區塊鏈數據可以提供更大的控制和定制,但它也可能是一個複雜而昂貴的過程。

1.3. 數據庫即服務

使用第三方索引器來處理區塊鏈數據可以有幾個優勢,也有一些潛在的劣勢。下面是對應的幾個例子:

優點:

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

缺點:

  • 依賴性。通過使用第三方索引器,你要依靠該服務來維護和更新索引。如果索引器遇到技術問題或脫機,你可能無法訪問區塊鏈數據。
  • 有限的定制。第三方索引器通常被設計為易於使用,這意味著它們可能不提供大量的定制選項。這可能使你很難根據你的具體需求或喜好來定制索引器。
  • 成本:一些第三方索引器可能對其服務收取費用,如果你的預算緊張,這可能是一個不利因素。

綜上所述,使用第三方索引器來處理區塊鏈數據可以是一個方便有效的選擇,但有局限性,有時缺乏定制。

1.4. 小結

Footprint 的目標主要是降低分析數據和處理 Web3 數據的門檻。這種方法是在易用性和靈活性之間取得平衡。這就是為什麼我們的服務之一是 DaaS(數據庫作為服務類型)。在我們仔細研究我們服務的優勢之前,我們還將研究索引器的另一種實現方案,即 SDK。

在接下來的章節中,我們將探討只讀區塊鏈 API 應該具備的核心功能。我們將從不同的角度來看待這個問題,以及考慮其他的解決方案。區塊鏈 API 的一些最重要的特徵包括。

  1. 易用性和靈活性
  2. 可擴展性
  3. 兼容性

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

另一方面,靈活性是指區塊鏈 API支持廣泛的用例和應用的能力。一個靈活的區塊鏈 API 將允許開發者訪問區塊鏈的不同部分,並建立可以與不同類型的智能合約和其他基於區塊鏈的資產互動的應用程序。這對那些希望建立可用於各種不同行業和背景的應用程序的開發者來說可能特別重要。

總的來說,擁有一個既容易使用又靈活的區塊鏈API 可以使開發者更容易建立創新和有用的應用程序,可以利用區塊鏈技術的獨特特點和能力。

1.5. Footprint Analytics

我們的數據組織結構保障了API 的易用性和靈活性,事實上,它影響到與 Footprint 生態系統互動的所有方面。 Footprint 有一個建立在這個數據模型之上的 API,允許用戶建立成熟的數據流程並進行數據分析,以及機器學習應用。我們稱它為數據 AP I。我們同時支持兩種類型的 API 和其中的兩種子類型,以涵蓋大多數情況。 Rest API 和 SQL API。

REST API 允許我們快速集成一個應用程式,因為每個端點都是一個預先建立的、固定編碼的、我們自己已經確定為最受歡迎的腳本。所有的端點都帶有易於使用的過濾、排序和分頁的工具。

SQL API 的接口適應性更強。在網絡應用程式和 API 中使用相同的 SQL 查詢的一個好處是,它可以簡化開發和維護。通過在兩個界面中使用相同的查詢,開發人員可以避免為網絡應用程序和API 編寫和維護不同的查詢集。這可以節省時間和精力,並減少兩個界面之間發生錯誤或不一致的風險。

​​

另一個好處是,它可以提高網絡應用程序和API 所訪問和操作的數據的一致性。通過使用相同的查詢,兩個界面將以相同的方式訪問和操作相同的數據,確保數據保持一致和最新。

1.6. 其他解決方案對比

許多替代性分析解決方案允許用戶根據不同層次的要求來分析不同的網絡。然而,在大多數情況下,替代性解決方案往往走極端,要么實現一個非常靈活的產品,需要查詢語言甚至編程語言的知識;或者提供一個非常簡單的界面,固定的查詢接口,但是相應地,靈活性低。

像 Moralis 和 Quicknode 這樣的解決方案只有一個 REST API 接口。儘管有相當多的端點,但在返回數據的靈活性方面,它仍然限制了開發者。

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

Chainbase 發布 SQL API 的方式與 Footprint 相同,但與 Footprint 不同的是,Chainbase 沒有如此復雜的 ETL 以及語義化的數據,所以基本上 SQL 查詢只能針對原始事務執行。

2. 可拓展性

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

2.1. Footprint Analytics

2.1.1. 現代化的開源數據架構

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

通過實驗,Footprint反復進行了三次全局性的架構更新,最終達成了一個滿足平台各種用例要求的架構。關於實施的演變的更多信息可以在下一篇文章中找到。

https://mirror.xyz/0xf4De160464Fb0fC00F4A062D1913715b7e429Aea/oXalKQPjZzxsuMtDYeMAQTUWqU3P5OEncX-TFTG-yBE

2.1.2. 同步和異步執行

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

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

對於大量的請求,建議使用異步請求。與同步請求不同,客戶端應用程序在執行過程中不必與服務器保持連接,而是可以簡單地立即獲得請求 ID,根據該 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 似乎是最理想的整合方案,因為它有最靈活的模型來生成請求,同時既容易使用。建立在現代的開源數據技術棧基礎上,同時有效確保了數據獲取的可用性,以及支持快速執行最複雜的請求。

本文不構成投資建議,虛擬貨幣波動大請謹慎小心

掌握虛擬貨幣、區塊鏈大小事