跳到主要内容

读取数据的几种方案

以太坊是最领先的 Web3 网络,下图展示的是区块链生态设施的五层分布,每一层都非常重要,现在我们所开发的 NFT 租赁协议是一个 Dapp,是直面用户的最顶层,需要靠其他层才能更好的发展。

Various layers of Web3 development and its tech stack outlined

作为顶层的 DAPP 如何读取链上数据呢?分别在第一层、第二层、第三层 都有对应的设施工具提供支持,大体可分为一下三类:

  1. 使用区块链节点-RPC: 区块链节点是一个运行在你本地计算机上的软件,它连接到区块链网络并存储整个区块链的副本。通过与节点建立连接,可向节点发送查询请求,并获取所需的数据。 如果你想要查询以太坊链上某个地址的余额,你可以使用 GETH 节点软件并通过RPC(远程过程调用)接口发送相应的查询请求。

    Leverage Ethereum blockchain data with JSON-RPC - LogRocket Blog

    比如使用 case 工具可以很快速的从 RPC Node 查询余额:

    cast balance -e --rpc-url https://ethereum-sepolia-rpc.publicnode.com  0xA56B4F0C7622BD076C2bA48B17d1E8D3FBf5303E
    11.994187509585768633
  2. 使用区块链浏览器查阅: 区块链浏览器是一个网站或应用程序,允许通过简单的界面浏览区块链数据。这些浏览器通常提供了搜索功能和可视化工具,以便用户轻松地查找特定的区块、交易或地址信息。使用 Etherscan 浏览器可以轻松地查找以太坊网络上的交易、智能合约和地址信息,而无需运行一个完整的以太坊节点。 image-20240428下午111527980

  3. 使用数据服务商的 API: 数据服务商除提供标准的 RPC 节点服务外,还提供一些被处理过的标准化数据,如钱包NFT余额列表,Token行情等,允许开发者通过 HTTP 请求进行交互。且不同数据服务商提供了差异化功能,比如 Dune 允许你定制自己的数据集,Etherscan 提供 Gas 播报等权威数据, CoinGecko 围绕 Token 提供大量的数据分析API。

    image-20240428下午113636024