Nft

如何在不使用任何 API 的情況下查詢乙太坊區塊鏈上的鏈上數據?

  • October 9, 2022

我想從其合約地址和 tokenID 中獲取乙太坊區塊鏈上有關 NFT 的所有鏈上數據。像它的元數據、目前所有者、它的最後價格等。我怎樣才能在不使用任何 API 的情況下從頭開始做到這一點。

我需要這個,因為我正在嘗試建構一個這是它的組件的產品,並且不能為此使用任何第三方 API。

如果您需要實時鏈上數據,您有 3 個選項。

  1. 使用 API 或提供程序,如 Alchemy 等。
  2. 如果使用者連接他的錢包,您可以在他的錢包中使用使用者提供程序(例如元遮罩)
  3. 你可以執行自己的乙太坊節點並從那裡獲取數據。哪個應該線上並連接到 eth 網路 7/24 以使您的應用程序正常工作。

為了直接從乙太坊讀取任何鏈上數據,您需要使用 Web3 提供程序。為此,您有以下選擇:

  1. 如果您正在建構一個 UI 應用程序,您可以使用使用者的 Web3 提供程序(即 Metamask 或 WalletConnect)。但是這些提供商在內部使用 API。例如,Metamask 使用 Infura 連接到乙太坊區塊鏈。
  2. 直接使用 Web3 提供商服務,如 Infura 或 Alchemy。
  3. 旋轉你自己的 web3 節點。

就個人而言,我建議您使用 Infura 或 Alchemy 之類的服務,因為這在大多數情況下最有意義。

也有可能間接查詢乙太坊區塊鏈如下:

  1. 通過在 The Graph 協議上為其開發和部署子圖來查詢有關特定智能合約的資訊。您可以通過向該子圖發出 GraphQL 或 HTTP 請求來查詢有關您的智能合約的資訊。
  2. 使用 Google 的 BigQuery 查詢有關乙太坊區塊鏈的資訊。這通常用於在整個乙太坊區塊鏈上執行數據科學,因此它可能不是您想要的。

引用自:https://ethereum.stackexchange.com/questions/137150