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

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

摘要

# 什么是 Stellar RPC,如何使用它? Stellar RPC(远程过程调用)是与 Stellar 区块链网络交互的标准接口。它允许开发者以编程方式查询账本数据、提交交易和管理账户。Stellar 的 RPC API 与兼容以太坊的 JSON-RPC 不同;它使用基于 RESTful 原则构建的自定义 Horizon API,但也支持用于智能合约交互的 Soroban RPC。本指南涵盖了在 Stellar 上构建所需的基本端点、身份验证和最佳实践。 无论您是在构建支付应用、去中心化交易所还是 Soroban 上的智能合约,可靠的 RPC 访问都至关重要。OnFinality 提供托管式 Stellar RPC 端点,具有高可用性和低延迟,支持 Horizon 和 Soroban RPC 用于生产工作负载。

关键要点

  • Stellar RPC 主要通过 Horizon REST API 和用于智能合约的 Soroban RPC 访问。
  • Horizon 端点允许查询账户、交易、报价和账本数据。
  • Soroban RPC 使用 JSON-RPC 实现合约部署、调用和事件检索。
  • 公共 Stellar RPC 端点通常不需要身份验证,但存在速率限制。
  • 对于生产应用,使用托管式 RPC 提供商(如 OnFinality)可确保可靠性和可扩展性。
  • Stellar 测试网可用于开发,可通过专用测试网 RPC 端点访问。
  • 选择共享还是专用 RPC 节点取决于您的吞吐量和延迟要求。

理解 Stellar RPC:Horizon 与 Soroban

Stellar 提供两种主要的 RPC 接口:Horizon 和 Soroban RPC。Horizon 是一个 RESTful API,提供对核心 Stellar 网络数据(如账户、交易和账本条目)的访问。它是传统支付和资产操作中最常用的与 Stellar 交互的方式。

Soroban RPC 是为 Stellar 的智能合约平台引入的 JSON-RPC 接口。它允许开发者部署和调用合约、查询合约状态以及订阅合约事件。Soroban RPC 紧密遵循以太坊 JSON-RPC 规范,但使用 Stellar 特定的方法。

这两种接口对于在 Stellar 上构建都至关重要。OnFinality 同时支持 Horizon 和 Soroban RPC 端点,确保您拥有满足所有 Stellar 开发需求的单一提供商。

  • Horizon:用于账户、交易、报价和账本数据的 RESTful API。
  • Soroban RPC:用于智能合约部署和调用的 JSON-RPC。
  • 两者均可在主网和测试网上使用。

关键 Horizon 端点

Horizon 提供了广泛的端点用于与 Stellar 网络交互。以下是一些最常用的端点。

  • List the exact RPC methods, chains, and environments your app will call.
  • Test with the same request pattern your frontend, backend, bot, dashboard, or indexer will use.
  • Check whether archive, trace, WebSocket, testnet, analytics, or dedicated-node access is actually required.
  • Review pricing, usage visibility, and upgrade paths before moving sustained traffic.
标准检查内容为什么重要
端点GET /accounts/{account_id}检索账户详情、余额和序列号。
端点GET /transactions/{hash}获取交易详情,包括费用、备注和操作。
端点POST /transactions向网络提交已签名的交易。
端点GET /ledgers/{sequence}查询账本头部和元数据。
端点GET /offers/{offer_id}检索去中心化交易所上特定报价的详情。

Soroban RPC 方法

Soroban RPC 公开了类似于以太坊 JSON-RPC 的方法。关键方法包括:

  • getHealth:检查 RPC 节点是否同步且健康。
  • getLedgerEntry:检索特定的账本条目(合约代码、合约数据等)。
  • sendTransaction:提交已签名的 Soroban 交易。
  • getTransaction:获取已提交交易的状态和结果。
  • simulateTransaction:模拟合约调用以估算费用并验证。
  • getEvents:按主题或合约 ID 查询合约事件。
