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 内容

网络 RPCTON

什么是 TON RPC,如何使用它?

# 什么是 TON RPC,如何使用它? TON(The Open Network)是一个为高可扩展性和与 Telegram 深度集成而设计的 layer-1 区块链。与 EVM 链不同,TON 采用独特的分片和异步智能合约架构。要从 Web 应用程序与 TON 交互,需要一个 RPC(远程过程调用...

网络 RPCKava

Kava API 端点:开发者需要了解的内容

Kava 结合了 Cosmos SDK 和以太坊虚拟机 (EVM) 兼容性,提供多种 API 接口:Tendermint RPC、EVM JSON-RPC、REST API 和 WebSocket 端点。本文解释了可用的端点类型、如何连接以及为生产环境 dApp 选择 Kava API 提供者时需评...

网络 RPCKaia

什么是 Kaia RPC 端点以及如何连接到 Kaia?

Kaia 是一个企业级 L1 区块链,拥有主网(Cypress)和测试网(Kairos)。开发人员可以使用公共 RPC 端点进行测试,但生产级应用通常需要专用提供商来确保可靠性和应对速率限制。本指南涵盖了可用的端点、提供商选项,以及如何为您的 Kaia 项目选择合适的基础设施。...

网络 RPCKaia

Klaytn API:开发者应了解哪些关于RPC、KAS和节点基础设施的内容?

Klaytn(现已更名为Kaia)是一个兼容EVM的Layer 1区块链。开发者可以通过JSON-RPC端点、用于更高级REST API的Klaytn API服务(KAS)或专用节点基础设施与之交互。本指南涵盖这些选项之间的差异、如何连接,以及在选择API提供商时应评估哪些方面。...

网络 RPCAcala

什么是Acala Network,如何连接?

Acala Network是基于Polkadot构建的去中心化金融(DeFi)中心,提供跨链流动性、流动性质押和EVM兼容的智能合约平台。本指南涵盖Acala的架构、如何通过RPC端点连接,以及开发者在Acala上构建时的关键考量。...

网络 RPCBNB Chain

BSC API:端点、方法与开发者设置

BSC API(BNB智能链API)是一组JSON-RPC端点,允许开发者与BSC网络交互。本参考涵盖端点类型、常用方法、设置步骤以及生产环境工作负载的故障排除技巧。...

永远不用担心基础设施

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

开始