GTokenTool全网最好的代币发行工具平台
当前位置:首页 >> 加密百科 >> 如何使用 RPC 节点获取解码的钱包历史记录

如何使用 RPC 节点获取解码的钱包历史记录

admin 加密百科 54

加密钱包的历史是什么? 

加密钱包的历史记录涵盖了其在以太坊、Optimism、Base 和 BNB 智能链 (BSC) 等区块链网络上的先前交互。此历史记录包括原生交易、ERC-20 转账、合约交互、NFT 交易、存款、空投等。本质上,这些数据提供了钱包过去活动的全面时间表。

带有 RPC 节点的钱包历史时间线。

在构建各种去中心化应用程序 (dapps) 时,加密货币钱包的历史至关重要。以下是三个主要示例:

  • 加密货币钱包:钱包通常会显示用户的交易历史记录,让他们了解过去的交易活动,以提高保留率和参与度。

  • 投资组合追踪器:投资组合追踪器需要访问用户的钱包历史记录,以准确追踪其资产的表现。

  • 税务平台:税务平台需要钱包过去活动的清晰时间表,以了解代币的购买、出售和交易时间,从而生成准确的税务报告。

那么,如何使用 RPC 节点获取钱包历史记录?好吧,这就是 RPC 方法发挥作用的地方!

什么是 RPC 方法?

RPC 是“远程过程调用”的缩写,它是指允许一个软件系统调用和请求不同设备上的其他软件服务的通信协议。在 Web3 领域,RPC 协议使 dapp 能够与以太坊、Polygon 和 Optimism 等区块链网络进行交互。

文本:“什么是 RPC 方法?”

有几种标准化的 RPC 协议。一个很好的例子是 JSON-RPC,它具有一组预定义的 RPC 方法,可简化区块链交互,包括读取和写入链上数据。以下是常见 RPC 方法的列表:

  • eth_getTransactionByHash:通过哈希返回有关交易的信息。

  • eth_getBalance:返回账户余额。

  • eth_getBlockNumber:返回最近的区块编号。

  • eth_getChainId:返回链ID。

  • eth_gasPrice:返回当前的 gas 价格。

总而言之,RPC 方法简化了与区块链的交互,使开发人员更容易构建 dapp 和其他 Web3 项目。

标准 RPC 方法的局限性

虽然 RPC 方法使读取和写入区块链数据变得更加容易,但它们也有一些您应该考虑的重大限制。例如,您无法使用标准 RPC 方法无缝获取钱包的完整历史记录。要获取此信息,您需要发出许多请求、拼凑数据并自行解码信息。

可以想象,这需要大量的时间和资源,而这些资源可以更好地用于 Web3 开发的其他方面。不过,有一个更好的解决方案:Moralis 的扩展 RPC 方法。

但是我们的扩展 RPC 方法到底是什么?它们对开发人员有何益处?

要找到这些问题的答案,请关注下一节。我们走吧!

如何使用 RPC 节点获取解码的钱包历史记录 – 介绍 Moralis 的扩展 RPC 方法

Moralis 的扩展 RPC 方法简化了使用 RPC 节点获取已解码、人性化数据的过程。只需一个请求,您就可以无缝获取任何钱包的完整历史记录、ERC-20 代币余额、NFT 等,从而使 dapp 开发变得更加容易。

使用我们的扩展 RPC 方法您可以获得什么:

  • eth_getDecodedTransactions获取任何钱包的完整交易历史记录。

  • eth_getTransactions获取钱包的原生交易。

  • eth_getTokenBalances查询任意钱包的ERC-20余额。

  • eth_getTokenMetadata通过地址获取Token的元数据。

  • eth_getTokenPrice通过地址获取任何代币的价格。

  • eth_getNFTBalances获取任意钱包的 NFT 余额。

  • eth_getNFTCollections查询钱包持有的NFT收藏。

本质上,我们的扩展 RPC 方法增强了我们的节点产品,使您能够通过 RPC 样式的请求获取与我们的 API 提供的相同的解码、人类可读的数据。

eth_getDecodedTransactions– 使用 RPC 节点获取解码钱包历史记录的最简单方法

今天指南的重点是eth_getDecodedTransactions。使用这种一流的方法,您无需多次调用并亲自连接各个点。相反,您只需要一个 RPC 请求即可获取任何钱包的解码历史记录,包括原生交易、NFT 转账、智能合约交互等等! 

带有 RPC 节点的钱包历史时间线。

此外,该方法提供的响应eth_getDecodedTransactions还包含自动交易摘要、类别标签、地址标签以及每个事件的更多数据。这意味着您只需付出最少的努力即可获得完全解码的数据。 