标准检查内容为什么重要
EndpointGET /accounts/{account_id}Retrieve account details, balances, and sequence number.
EndpointGET /transactions/{hash}Get transaction details including fee, memo, and operations.
EndpointPOST /transactionsSubmit a signed transaction to the network.
EndpointGET /ledgers/{sequence}Query ledger header and metadata.
EndpointGET /offers/{offer_id}Retrieve details of a specific offer on the decentralized exchange.

身份验证和速率限制

公共 Stellar RPC 端点(Horizon 和 Soroban)通常不需要身份验证。但是,它们会实施速率限制以防止滥用。例如,Stellar 开发基金会的公共 Horizon 实例允许每个 IP 每秒最多 10 个请求。Soroban RPC 端点可能有类似或更严格的限制。

对于生产应用,依赖公共端点存在风险,因为可能遇到限流或停机。使用托管式 RPC 提供商(如 OnFinality)可提供更高的速率限制、专用吞吐量和 support terms 保障的可用性。OnFinality 还提供用于身份验证和使用跟踪的 API 密钥。

  • getHealth: Check if the RPC node is synced and healthy.
  • getLedgerEntry: Retrieve a specific ledger entry (contract code, contract data, etc.).
  • sendTransaction: Submit a signed Soroban transaction.
  • getTransaction: Get the status and result of a submitted transaction.
  • simulateTransaction: Simulate a contract invocation to estimate fees and validate.
  • getEvents: Query contract events by topic or contract ID.

选择共享还是专用 Stellar RPC

共享 RPC 端点成本效益高,适用于开发、测试和低流量应用。它们跨多个用户共享资源,在高峰使用期间可能导致性能波动。

专用 Stellar 节点提供隔离的基础设施,具有保证的性能、无速率限制以及对节点配置的完全控制。它们非常适合高吞吐量应用、交易所或需要持续低延迟的服务。

OnFinality 提供共享和专用 Stellar RPC 选项。您可以从共享端点开始,随着应用增长升级到专用端点。

Stellar RPC 集成的最佳实践

集成 Stellar RPC 时,请遵循以下最佳实践以确保可靠性和效率。

  • 使用连接池和重试逻辑来处理临时故障。
  • 监控您的速率限制使用情况,如果持续达到限制,请升级到专用节点。
  • 缓存频繁访问的数据(例如账户详情)以减少 RPC 调用。
  • 对于 Soroban,始终在提交前模拟交易以捕获错误并估算费用。
  • 在部署到主网之前,使用测试网进行开发和预发布。
  • 选择具有全球边缘缓存的提供商以最小化延迟。

开始使用 OnFinality Stellar RPC

OnFinality 为 Horizon 和 Soroban 提供托管式 Stellar RPC 端点。要开始使用:

1. 注册 OnFinality 账户并导航到 Stellar 网络页面。 2. 获取您的 API 端点 URL 和可选的 API 密钥。 3. 配置您的应用以使用该端点,如果需要,设置适当的身份验证标头。 4. 使用您首选的 HTTP 客户端或 SDK 开始发送请求。 OnFinality 端点针对低延迟和高可用性进行了优化,具有自动故障转移和负载均衡。

  • 即时访问 Stellar 主网和测试网 RPC。
  • 支持 Horizon REST 和 Soroban JSON-RPC。
  • 可从共享节点扩展到专用节点。
  • 全天候监控和支持。

Getting Started with OnFinality Stellar RPC

OnFinality provides managed Stellar RPC endpoints for both Horizon and Soroban. To get started:

1. Sign up for an OnFinality account and navigate to the Stellar network page. 2. Obtain your API endpoint URL and optional API key. 3. Configure your application to use the endpoint, setting appropriate headers for authentication if required. 4. Start making requests using your preferred HTTP client or SDK. OnFinality endpoints are optimized for low latency and high availability, with automatic failover and load balancing.

  • Instant access to Stellar mainnet and testnet RPC.
  • Supports both Horizon REST and Soroban JSON-RPC.
  • Scalable from shared to dedicated nodes.
  • 24/7 monitoring and support.

