Logo
新用户订阅 RPC,首月享 6.5 折优惠查看优惠
RPC Assistant

什么是 Stellar 节点?如何连接到网络?

摘要

Stellar 节点是运行 Stellar 网络的服务器,负责验证交易和维护账本。本文解释了不同的节点类型、如何运行节点,以及如何使用 RPC 端点将您的应用程序连接到网络。

快速决策指南:您需要运行 Stellar 节点还是仅连接一个?

在深入了解节点类型和设置之前,先问问自己实际需要什么。大多数应用程序不需要运行 Stellar 节点。如果您正在构建钱包、交易所集成或支付应用,您需要可靠地访问网络数据并能够提交交易。运行自己的节点可以让您完全控制并保护数据隐私,但会带来运维开销:同步、监控以及跟上协议升级。

如果您刚刚起步或流量适中,使用像 OnFinality 的 Stellar RPC 这样的托管 RPC 服务是最快的途径。您将获得用于测试的公共端点和用于生产的可扩展访问,而无需管理基础设施。如果您有严格的数据驻留或合规要求,或者预期请求量非常高,那么专用节点可能值得投入成本。对于大多数团队来说,决策归结为:您是想将工程时间花在节点运维上,还是花在产品上?

什么是 Stellar 节点?

Stellar 节点是运行 Stellar Core 软件的计算机,该软件实现了 Stellar 共识协议(SCP)。节点之间相互通信以就账本状态达成一致。与工作量证明或权益证明网络不同,Stellar 使用联邦拜占庭协议系统。每个节点选择一组受信任的验证节点,称为 quorum slice,当足够多的节点达成一致时即达成共识。

节点可以扮演不同的角色:

  • 验证节点:通过提议和投票交易集参与共识。验证节点是网络达成一致的骨干。
  • 全节点:维护账本的完整副本并验证所有交易,但不一定参与共识。全节点向客户端提供数据并有助于网络健康。
  • 归档节点:存储历史账本数据,使新节点能够从快照同步,并为分析提供数据。

对于大多数开发者来说,节点类型的区别不如访问方式重要。您通过 API 与网络交互,通常是 Horizon 或 Soroban RPC,我们将在下面介绍。

Stellar 节点类型比较

节点类型角色资源要求典型用例
验证节点参与共识高 CPU、网络和存储网络安全和治理
全节点账本副本和数据服务中到高存储运行自己的 Horizon 实例
归档节点历史数据存储非常高的存储分析、合规和快照

验证节点对网络运行至关重要,但大多数开发者不需要运行它们。对于希望自托管 Horizon 或需要直接访问账本数据的团队来说,全节点更常见。归档节点用于专门的用例。

如何运行 Stellar 节点

运行 Stellar 节点涉及安装 Stellar Core 并配置其连接到网络。该过程在官方 Stellar 文档中有详细说明,但以下是高级概述。

前提条件

  • 一台至少 8 GB RAM 和几百 GB 存储空间的服务器(账本会随时间增长)。
  • 如果您想参与网络,需要一个公共 IP 地址。
  • 基本熟悉 Linux 和命令行工具。

安装步骤

  1. 安装 Stellar Core:您可以下载预编译的二进制文件或从源代码构建。官方文档提供了各种操作系统的说明。
  2. 配置 stellar-core.cfg:此文件包含您节点的身份、网络设置和 quorum set。您需要指定网络口令(例如,主网的 Public Global Stellar Network ; September 2015)。
  3. 与网络同步:初始同步可能需要数小时或数天,具体取决于您的硬件和网络速度。您可以使用归档节点的快照来加速此过程。
  4. 运行 Horizon:如果您想为应用程序提供 HTTP API,您还需要运行 Horizon,它连接到 Stellar Core 并索引数据。

以下是一个 stellar-core.cfg 的最小示例片段:

[NETWORK]
NETWORK_PASSPHRASE="Public Global Stellar Network ; September 2015"

[QUORUM_SET]
VALIDATORS="GCGB2S2KjARzYHe1i4EsnDWxFiUlytK8vH8D2UfJ7VvH4ZqYg"

[HTTP]
PORT=11626

这是一个简化的示例。实际上,您需要在 quorum set 中包含更多验证节点,并配置数据库连接。

连接 Stellar:Horizon 和 Soroban RPC

一旦您运行了节点(或使用第三方服务),您就可以通过 API 与 Stellar 交互。两个主要接口是:

  • Horizon:一个 RESTful API,提供对账户、交易和账本数据的访问。这是在 Stellar 上构建的传统方式。
  • Soroban RPC:一个 JSON-RPC API,用于与 Soroban 智能合约交互,随 Soroban 升级引入。

大多数开发者使用 Horizon 进行基本操作,使用 Soroban RPC 进行合约交互。如果您使用托管提供商,您将获得两者的端点。

例如,要通过 Horizon 获取账户详细信息,您可以使用简单的 curl 命令:

curl https://horizon.stellar.org/accounts/GAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAWHF

将地址替换为真实地址。这将返回包含账户余额、序列号和其他数据的 JSON。

Stellar RPC 端点和配置

当您使用第三方 RPC 提供商时,通常会获得一个指向 Horizon 或 Soroban RPC 实例的 URL。OnFinality 提供一个公共 Stellar 端点,您可以在开发中使用。对于生产环境,您应该注册 API 密钥以获得更高的速率限制和可靠性。