那么,这是如何工作的?响应实际上是什么样的?如果您好奇,请加入我们的下一节,我们将带您完成有关如何使用 RPC 节点和我们的eth_getDecodedTransactions方法获取解码的钱包历史记录的完整教程。

三步教程:如何使用 RPC 节点获取解码的钱包历史记录

现在是时候向您展示如何使用 RPC 节点无缝获取解码的钱包历史记录了。得益于我们的扩展 RPC 方法和eth_getDecodedTransactions端点的可访问性,您可以通过三个简单的步骤获取所需的数据: 

  1. 注册 Moralis 并设置一个节点。

  2. 编写一个调用该方法的脚本eth_getDecodedTransactions

  3. 执行代码。

但是,在进入本教程之前,您必须满足一些先决条件。 

先决条件

继续之前,请确保您已准备好以下内容: 

  • Node.js v14+

  • npm/yarn

步骤 1:注册 Moralis 并设置节点

点击右上角的“免费开始”按钮,并注册一个 Moralis 账户:

箭头指向 Moralis 网站上的“免费开始”按钮。

登录后,进入“节点”选项卡,点击“+ 创建节点”按钮:

Moralis 节点选项卡。

选择“以太坊”,然后选择“主网”,然后点击“创建节点”:

Moralis 以太坊节点 RPC 配置。

这样做将创建两个新的节点 URL。复制并保留其中一个 URL,因为下一步您将需要它:

红色箭头指向以太坊 RPC 节点的 URL。

eth_getDecodedTransactions第 2 步:编写调用该方法的脚本

在您喜欢的 IDE 中设置一个项目文件夹,打开一个新终端,并使用给定的命令初始化一个项目:

npm init

使用此终端命令安装所需的依赖项:

npm 安装 node-fetch--save
npm 安装 moralis@moralisweb3/common-evm-utils

打开您的“package.json”文件并添加"type": "module"到列表中:

“type”:“module”在代码编辑器中突出显示。

新建“index.js”文件并添加以下代码:

从‘node-fetch’导入fetch
const选项 = {
方法:'POST'
标题:{
  接受:'application/json'
  ‘内容类型’ ‘应用程序/json’
}
主体:JSON.stringify {
  “jsonrpc” “2.0”
  “ID” 1
  “方法” “eth_getDecodedTransactions”
  “参数” [
    {
      “地址” “0xda74Ac6b69Ff4f1B6796cdDf61fBDd4A5f68525f”
    }
  ]
}
}
获取'YOUR_NODE_URL' ,选项
.then 响应= >响应.json
.then 响应= >控制台.log 响应
.catch ( err = > console . error ( err ) ) ;

替换YOUR_NODE_URL为您在第一步中复制的 URL:

指向“YOUR_NODE_URL”的红色箭头。

配置address参数以适合您的查询:

红色箭头指向“地址”参数。

步骤3:执行代码

在项目的根文件夹中运行此终端命令来执行脚本: 

节点索引.js

作为回报,您将获得指定钱包的完整历史记录,其中包含人性化的交易摘要、类别标签、地址等。以下是示例响应: 

{
 //...
   “结果”:[
     {
       “区块哈希”:“0x660274d577cd20b0b82c1bff5f3c5641ba6027544e005f9256d5add9c7447920”
       “区块编号”:“19868695”
       “block_timestamp”:“2024-05-14T14:00:23.000Z”
       “来自地址”:“0xda74ac6b69ff4f1b6796cddf61fbdd4a5f68525f”
       “from_address_label”:null
       “from_address_entity”:null
       “from_address_entity_logo”:null
       “to_address”:“0xdac17f958d2ee523a2206206994597c13d831ec7”
       "to_address_label": "泰达币 (USDT)" ,
       “to_address_entity”:null
       "to_address_entity_logo": null
       “气体”:“55331”
       “gas_price”:“13623172301”
       “哈希”:“0xc565260238f59fc3f35b74f3011375c7d637db9b075f77d342c30d19f946272e”
       “随机数”:“14”
       “receipt_cumulative_gas_used”:“13917979”
       “receipt_gas_used”:“41309”
       "receipt_status": "1" ,
       “交易费用”:“0.000562759624582009”
       “交易索引”:“75”
       “值”:“0”
       “receipt_contract_address”:
       "nft_transfers": [ ]复制代码
       “erc20_transfers”:[
         {
           “token_name”:“Tether USD”
           “token_symbol”:“USDT”
           “token_logo”:“https://logo.moralis.io/0x1_0xdac17f958d2ee523a2206206994597c13d831ec7_3282f332c2ac2948929f01fe7d921c51”
           “token_decimals”:“6”
           “来自地址”:“0xda74ac6b69ff4f1b6796cddf61fbdd4a5f68525f”
           “from_address_entity”:null
           “from_address_entity_logo”:null
           “from_address_label”:null
           “to_address”:“0x28c6c06298d514db089934071355e5743bf21d60”
           "to_address_label": "币安14" ,
           "to_address_entity": "币安" ,
           “to_address_entity_logo”:“https://entities-logos.s3.us-east-1.amazonaws.com/binance.png”
           “地址”:“0xdac17f958d2ee523a2206206994597c13d831ec7”
           “日志索引”:338
           “值”:“50000000000”
           “possible_spam”:false
           “verified_contract”:true
           “方向”:“发送”
           “值格式”:“50000”
         }
       ]
       "method_label": "转移" ,
       "native_transfers": [ ]
       “summary”:“已向币安14发送50,000 USDT”
       “possible_spam”:false
       “类别”:“令牌发送”
     }
     //...
   }
 ]
}