常见问题

Horizon 和 Soroban RPC 有什么区别?

Horizon 是用于核心 Stellar 网络操作(账户、交易、报价)的 RESTful API。Soroban RPC 是用于 Soroban 平台上智能合约交互的 JSON-RPC 接口。

使用 Stellar RPC 需要 API 密钥吗?

公共 Stellar RPC 端点通常不需要 API 密钥,但它们有速率限制。像 OnFinality 这样的托管提供商可能提供 API 密钥以获得更高的限制和使用跟踪。

我可以将 Stellar RPC 用于 Soroban 智能合约吗?

是的,Soroban RPC 专门设计用于在 Stellar 上部署和调用智能合约。它提供了 sendTransaction、simulateTransaction 和 getEvents 等方法。

Stellar RPC 的速率限制是多少?

公共端点通常限制为每个 IP 每秒 10 个请求。托管提供商提供更高的限制,或者通过专用节点提供无限制访问。

如何选择共享还是专用 Stellar RPC?

共享 RPC 适用于开发和低流量应用。对于具有高吞吐量或低延迟要求的生产应用,建议使用专用 RPC。

RPC 知识库

相关 RPC 内容

网络 RPCArbitrum

Arbitrum 公共 RPC:端点、链设置和提供商选择

Arbitrum One 和 Arbitrum Sepolia 的公共 RPC 端点让开发者无需运行节点即可连接钱包和 dApp。本文涵盖官方端点、链设置,以及如何评估公共与托管 RPC 提供商以用于生产工作负载。...

RPC 提供商选择zkSync

ZKsync 正常运行时间:监控什么以及如何保持 dApp 的弹性

ZKsync 正常运行时间指的是 ZKsync 网络及其 RPC 端点的可用性。虽然网络的官方状态页面跟踪排序器和 API 的健康状况,但您的 dApp 的可靠性还取决于您的 RPC 提供商的冗余和故障转移策略。本文解释了要监控什么、如何评估提供商,以及如何在您的技术栈中构建弹性。...

网络 RPCEfinity

什么是 Solana 专用节点,何时应该使用?

Solana 专用节点是一个单租户 RPC 端点,为您的应用程序提供对 Solana 节点的独占访问,避免共享基础设施的速率限制和嘈杂邻居效应。它非常适合需要一致性能的高吞吐量交易机器人、数据分析和生产级 dApp。本文解释了专用节点与共享节点和自托管节点的区别,并提供了实用的决策指南,帮助您为工作...

测试网 RPCZenChain

如何获取 ZenChain 测试网 ZTC 代币:水龙头指南与 RPC 配置

# 如何获取 ZenChain 测试网 ZTC 代币:水龙头指南与 RPC 配置 ZenChain 是一个与比特币对齐的 Layer 1 区块链,结合了比特币的安全性与以太坊兼容的可编程性。要在 ZenChain 测试网上构建和测试 dApp,你需要测试网 ZTC 代币作为 gas 费用。本指南涵盖...

网络 RPCpeaq

Peaq RPC:如何连接DePIN Layer 1

# Peaq RPC:如何连接DePIN Layer 1 Peaq 是一个基于 Substrate 构建的 Layer 1 区块链,作为 Polkadot 平行链运行,专为去中心化物理基础设施网络(DePIN)和机器经济设计。它提供双执行环境——兼容 EVM 的智能合约和 Substrate pal...

测试网 RPCSolana

Solana Devnet:开发者测试与构建完整指南

# Solana Devnet:开发者测试与构建完整指南 Solana Devnet 是一个公共测试网络,专为开发者构建、部署和调试 Solana 程序而设计,无需使用真实的 SOL。它紧密模拟主网行为,但使用无货币价值的测试代币。本指南涵盖您入门所需的一切:连接 Devnet、获取测试 SOL、选...

永远不用担心基础设施

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

开始