OnFinality 公共 Stellar 端点的基本 URL 是 https://stellar.rpc.onfinality.io。您可以根据服务附加 Horizon 或 Soroban RPC 的路径。例如,要进行 Soroban RPC 调用,您可以使用:

curl -X POST https://stellar.rpc.onfinality.io/rpc \
  -H "Content-Type: application/json" \
  -d '{"jsonrpc":"2.0","id":1,"method":"getHealth","params":[]}'

这是一个简单的健康检查。确切的方法和路径在 Stellar 开发者文档中有记录。

使用 Stellar 节点时的常见陷阱

即使使用托管服务,您也可能遇到问题。以下是一些常见陷阱以及如何避免它们:

  • 使用错误的网络:Stellar 有主网和测试网(称为 Futurenet)。确保您的配置使用正确的网络口令和端点。
  • 速率限制:公共端点通常有速率限制。如果您发出许多请求,请使用专用端点或添加缓存。
  • Horizon 游标和分页:在流式传输交易时,您需要正确处理分页。使用 cursor 参数以避免错过事件。
  • Soroban RPC 方法差异:Soroban RPC 是 JSON-RPC,但方法与以太坊的不同。请参阅官方文档。

关键要点

  • Stellar 节点运行 Stellar Core 并参与共识或提供数据。
  • 大多数应用程序不需要运行节点;使用托管 RPC 服务更简单。
  • Horizon 是用于账户和交易的 REST API;Soroban RPC 用于智能合约。
  • 选择提供商时,请考虑速率限制、正常运行时间以及对 Horizon 和 Soroban RPC 的支持。
  • OnFinality 提供公共和专用 Stellar 端点;查看 RPC 定价支持的网络 了解详情。

常见问题解答

Stellar 节点和验证节点有什么区别?

验证节点是参与共识的节点。所有验证节点都是节点,但并非所有节点都是验证节点。全节点和归档节点提供数据,但不一定投票。

同步 Stellar 节点需要多长时间?

初始同步可能需要几个小时到几天,具体取决于您的硬件和网络。使用归档节点的快照可以显著减少此时间。

我可以在笔记本电脑上运行 Stellar 节点吗?

从技术上讲可以,但不推荐。账本很大且不断增长。您需要一台具有可靠存储和网络连接的服务器。

什么是 Soroban RPC?

Soroban RPC 是一个 JSON-RPC API,用于与 Stellar 上的 Soroban 智能合约交互。它允许您提交交易、读取合约状态和模拟合约调用。

如何选择运行自己的节点还是使用托管服务?

如果您需要完全控制、数据隐私或流量非常高,专用节点可能值得。对于大多数项目,像 OnFinality 这样的托管服务在成本和可靠性之间提供了良好的平衡。评估您团队的运维能力和应用程序的需求。

RPC 知识库

相关 RPC 内容

测试网 RPCSui

Sui 测试网 RPC 与 gRPC:端点、水龙头与开发者配置

Sui 测试网 RPC 为开发者提供了以 gRPC 为先的途径来查询检查点、对象和余额;模拟和执行交易;并使用 OnFinality 托管端点流式传输实时活动。现代工作流使用 LedgerService 获取检查点数据,使用 StateService 读取对象和余额,使用 TransactionEx...

网络 RPCSui

如何为您的 dApp 设置自定义 Sui RPC 端点

了解如何为您的 dApp 配置自定义 Sui RPC 端点,无论您使用的是公共端点、像 OnFinality 这样的托管提供商,还是您自己的节点。本指南涵盖端点配置、JSON-RPC 示例以及常见的故障排除步骤,以确保您的 Sui 应用程序保持可靠。...

网络 RPCMoonriver

Moonriver RPC:端点、配置与最佳实践

Moonriver 是 Kusama 上兼容以太坊的金丝雀网络,适合在部署到 Moonbeam 之前测试 dApp。本指南涵盖 Moonriver RPC 端点、如何配置钱包和工具,以及如何为生产环境选择可靠的 RPC 提供商。...

区块链基础设施

公共RPC节点:何时依赖免费端点以及何时升级

公共RPC节点是免费、共享的端点,允许任何人无需运行自己的节点即可与区块链交互。它们非常适合原型开发和测试网,但在生产负载下可能因速率限制和停机而变得不可靠。本文帮助您评估何时公共RPC足够,以及何时应切换到专用或私有RPC服务。...

网络 RPCOptimism

Optimism API:它是什么以及如何在 OP Mainnet 上使用

Optimism API 是一组 JSON-RPC 端点,允许应用程序在 OP Mainnet(一个基于乐观汇总构建的以太坊 Layer 2)上读写数据。它遵循与以太坊相同的 JSON-RPC 标准,因此您可以使用熟悉的库(如 ethers 或 viem)与链进行交互。本文解释了什么是 Optimi...

网络 RPCTON

RPC TON Network: Endpoints, Provider Comparison, and Troubleshooting

Looking for an RPC TON network endpoint? This guide compares TON RPC providers, provides step-by-step setup instructions, and highlights common pitfal...

永远不用担心基础设施

OnFinality 消除了 DevOps 的繁重工作,让您能够更聪明、更快地构建。

开始