Skip to main content

安装

默认启用 rpc 特性。

构建客户端

以下示例启用全部选项:
大多数选项都有合理默认值。最简配置:

构建器方法

.url(url) — 发送请求的主端点。若未设置,SDK 会读取环境变量 ORBITFLARE_RPC_URL
.urls(&[...]) — 一次设置主端点与所有备用端点。第一个元素为主端点,其余为备用。
.fallback_url(url) — 添加单个备用端点。可多次调用以添加多个。主端点失败时,SDK 按顺序尝试备用端点。
.fallback_urls(&[...]) — 与 fallback_url 相同,但接受切片。
.api_key(key) — OrbitFlare 许可证密钥。若未设置,SDK 从环境读取 ORBITFLARE_LICENSE_KEY。密钥在请求时注入 URL,不会存储在端点字符串中。
.commitment(level) — 所有类型化辅助方法的默认承诺级别。可选:"processed""confirmed""finalized"。默认为 "confirmed"
.retry(policy) — 控制失败请求的重试策略。initial_delay 为首次重试前等待时间。multiplier 为每次尝试的延迟倍数。max_delay 为上退避上限。max_attempts 限制每个端点的总重试次数(0 表示无限)。默认:初始 100ms、最大 30s、2 倍乘数、无限次尝试。
.timeout(duration) — 单次 HTTP 请求超时。默认 30 秒。

可用 RPC 方法

get_slot()

返回当前槽位号。

get_balance(address)

返回账户余额(lamports)。

get_account_info(address)

返回完整账户数据;若账户不存在则返回 None。数据为 base64 编码。

get_multiple_accounts(addresses)

一次调用获取多个账户。自动按每批 100 个地址分块(Solana 单次请求限制),因此可传入任意数量地址。

get_latest_blockhash()

返回最新区块哈希及其有效截止的最后区块高度。

get_transaction(signature)

按签名拉取已确认交易。返回含元数据的完整交易。

get_signatures_for_address(address, limit)

返回某地址的最近交易签名,按时间从新到旧。

get_program_accounts(program_id)

返回某程序拥有的全部账户。可能返回大量数据。

get_recent_prioritization_fees(addresses)

返回一组账户的近期优先费用样本。可用于估算计算单元定价。

send_transaction(tx_base64)

向网络提交已签名交易。参数为 base64 序列化交易。返回交易签名。

simulate_transaction(tx_base64)

模拟交易而不提交。返回日志、消耗的计算单元及任何错误。

get_token_accounts_by_owner(owner, mint, program_id)

返回钱包的代币账户。可传入特定 mint 或代币程序 ID。若两者均为 None,默认使用 SPL Token 程序。

get_transactions_for_address(address, options)

OrbitFlare 特有方法:将 getSignaturesForAddressgetTransaction 合并为一次调用。返回 GetTransactionsResult,包含 data 数组及用于下一页的可选 pagination_token 支持四种详情级别(signaturesnoneaccountsfull)、双向排序、时间/槽位过滤、状态过滤及代币账户包含选项。

request(method, params)

按名称调用任意 RPC 方法。SDK 构建 JSON-RPC 信封,处理重试与故障转移,并返回 result 字段。

request_raw(body)

发送原始 JSON-RPC 请求体字符串。重试与故障转移行为与其他方法相同。

完整示例

以下脚本检查网络状态、查询钱包 SOL 余额与代币持仓,并查看最近交易。