恭喜!您现在知道如何使用 RPC 节点获取解码的钱包历史记录。

从这里,您现在可以按照相同的步骤调用我们的任何其他扩展 RPC 方法! 

探索的好处eth_getDecodedTransactions

现在您知道如何使用 RPC 节点获取解码的钱包历史记录,让我们来探讨一下该方法的一些主要优点eth_getDecodedTransactions: 

带有 RPC 节点的钱包历史时间线。

  • 一个请求 - 所有数据:借助 Moralis 的下一代节点,您可以简化开发人员体验,因为您只需要一个 RPC 请求即可获得解码的钱包历史记录。

  • 自动汇总:eth_getDecodedTransactions方法可自动汇总每个交易事件。这意味着您不再需要自己将所有信息串联起来。 

  • 降低复杂性:通过全面的响应,您现在可以轻松构建从投资组合追踪器到税务平台的一切。 

除了如何使用 RPC 节点获取解码的钱包历史记录之外 — 进一步探索 Moralis

Moralis 是排名第一的 Web3 数据提供商,为您提供顶级工具,例如 RPC 节点和针对钱包、代币、NFT、DeFi 等用例的 API。因此,使用 Moralis 时,您可以在一个地方获得所有加密数据! 

我们的开发工具有何特殊之处? 

  • 全面:我们的 API 和扩展 RPC 方法以结果为导向,通过更少的调用为您提供更多数据。只需单个请求即可获取钱包历史记录、代币余额和价格等。 

  • 多链: Moralis 支持所有主流链,包括以太坊、Polygon、BSC 等。体验所有最大链上的完整功能,因此您可以在构建跨链 dapp 时简化开发人员体验。 

  • 安全:我们的 SOC 2 Type 2 认证彰显了 Moralis 对维护企业级安全性和可靠性的承诺。 

尽管如此,让我们探索我们的 RPC 节点和 Web3 API,以进一步凸显 Moralis 的优势! 

RPC 节点

Moralis 是顶级节点提供商,为您提供无缝访问所有主要链的下一代 RPC 节点的工具。 

Moralis RPC 节点。

我们的 RPC 节点有何独特之处? 

  • 速度:我们的节点响应时间为 70 毫秒,为速度设定了基准。 

  • 可靠性:凭借 99.9% 的正常运行时间,我们保证高可靠性标准。

  • 扩展 RPC 方法:使用 Moralis 的扩展 RPC 方法,您现在可以使用 RPC 样式的请求查询解码的、人类可读的数据。 

Moralis 的 Web3 API

我们业界领先的 API 套件包含多个针对特定用例量身定制的接口。以下是三个主要示例: 

莫拉利斯标志。

  • 钱包 API:使用 Moralis 的钱包 API,只需一行代码即可获取任何钱包的完整历史记录、代币余额、NFT 余额、盈利能力、净值等。这是构建钱包并将钱包功能集成到 dapp 中的完美 API。 

  • 代币 API:使用代币 API 时,只需一个请求即可获取代币余额、价格、元数据、加密货币盈亏、转账等。这是 ERC-20 数据的首选解决方案。 

  • Streams API: Moralis 的 Streams API 是业界领先的实时数据解决方案。借助我们直观的点击界面,您可以设置 Web3 数据管道,轻松将实时数据传输到您的项目中。

    作者:GTokenTool一键发币平台

    交流群:https://t.me/+Kz4u3xoDpFo3ZWY1

    同类推荐