概述
从头开始设置以太坊节点可能是一项具有挑战性且耗时的任务。例如,操作完整或存档的以太坊节点需要大量的计算能力、大量带宽和大量存储容量。此外,节点特定于每个区块链,要求您为与之交互的每个链建立必要的基础设施。这可能会使开发跨链兼容的去中心化应用程序 (dapps) 既昂贵又耗费资源。幸运的是,您现在可以通过 Moralis(业界首屈一指的 Web3 基础设施提供商)避免大部分这些挑战!
在 Moralis,我们为您处理复杂问题,从而简化管理以太坊节点的过程。我们的用户友好界面允许您只需单击几下即可设置以太坊节点。因此,如果您有兴趣探索如何轻松运行以太坊节点,本指南非常适合您。让我们开始吧!
什么是以太坊 RPC 节点?
RPC 节点是运行以太坊客户端软件的服务器、计算机和其他设备。以太坊区块链由数千个这样的节点组成,它们负责验证交易、维护网络的一致、准确状态等等。因此,它们共同为以太坊的安全和去中心化架构做出了贡献!
节点对于以太坊区块链至关重要,它们执行确保网络可靠性和安全性的任务。下面,您会看到三个突出的例子:
共识:节点对于以太坊的权益证明 (PoS) 共识机制至关重要。在此系统中,节点可以锁定以太币 (ETH),以获得验证区块的资格。质押的 ETH 然后充当抵押品,确保节点诚实行事。作为这项工作的回报,验证者节点将获得额外的 ETH 作为奖励。
数据存储:指定某些以太坊节点来维护网络上所有历史交易的综合档案。这使任何人都可以验证以太坊的当前状态,从而增强网络的安全性。
Web3 开发:节点对于 Web3 至关重要,可让开发人员无缝地与以太坊网络交互。有了节点,就可以读取和写入区块链数据,这在构建 dapp 时通常是必需的。
完成对以太坊 RPC 节点的概述后,让我们现在深入研究各种类型的节点!
以太坊 RPC 节点的类型
节点有多种类型,每种类型都有不同的用途。下面,我们将探讨三个具体示例:
轻节点:轻节点仅下载区块头,这是与以太坊网络交互所需的最少数据量。这些节点的设计考虑了效率,为只需要基本区块链功能的用户提供了经济实惠的解决方案。
全节点:全节点存储最近 128 个区块的最新数据。这些节点对于维护以太坊网络的完整性至关重要,可确保所有状态准确且始终保持最新。
存档节点:存档节点存储以太坊链的完整历史记录,包括所有交易、智能合约状态等。这些节点很大,管理和维护成本高昂。然而,尽管维护成本很高,但存档节点对于需要历史数据的开发人员和用户来说仍然是必不可少的。
现在您知道了什么是以太坊节点,我们还将向您展示如何使用 Moralis 设置它们!
如何设置免费的以太坊节点
设置免费以太坊节点的最简单、最有效的方法是使用 Moralis——Web3 中领先的基础设施提供商。借助我们的节点服务,您只需单击一下按钮即可轻松在 20 多个网络中创建节点。如果您有兴趣了解如何执行此操作,请关注我们,我们将指导您完成为以太坊主网、Sepolia 和 Holesky 设置节点的过程!
但是,在开始之前,您需要注册 Moralis。您可以免费创建一个帐户,只需单击右上角的“免费开始”按钮并按照说明操作即可:
有了账户后,您现在就可以设置免费的以太坊节点了!
以太坊主网节点
登录 Moralis,导航到“节点”选项卡,然后单击“+ 创建节点”:
选择以太坊协议,然后选择“主网”:
单击“创建节点”后,您将收到两个以太坊主网的节点 URL,您可以与它们进行交互:
就是这样!利用 Moralis 时,设置以太坊主网节点并不一定比这更具挑战性!
以太坊 Sepolia 节点
登录 Moralis,转到“节点”选项卡,然后点击“+ 创建节点”按钮:
选择“以太坊”,选择 Sepolia 测试网,然后单击“创建节点”:
这样做将为 Sepolia 测试网生成两个节点 URL:
恭喜!为 Sepolia 测试网设置节点并不一定比这更困难!
以太坊 Holesky 节点
登录您的 Moralis 帐户,转到“节点”选项卡,然后单击“+ 创建节点”:
选择以太坊协议,然后选择“Holesky”:
单击“创建节点”按钮后,您将获得 Holesky 测试网的两个节点 URL:
就是这样!为 Holesky 测试网创建节点并不一定比这更具挑战性!
三步教程:如何调用以太坊 RPC 节点
了解了如何为各种网络设置以太坊节点后,我们现在将向您展示如何使用它们通过 ethers.js 进行 RPC 调用。更具体地说,我们将向您展示如何通过三个简单的步骤检索钱包的本机余额:
创建新项目
编写脚本
运行代码
然而,在开始之前,您需要满足一些先决条件!
先决条件
在继续第一步之前,请确保您已准备好以下内容:
Node.js v14+
Npm/Yarn
步骤 1:创建新项目
打开您喜欢的 IDE,设置一个文件夹,并使用以下终端命令初始化一个新项目:
接下来,通过在终端中执行以下命令来安装 ethers 库:
最后,添加”type”: ”module”
到您的“package.json”文件:
第 2 步:编写脚本
在项目根文件夹中创建一个新的“index.js”文件并添加以下代码:
从这里开始,您现在需要YOUR_NODE_URL
用您的一个 Moralis 节点 URL 进行替换:
接下来,配置address
参数以适合您的查询:
就这样!接下来剩下的就是执行脚本了!
步骤 3:运行代码
打开一个新终端,cd
进入项目的根文件夹,然后运行以下命令:
作为回报,您现在将获得相关钱包的原生余额。响应应如下所示:
恭喜!您现在知道如何对以太坊节点进行 RPC 调用了!
虽然您可以使用 RPC 节点与区块链网络进行交互,但这并不总是最好的选择。为了进一步阐述这一点,让我们探讨一下 RPC 节点在查询链上数据时的三个缺点:
特定于链:节点是特定于链的。这意味着您需要为与之交互的每个链运行和维护一个节点。如果您正在构建多链 dapp,这可能会很快失控并成为一项昂贵的工作。
查询复杂:查询节点通常很困难,无法提出诸如“钱包 X 持有哪些代币?”之类的常见问题。您通常需要发出多个请求并将数据拼接在一起才能获得此类信息。
原始数据:查询区块链节点时,您会获得原始数据。因此,在可以使用之前,您必须解释、解码并将信息集成为适当的格式。
那么,我们如何才能规避这些挑战并更有效地查询链上数据?
一种解决方案是使用像 Moralis 这样的区块链索引器。借助我们最先进的 Web3 API,您只需几行代码即可轻松获得解码的、富有洞察力的数据。如果您想了解有关其工作原理的更多信息,请继续阅读!
探索 Moralis – 查询链上数据的最简单方法
Moralis 是业界领先的 Web3 数据提供商。我们提供多种节点和十多个特定于用例的 API,包括 Wallet API、NFT API、Token API 等主要接口。因此,无论您是构建加密钱包、DeFi 平台还是任何其他项目,使用 Moralis,您都可以无缝简化 dapp 的链上数据集成!
但是为什么你应该利用 Moralis 作为你的 Web3 数据提供商?
一次调用 – 所有数据: Moralis 拥有业界最全面的 API 响应,让您用更少的调用获得更多数据。这让您能够更快、更高效地构建 dapp。
跨链:我们的 API 完全跨链,支持 20 多个区块链网络。其中包括以太坊、Polygon、BNB Smart Chain、Optimism、Base 等。因此,使用我们的 API,您可以轻松简化开发人员体验,因为您不必为每个链寻找新的提供商。
值得信赖: 100,000 多名开发人员和领先的 Web3 企业(如 MetaMask、Blockchain.com、Delta 等)已经在使用并信任 Moralis。
尽管如此,这还是让您对 Moralis 有了大致了解。现在让我们更深入地了解我们的三个 Web3 API,以进一步突出 Moralis 的优势!
钱包 API
对于任何想要将钱包数据集成到 dapp 的人来说, Wallet API都是首选接口。通过单一端点,您可以利用此 API 获取任何钱包的历史记录、代币余额、盈利能力、净值等!
为了强调这个顶级工具的可访问性,我们现在将向您展示如何无缝获取任何钱包的历史记录:
只需用您的 Moralis 密钥替换YOUR_API_KEY
,配置查询参数,然后运行脚本即可。作为回报,您将获得一份全面的响应,其中包含钱包的完整历史记录,包括每个事件的地址标签、类别标签、摘要等:
代币 API
Token API是 ERC-20 数据的首选接口。只需几行代码,您就可以使用此工具轻松获取代币余额、价格、元数据等!
为了演示 Token API 的强大功能,我们现在将向您展示如何使用价格数据获取钱包的代币余额:
替换YOUR_API_KEY
,配置查询参数,然后执行代码。作为回报,您将获得相关钱包持有的所有代币,以及价格、价格随时间的变化等。因此,通过一个端点,您可以获得构建全面投资组合视图所需的所有数据:
NFT API
Moralis 的NFT API是业界排名第一的 NFT 数据工具,为您提供构建强大的基于 NFT 的 dapp 所需的一切。使用此 API 只需一次 API 调用即可获取 NFT 余额、价格、元数据等!
为了强调使用 NFT API 的可访问性,我们现在将向您展示如何获取任何 NFT 的元数据:
替换YOUR_API_KEY
为您的 Moralis API 密钥,配置查询参数,然后运行脚本。作为回报,您将获得 NFT 的元数据。它应该看起来像这样: